2020前端发展趋势 -
迅速发展的前端开发,在每⼀年,都为开发者带来了新的关键词。2019 年已步⼊尾声,2020 年前端发展的关键词⼜将有哪些呢?发展的方向又会是什么呢?参考2019年大前端的发展,不出意外,前端依旧会围绕⼩程序、超级APP、跨端开发、前端⼯程化以及新技术运用等几个方面进行展开(可以参考2019年大前端技术趋势深度解读)。
小程序
在⼩程序⽅⾯,今年仍然是⼩程序突⻜猛进的⼀年,各⼤主流的 App 都上线了⼩程序能⼒的⽀持,各前端团队也都有了专⻔的⼩程序开发团队,以适应更快的⼩程序开发需求。同时App 中很多关键的功能都被⼩程序所替代,甚⾄有些 App 已经变成 Native ⼩程序壳,上层的应⽤实现全部是⼩程序。
在微信小程序出现以前,大家在谈 Hybird、ReactNative,但终归只是技术层面的狂欢,始终没有业务属性的注入。小程序的出现,一方面告诉业界在当前设备上 Webview 也没差到哪去,另外一方面告诉业界如何让有能力的商家在超级 APP上进行私域运营。
另一方面,从技术角度说,在上层 DSL 的严格限制下,超级 APP 就可定义符合自己诉求的 Web 标准,弥补当前 Web 标准的不足,最后和客户端配合,结合离线、预加载、定制Webview 能产出类似于 NSR 等各种酷炫的技术模型,让 Web 在端内低成本达到 Native 版的体验,端外也不会像 Weex 一样有点小别扭。
不过由于需要依赖超级APP(微信、支付宝、百度、美团、头条等),由于各家平台采用的具体方案的差异,造成目前小程序的落地方案也不一样,有时候需要开发多套代码。
跨端开发
跨端开发⽅⾯,RN ⽣态已经⾮常成熟,或者说看不到太多发展前景,因为目前还停留在0.61版本,似乎1.0版本仍然遥遥无期。因此,今年很多团队转战⾕歌⽣态的 Flutter,特别是 Flutter for Web 的第⼀个 Release,⼜让 Web 前端重燃希望、跃跃欲试。
同时,苹果公司也发布了全新的 UI 系统——SwiftUI,同时,开源社区中 SwiftUI for Web已经在路上了,SwiftUI for Android 还会远吗?
跨端开发⽅⾯,Flutter 仍会快速发展,并且会有更多的开发者,Flutter on JS、SwiftUIfor Web&Android 也将是开源⽣态值得期待的事情,毕竟跨端仍没有⼀个完美的解决⽅案。
前端工程化
在前端⼯程化⽅⾯,开发者最重要的基本素养就是通过⼯具提升效率,⽽前端开发者在这⽅⾯会持续迭代和优化。
曾经我们谈 Yoman,谈 CLI 等系列构建工具,但在团队大了之后始终觉得差点什么。反观 Java 同学,从没听说过 Spring Boot 配置工程师。今年很多团队都在建设完整的前端 DevOps 流程⼯具集,⼀些团队之间也开始协作共建,不管是 Web 还是⼩程序项⽬,从新建项⽬、开发、联调(tiao)、部署、测试、发布、运维到监控统计,都有完善的⼯具做保障和提效,今后前端⼯程也会越⾛越标准化。
展望2020年前端的发展,前端工程体系一定会更加闭环,不再是一个脚手架这么简单,而是会结合 IDE,打通业务属性,从项目初始化、到编写代码、到 CI、到灰度、到发布 形成一个完成的闭环。
Serverless
Serverless 的⽕爆⼏乎可以归因于前端。因为 Serverless 能够较完美的⽀持Node.js,使⽤ Serverless 帮助前端开发者解决了使⽤Node.js 过程中的诸多问题。
当前的前端工程师大多都是科班出身,虽不能和正宗的服务端开发同学比,但也可写很多服务端层的业务逻辑。当前已经有很多公司在做 BFF 层,来满足这部分诉求,但依旧摆脱不掉运维、机器分配 这条拦路虎。随着 Serverless 的逐步落地,BFF 这层的代码会摆脱运维、机器分配等复杂的问题,同时大概率会由前端同学写这部分代码,服务端同学专注中台系统的实现。从业务上说,业务的试错成本也会大幅度降低。
随着 Node.js 成为前端开发者必备技能之后,云计算的不断普及会让Serverless 触⼿可及。当越来越多的开发者尝到研发⾼效的甜头之后,Serverless 必将对前端的研发模式产⽣变⾰。
同时,使用Serverless的同学一定会使用 TS。这也意味着,2020 不写 TS 可能真的就 Out 了。
WebAssembly
WebAssembly 是一种新的字节码格式,目前主流浏览器都已经支WebAssembly。 和 JS 需要解释执行不同的是,WebAssembly 字节码和底层机器码很相似,可以快速装载运行,因此性能相对于 JS 解释执行而言有了极大的提升。 也就是说WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行, 浏览器厂商需要做的就是根据 WebAssembly 规范实现虚拟机。
有了 WebAssembly,在浏览器上可以跑任何语言。从 Coffee 到 TypeScript,到 Babel,这些都是需要转译为 js 才能被执行的,而 WebAssembly 是在浏览器里嵌入 vm,直接执行,不需要转译,执行效率自然高得多。
举个例子,AutoCAD 软件是由美国欧特克有限公司(Autodesk)出品的一款自动计算机辅助设计软件,可以用于绘制二维制图和基本三维设计。使用它时,无需懂得编程,即可自动制图,因此它在全球被广泛应用于土木建筑、装饰装潢、工业制图、工程制图、电子工业、服装加工等诸多领域。
AutoCAD 是由大量 C++ 代码编写的软件,经历了非常多的技术变革,从桌面到移动端再到 web。之前,InfoQ 上有一个演讲,题目是《AutoCAD & WebAssembly: Moving a 30 Year Code Base to the Web》,即通过 WebAssembly,让很多年代久远的 C++ 代码在 Web 上可以运行,并且保证了执行效率。
WebAssembly 的核心 JavaScript 引擎 V8 目前已包含了 Liftoff 这一新款 WebAssembly baseline 编译器。Liftoff 简单快速的代码生成器极大地提升了 WebAssembly 应用的启动速度。2019年,很多的公司都开始投入人力进行WebAssembly的学习个改造,相信2020年WebAssembly会经历爆发式期。
5G
2019年一个绕不开的话题就是5G。⾸先,5G 带宽的⼤幅提升带来传统 Web ⻚⾯复杂度的进⼀步提升,如同 2G 到 4G 变⾰过程中⻚⾯从 WAP 的纯⽂本超链接时代变⾰到 4G 全图⽚视频时代。5G 对于⻚⾯的变⾰必将是巨⼤的,但肯定不会⼀蹴⽽就。因为相应的配套设施也需要逐步完善,如硬件性能和浏览器的处理速度。⽽服务端渲染(SSR)肯定是其中⼀个捷径,轻前端重后台,5G 是桥梁,把渲染放后台,不像同构那么简单,需要关注和优化渲染性能。WebAssembly 或许会在这个机遇下得到快速发展,因为它可以⽆缝对接后台多种语⾔,⽽后台渲染的优化也会带来前端⻚⾯研发模式和技术架构的变⾰。
其次,5G 带来的万物互联,⼜将带来有别于智能⼿机和普通 PC 的多样化的应⽤场景,VR、可穿戴设备、⻋载系统、智能投影、智能交互等⼜会把 Web 带⼊各种各样的垂直领域,这也意味着前端将有更多⼴阔的空间。相信随着5G的大规模商业,会诞生一批新的互联网巨头。
————————————————
版权声明:本文为CSDN博主「xiangzhihong8」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiangzhihong8/article/details/103233487
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里主管通知我试用期延期…… | 12月24号云栖号夜读
点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.阿里主管通知我试用期延期…… 接下来的文章是一篇发布在阿里内网里的文章。花木是一位走出体制的博士,讲述自己Landing的经历。今天,她将这段经历分享给大家,告诉我们:脸先着地又怎样,哪有那么多坦途;最美的,是翻山越岭的一路风景;最幸福的,是酣畅淋漓地打拼后见到了更好的自己。阅读更多》》 2.标签编辑新工具:如何使用控制台标签编辑器(Tag editor) 创建阿里云资源时,您可以给资源绑定标签。已经创建的资源,也可以在资源列表页面或者通过API,批量的添加、更改和删除标签。当遇到如下更为复杂问题和场景,该如何快速解决标签问题呢?阅读更多》》 3.考拉海购技术支持的前世今生 本文来自考拉海购技术支持中心负责人--书渊的分享,想和大家聊一聊考拉技术支持的前世今生,在这个发展历程的介绍当中,大家也可以此对考拉窥一斑而知全豹。当然,既然是聊我们的家常(“黑历史”),我会从这几年在考拉供应链产品事业部的视角去讲述(请轻拍~~),并且,也不会就很多过往事项留恋于细致的介绍,只讲下大面上的东西。阅读更多》》 4.60TB 数据...
- 下一篇
Bianace区块链PHP对接开发包
BnbTool开发包适用于为PHP应用快速增加对 币安链 / Binance Chain 数字资产的支持能力,即支持使用自有部署区块链节点的应用场景,也支持基于第三方节点开放API服务的轻量级部署场景。官方下载地址:http://sc.hubwiz.com/codebag/bnbtool/。 1、开发包概述 BnbTool开发包是一个完整的币安链PHP开发包,可以极大地提升区块链钱包、交易平台或区块链应用开发过程中与币安链的对接实现效率。BnbTool主要包含以下特性: 完善的币安链节点RPC API与Rest API封装 完善的Tendermint Amino编解码器PHP实现 离线管理私钥,离线签名交易,离线序列化/反序列化交易 透明支持自有节点或第三方节点访问币安链,例如查询数据或广播交易 BnbTool软件包运行在Php 7.1+环境下,当前版本1.0.0,主要实现类/接口及相互之间的关系如下图所示: BnbTool的主要代码文件清单见官网:http://sc.hubwiz.com/codebag/bnbtool/ 2、使用演示代码 下载开发包并解压后,进入demo目录运行演示...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6