现代前端技术体系,你怎么看

本贴最后更新于 1880 天前,其中的信息可能已经时移世易

前端技术发展太快了,是良性发展么?

一个是 Tom MacWright 对现代前端的二次思考,吐槽框架给当代前端带来的一些问题

https://macwright.org/2020/05/10/spa-fatigue.html

一个是捍卫现代前端技术体系

https://dev.to/richharris/in-defense-of-the-modern-web-2nia

有的人认为当代前端技术体系,比如 Vue、React 等框架,带来的困惑就是工具或构建过程的复杂程度越来越高了,不像以前直接谢谢 HTML、CSS、JS,再加上一个 nginx,基本上完成了网页开发。(表达的意思就是目前开发者更要关注构建、配置等)

我个人理解目前的三大框架都是非常休息的,基本上隐藏了配置构建复杂性

但因为我不是构建专家,所以当我需要定制化配置的时候,就需要了解构建工具,包括 Babel 转化等等,我不是专家,所以当我需要了解的时候,我会话很多时间,并且很头疼~trollface

image.png


很好奇,大家对于当代前端技术体系有什么想法么?

当代前端技术发展走错了路么

单选 公开 永不结束 27 票
错误
7% 2 票
没错
37% 10 票
看不清
55% 15 票

  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    246 引用 • 1338 回帖
  • 思考
    29 引用 • 120 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    10138 引用 • 46068 回帖 • 64 关注
1 操作
Rabbitzzc 在 2020-05-21 09:58:35 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone48938 1 via Linux

    前端真的很迷,完全看不清。

    之前放弃搞前端就是因为感觉前端需要做太多繁琐但是收益不大的事情,搞起来很难受wulian

  • 88250 1 赞同 2 评论

    考虑语言种类在内,前端框架不是太多而是太少了。

    语言毕竟离不开三剑客,这是网页基础,不过最近的 webAssembly,flutter 也算是领域的扩展吧
    Rabbitzzc
    讨论的点倒不是框架数量,而是现代框架对网页的优点与缺点,比如框架导致了高度交互失去?不过我倒不认可这点
    Rabbitzzc
  • someone1764 via Linux

    我想看龙姐怎么选 @Vanessa

    1 回复
  • Vanessa 1 8 评论 via macOS

    楼主想说的应该是当代前端框架吧,个人一直的观点就是自己需要长期维护的项目尽量不要使用。

    当代前端的发展从原生 JavaScript 规范,浏览器特性,electron,node.js 方面来说应该是非常不错了,相信以后会更好。

    当前三大框架的缺点,也是 Svelte 框架想要解决的问题,不过感觉前路漫漫
    Rabbitzzc
    长期维护的项目不要使用前端框架,而是使用自己写的原生代码吗?
    someone1764
    @mymoshou 是啊,十年以后这些框架不流行了怎么办?
    Vanessa 1
    @Vanessa 你有没有考虑过 html 、js、css 十年后不流行了怎么办?
    someone9891
    @Vanessa 不流行了是不是得选择重构或者迁移呢?
    Rabbitzzc
    @gitors 十年后发现这个世界都是虚幻的怎么办?
    Vanessa
    @Rabbitzzc 十年的系统已经千疮百孔,修修补补吧
    Vanessa
    @gitors 这个不现实,网站的根基 root,分支任你走,根基跑不了
    Rabbitzzc
  • someone9891 1 1 赞同 via macOS

    请问洗衣机的发展错了吗?

    以前洗衣服都去河边,要么搓衣板、要么棒子捶,现在多复杂,甚至有些智能的光操作都得学几天,还要用店,对家里的装修、水路、地漏都有一定的要求,请问洗衣机的发展是良性的吗?

  • zhangle1

    长久来说,我们都死了trollface 。谁管后人呢,先自己玩爽了再说。

  • someone27889 via macOS

    正常情况下 babel 应该没有 ,

    umd ,commonjs 类似这种应该没有

    缺乏统一思想,就像爬山虎一样

  • wizardforcel 1 赞同 via Android

    w3c 对于页面的理解过时了,页面的本质是应用(类似 app),不是文档(类似 word)。至少 h5 之后就不是了。

    三大框架的任务就是填平这个 gap。说白了就是把 dom api 封装成一个 mvvm 框架那样。

    三大框架的问题一部分是时代性的,比如命名不统一,应用模型不统一,他们也想知道最好的模式是什么。还有一部分是底层 api 不给力,这个如果 w3c 那边不变,还会一直别扭。

  • wizardforcel 1 2 赞同 via Android

    如果你觉得前端应该像以前那样,那就去写 ppt 吧,你拿相似的工具应该能完成相似的任务,毕竟一个人拿着锤子看什么都是钉子。

    别人想进步也好,修复已有的缺陷也好,不应该阻拦别人探索。所以你为啥不愿意用 dom api 写一个页面?还不是因为这些 mvvm 框架方便嘛。

  • Rabbitzzc via macOS

    下面的答案都挺好,都是思想的碰撞

  • 8823 1 评论 via macOS

    终究会走向统一,请珍惜百家争鸣的时代。

    持续保持统一,开发人员统一了,就会觉得枯燥了
    Rabbitzzc
  • lanesun via Linux

    个人观点

    前端的发展速度是很快,但大概没有楼主想像的那么快,一个行业的发展速度,是由行业标准和准标准的事物决定的。那么对于前端来说,它的发展其实取决于前端各个技术的标准以及 jQuery、Vue 这一类的流行框架,如果以 2010 年左右作为前端兴起的开始时间来算的话,其实并没有网络上所说的那么快速,虽然相比而言还是很快的。

    对于楼主所问的“前端有没有走错路”,个人的回答是暂时还没有。因为目前来看,构建网页所使用的技术还是完全可以自己决定的,就算不使用大框架自己构建也是完全可以的,同时各个技术标准也维持在良好的状态。所以现在的前端拥有很多种类的技术并且没有限制程序员使用哪一种,并没有走错路,反而是一个比较好的状态。

    对于楼主所引用的二次思考那篇文章我也是认同的(另一篇感觉好偏激没有去看),那一篇文章从两个角度说明了当下几个大型框架的缺陷,同时对现代程序员的滥用行为作了批判。但是,如你所看到的,他并没有提及前端走错了方向。当下的前端依然是兼容并包的,出现问题不是前端,甚至本身有缺陷的大型库们也没有错,毕竟没有哪种库是开发出来应对所有情况的。那么最终的问题在于大多数程序员/行业的使用方式,公司及个人不加任何思考就使用大型框架作为开发基础才是应该纠正的地方,这一现象在国内尤其明显。

    就如玩游戏上瘾的人固然有责任,但开发游戏的公司如果刻意去引导成瘾的话也是不对的一样。有些框架也许促成了当下的一些行为,比如 Vue——Vue 跨越的领域太多了,导致用户产生了“用它的话什么都可以做”的错觉,可以做和适合做是不一样的,个人认为,特别是这些大型框架的贡献者们,在拓展它们的适用领域的时候应该好好考虑一下。

    最后对楼主所引用的文章做一下补充,文章中所提到大型框架的影响分为技术方面和习惯方面,技术方面不作补充了,虽说有很多,但并不是我的专长而且也列举不来。习惯方面的话,和楼主所说的一样,大型框架普遍屏蔽了实现方面的细节,让使用者方便地进行开发,结果就是——对于不成熟的开发者,阻断了其对于底层和程序架构的学习动力,这也是如之前所说的为什么前端的开发人员数量巨大但是发展速度却没有预想的那么快速的原因:大多数人并没有促成前端的发展,只是在利用已有的前端技术完成任务而以;另外,即使对于大多数成熟的开发者来说,过多地使用大型框架也会阻断其对于新架构的创造力,就如同大家习惯了对象型编程后就很难想到其他编程模式一样。

请输入回帖内容 ...

推荐标签 标签

  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 133 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 726 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 533 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    947 引用 • 1460 回帖
  • 996
    13 引用 • 200 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    415 引用 • 3596 回帖 • 1 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 5 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 225 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 563 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 650 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 313 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 766 关注
  • V2Ray
    1 引用 • 15 回帖 • 5 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 573 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 39 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    4 引用 • 16 回帖 • 196 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 237 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 642 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    240 引用 • 224 回帖 • 1 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 643 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 682 关注