Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >说说前端未来几年的发展方向

说说前端未来几年的发展方向

作者头像
桃翁
发布于 2018-12-13 08:51:25
发布于 2018-12-13 08:51:25
1K0
举报
文章被收录于专栏:前端桃园前端桃园

在知乎上看到这么一个问题,觉得很有意思,以下是原提问者的见解

过去五年前端的发展过程基本上是一个工程化的过程,框架和工程化工具层出不穷。 近两年其实发展已经比较迟滞了。 框架方面:基本就是三大框架鼎立的局面,三大框架都在相互借鉴吸收,而且方向各有侧重,未来短时间内我看格局不可能有什么大变化. 工程化工具:基本上是 webpack 一统江湖的趋势,虽然有 parcel 等来小打小闹,但是生态一旦形成,没有革命性的项目是无法取代 webpack 的,而且 webpack 也在进化. 个人认为前面五年是前端生产力提高的五年,工程化使得前端的生产力得到了极大提升,但是现在也基本上是在已有的格局中修修补补了

我谈谈我对前端未来几年的发展方向的看法。

看未来的发展方向,无非就是看现在的解决方案所存在的痛点。

1. 浏览器的性能问题

做 web 前端的同学都知道,和原生的 App 相比,性能一直一个致命的痛点,如果要追求性能,肯定得用原生 App。那么在性能上,未来几年可能是一个方向。

①前端代码编译为字节码

浏览器这几年在 Chrome 的带动下,性能飞速发展,但毕竟其核心原理没有变化,性能始终难以达到原生 App 的水平,这部分是很有可能出现大的变化的,一个可能的方向就是浏览器变成虚拟机,前端代码编译为字节码,通过这种方式来将性能提升一个等级,虽然还是难以达到原生App的水平,但已经能够满足绝大部分应用的性能需求,类似于Java对比C/C++一样。 --李运华

因为 js 是边解释边执行的,这肯定是要比编译型语言要慢,为了解决解释器的低效问题,大概在 2008 年的时候,提出了 JIT 的概念,它是使 JavaScript 运行更快的一种手段(JIT,内联缓存和隐藏类)之一,通过监视代码的运行状态,把 hot 代码(重复执行多次的代码)进行优化。通过这种方式,可以使 JavaScript 应用的性能提升很多倍。

但是时至今日,还是觉得不够快,所以各大浏览器厂商开始支持 WebAssembly。WebAssembly 是一种新的字节码格式,主流浏览器都已经支持 WebAssembly。

和 JS 需要解释执行不同的是,WebAssembly 字节码和底层机器码很相似可快速装载运行,因此性能相对于 JS 解释执行大大提升。

也就是说 WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行.

他的优点就是:

  • 体积小:由于浏览器运行时只加载编译成的字节码,一样的逻辑比用字符串描述的 JS 文件体积要小很多;
  • 加载快:由于文件体积小,再加上无需解释执行,WebAssembly 能更快的加载并实例化,减少运行前的等待时间;

目前可以编译成为 WebAssembly 字节码有 :AssemblyScript(语法跟 TS 差不多,)、c\c++、Rust、Kotlin

②统一的DOM树限制了单线程的渲染

理论上来说,一个页面某个时间变化的部分只是集中在一小块区域,没有必要将整个DOM树锁住。因此,一个可能的方向是分区渲染,即将页面划分为几个不同的区域,每个区域有独立的DOM树,独立渲染,那么性能会高很多,类似于 App 开发中的组件,组件类的运行不影响其它组件,如果需要依赖其它组件,通过组件间消息进行通信。

原生 App 不同平台重新开发的痛点

现在的 web 有两大优势,一个是浏览完毕直接走人,另外一个是跨平台,只要有浏览器,一切都好说。

所以现在有很多 hybrid 解决方案,某些页面通过 h5 的方式来展现。

想解决的无非就是少花点成本,写一份代码,可以在 ios 和 Android 上都可以用,进而也出来了想 RN、weex、NativeScript 这类 Learn Once, Write Anywhere(RN提出来的) ,但是他们最终都会翻译成原生代码。

但是用过这些的人都知道,还有很多坑,经常调侃 rn 的就是 write once ,debug anywhere。

Learn Once, Write Anywhere 的理念,背后就是跨端的思想,所以也诞生出来 electron、PWA 为代表的案例。

而且现在出现了 Taro 、mpvue 这些 h5 与小程序的统一的方案,所以未来在突破写一份代码在 h5 ,原生 app、小程序,甚至桌面应用都有可能。

另外提醒

  1. 我很早就跟星球里的朋友们说过,TS 一定会在火的,现在用 TS 的感觉,让我感觉跟 vim 很像,刚开始用的时候很难受,一旦习惯了就离不开了。未来项目会越来越复杂,用了 TS 项目的风险会可控很多。
  2. 多注重框架原理,现在对于前端工程化,个人认为差不多到了瓶颈期,很难有新的突破,注重原理才能很好的应对未来的发展。
  3. 眼界放宽、拓宽自己知识的广度。

欢迎大家把自己对未来几年前端的看法在留言区讨论,以上仅为个人观点。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端桃园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2019年前端发展趋势分析
Vue 3 的 Class API 和 React 的写法几乎是一模一样,三大框架基本开始趋同,未来会更加像Web Components.
老马
2019/07/19
5640
一文读懂前端技术演进:盘点Web前端20年的技术变迁史
本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享。
JackJiang
2019/08/23
5.8K0
一文读懂前端技术演进:盘点Web前端20年的技术变迁史
2020年大前端发展趋势
迅速发展的前端开发,在每⼀年,都为开发者带来了新的关键词。2019 年已步⼊尾声,2020 年前端发展的关键词⼜将有哪些呢?发展的方向又会是什么呢?参考2019年大前端的发展,不出意外,前端依旧会围绕⼩程序、超级APP、跨端开发、前端⼯程化以及新技术运用等几个方面进行展开(可以参考2019年大前端技术趋势深度解读)。
xiangzhihong
2022/01/10
4430
Vugu:后端要抢前端程序员的饭碗了?[每日前端夜话0x99]
Vugu 是一个 Go语言开发库,可以很容易地使用 Go 语言编写 Web 用户界面。
疯狂的技术宅
2019/07/22
2.7K0
Vugu:后端要抢前端程序员的饭碗了?[每日前端夜话0x99]
近几年前端技术盘点以及 2016 年技术发展方向
Web 发展了几十个春秋,风起云涌,千变万化。我很庆幸自己没有完整地经历过这些年头,而是站在前人的肩膀上行走。Web 技术发展的速度让人感觉那几乎不是继承式的迭代,而是一次又一次的变革,一次又一次的创造。这几年的前端,更为之甚! 我从 12 年底开始接触前端,12 年之前的前端发展情况只能从上一辈的笔触中领会。本文会盘点从 09 年开始到 15 年间前端技术的革新,同时也会从多个角度,解读近几年前端技术发展的潜在因素,其中穿插了若干对前端演进的拙见,难免会有错误和疏漏,望读者可以补充和斧正。 那些年,一度追
用户1631416
2018/04/11
8920
WebAssembly完全入门——了解wasm的前世今身
接触WebAssembly之后,在google上看了很多资料。感觉对WebAssembly的使用、介绍、意义都说的比较模糊和笼统。感觉看了之后收获没有达到预期,要么是文章中的例子自己去实操不能成功,要么就是不知所云、一脸蒙蔽。本着业务催生技术的态度,这边文章就诞生了。前部分主要是对WebAssembly的背景做一些介绍,WebAssembly是怎么出现的,优势在哪儿。如果想直接开始撸代码试试效果,可以直接跳到最后一个板块。
SH的全栈笔记
2019/10/21
1.9K0
WebAssembly完全入门——了解wasm的前世今身
【华为分享】前端领域的转译打包工具链(下)
这是前端领域的转译打包工具链的第二篇文章,上篇文章讲了前端领域的各种转译器,包括 babel、tsc、terser、eslint、postcss、posthtml、swc 等,介绍了他们各自的用途和通用的原理,还有在项目中使用的 3 种方式:git hooks、ide 插件、打包工具的 loader 和 plugin。
卤代烃
2021/06/22
8390
【华为分享】前端领域的转译打包工具链(下)
Bundleless,前端工程构建的未来
Bundle or Bundleless?自 2015 年 ESM 标准发布后,路线之争就开始逐步升温。转眼间,时间已来到 2021 年。如果白酒的车你错过了,那么不妨看看 Bundleless,或许它就是前端圈的下一位「茅台」。
用户3806669
2021/07/06
6770
Bundleless,前端工程构建的未来
腾讯专家工程师:2020年,前端发展关键词有哪些?
导语 | 迅速发展的前端开发,在每一年,都为开发者带来了新的关键词。2019年已步入尾声,2020年,前端发展的关键词又将有哪些呢?云加社区特别邀请了腾讯TWeb大会出品人,为大家预测2020年前端发展关键词。
尾尾
2019/11/14
3.6K0
腾讯专家工程师:2020年,前端发展关键词有哪些?
云原生的下一步,或从WebAssembly在边缘取代Docker开始
过去几年,云计算的边界不断向边缘侧延伸。作为云原生技术事实标准的 Kubernetes+ 容器组合,自然也被很多人考虑部署到边缘侧,以提高边缘应用部署的效率和便利性,降低边缘应用与硬件之间的耦合度。不过 Kubernetes+ 容器组合并非万用良药,对于边缘计算场景来说,它们还是太重了。
深度学习与Python
2021/12/16
8020
云原生的下一步,或从WebAssembly在边缘取代Docker开始
111. 精读《前端未来展望》
前端展望的文章越来越不好写了,随着前端发展的深入,需要拥有非常宽广的视野与格局才能看清前端的未来。
黄子毅
2022/03/14
4000
2020 年大前端技术趋势解读
来源:腾讯IMWeb前端团队 时光荏苒,非比寻常的一年即将过去。在这过去的一年中,与其说前端的平稳期即将到来,不如说前端反而进入了技术深水区。换言之,在全栈和多端的影响下,前端领域里“术业有专攻”的时代已经到来。 如今的前端早已不再拘泥于满足页面展示,而是开始延展到通过全栈来闭环产品。这表明前端已经有能力透过业务深入产业,继而影响商业结果。这种表象的改变背后是本质的转变,从更为宏观的角度来说,前端正在通过持续的技术革新和技术融合不断突破自身边界,进而重新定义自身价值。在这种大变革的时代背景下,腾讯 I
腾讯技术工程官方号
2020/12/24
2.1K0
2019Thinking(上) -- 一个前端开发者的个人思考
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
1K0
2018 最值得关注的前端技术
2017悄然过去,2018已经来到。人在进步,技术在发展。2018年前端有哪些领域,技术值得关注,哪些技术会兴起,哪些技术会没落。下面就我个人的判断进行一个预测判断,希望能对大家起到一个参考作用!下面提及的技术,只是建议大家关注,也不是建议大家全部的都要学,而是建议大家按需学,自己觉得哪些需要学,对哪些有兴趣就学哪些!如果大家有什么工具,框架,库觉得可以推荐的,欢迎在评论区提点,让大家相互进步,学习!
一个会写诗的程序员
2018/08/17
1.2K0
2018 最值得关注的前端技术
从 JS 到全生态,云原生时代下的前端成长演进之路 |展望前端工程师的 2023
前几年,我们开玩笑说“前端一天一个新框架”、“前端难度 18 个月翻一番”,虽然现在这个领域经过蓬勃发展已逐渐进入成熟期,但新一代的技术也正在悄然孕育与布局。那么 2022 年,前端领域发生了哪些值得关注的事情?未来前端开发需要具备哪些技能?哪些新兴趋势需要我们掌握? 1 月 11 日,我们邀请到了字节跳动云原生 PaaS 资深前端工程师黄健,一起展望前端研发工程师的 2023。本文经过编辑处理,完整原版视频可参看:https://www.infoq.cn/video/HvDdiQutbkVeQQ3B8ysT
深度学习与Python
2023/02/10
1K0
从 JS 到全生态,云原生时代下的前端成长演进之路 |展望前端工程师的 2023
2020年大前端技术趋势解读
导 Lead 语 如今的前端早已不再拘泥于满足页面展示,而是开始延展到通过全栈来闭环产品。这表明前端已经有能力透过业务深入产业,继而影响商业结果。这种表象的改变背后是本质的转变,从更为宏观的角度来说,前端正在通过持续的技术革新和技术融合不断突破自身边界,进而重新定义自身价值。 时光荏苒,非比寻常的一年即将过去。在这过去的一年中,与其说前端的平稳期即将到来,不如说前端反而进入了技术深水区。换言之,在全栈和多端的影响下,前端领域里“术业有专攻”的时代已经到来。如今的前端早已不再拘泥于满足页面展示,而是开始延展到
用户1097444
2022/06/29
6690
2020年大前端技术趋势解读
微信小游戏开发技术与应用
本周四我们举行了《Cocos Creator微信小游戏开发入门》公开课 受到了同学们的一致好评! 纷纷跑来打听“八卦消息问”微信小游戏课程何时上线... 本期干货我们就带大家来简单了解 《微信小游戏开
腾讯NEXT学位
2018/07/06
2.4K0
浅谈web前端的发展趋势
相信web前端开发的伙伴们,在职业道路上,十有八九会受到这样的质疑或者嘲讽(大多数其实还是调侃之意)。写几个标签,懂一些HTML CSS 就是程序员? 你们知道CPU、存储、网络、集群吗? 你们了解过并发、业务架构、数据库、性能调优、分布式计算、集群架构、容灾、安全、运维吗
用户2356368
2019/04/03
1.9K0
浅谈web前端的发展趋势
2018前端最值得关注的技术有哪些?
2018已经过去了一多半,来简单总结一下。人在进步,技术在发展。2018年前端有哪些领域,技术值得关注,哪些技术会兴起,哪些技术会没落。下面就我个人的判断进行一个预测判断,希望能对大家起到一个参考作用!下面提及的技术,只是建议大家关注,也不是建议大家全部的都要学,而是建议大家按需学,自己觉得哪些需要学,对哪些有兴趣就学哪些!如果大家有什么工具,框架,库觉得可以推荐的,欢迎在评论区提点,让大家相互进步,学习!
Javanx
2019/09/04
1.2K0
2018前端最值得关注的技术有哪些?
前后端分离后的前端时代,使用前端技术能做哪些事?
什么是前后端分离,要区分前端和后端,需要有个明确的界限。一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了。
一墨编程学习
2018/10/27
2.4K0
推荐阅读
相关推荐
2019年前端发展趋势分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档