文档章节

2017 前端大事件和趋势回顾,2018 何去何从?

编辑部的故事
 编辑部的故事
发布于 2017/12/07 17:24
字数 1792
阅读 6403
收藏 78

2017年,前端开发继续飞速发展。以下是在过去的一年中非常值得关注的一些事件和趋势整理,主要参考了国内外的一些报道和文章,希望能对大家在思考 2018 年的趋势和走向上有所帮助。欢迎指正、评论和补充。

1、React 16 和 MIT 许可证

2017年,React 继续在前端领域占据主导地位,备受期待的 React 16 也正式发布。该版本包含可实现异步 UI 渲染的 fiber 架构,以及更便捷的错误管理。

不过,React 更引人关注的不是其新特性,而是开源许可证的更改。Facebook 放弃了导致很多企业拒绝使用其开源项目的 BSD+专利许可模式,并采用了对用户友好的 MIT 许可证。同时,Jest、Flow、Immutable.js 和 GraphQL 等项目也更改为了 MIT 许可证。

>> 相关阅读:

2、下一代 Web 应用模型 — PWA

PWA(Progressive Web App)是 Google 于 2016 年提出的概念,2017 年已被迅速采用。PWA 旨在增强 Web 体验,可显著提高加载速度、可离线工作、可被添加至主屏、全屏执行、推送通知消息等等。这些特性将使得 Web 应用渐进式接近原生 App。

>> 相关阅读:

3、Yarn 快速普及,NPM 跟上脚步

Facebook 与 Exponent、 Google 和 Tilde 合作开发的 Yarn 在2016年10月发布以后,迅速蹿红。Yarn 可以看做是对 NPM 缺失的一些关键特性的补充,能够更快速地安装软件包和管理依赖关系,并且可以在跨机器或者无网络的安全环境中保持代码的一致性。据悉,Yarn 下载量目前已超过10亿次(每月下载量达到125万次)。Yarn 的成功,使得 NPM 在 5.0 版本中也加入了上述的这些特性。

>> 相关阅读:

4、WebAssembly 受主流浏览器支持

WebAssembly (wasm)在今年受到了所有主流浏览器的支持,包括 Chrome、Firefox、Safari 和 Edge 。wasm 源于 Mozilla 发起的 Asm.js 项目,用于补充 JavaScript,其本地解码速度比 JS 解析快得多,让高性能的 Web 应用在浏览器上运行成为可能,比如视频游戏、计算机辅助设计、视频和图像编辑、科学可视化等等。而且由于 wasm 字节码(Bytecode)较一般程序代码小许多倍,意谓着这项标准可节省移动设备的使用带宽,有助于改善网页加载速度,且字节码更适合浏览器读取。wasm 还提供了一个JavaScript API,为前端开发人员提供了一个更容易的切入点。

>> 相关阅读:

5、Angular 发布了 v4,以及……v5

由于采用语义化版本控制,Angular 在今年跨越了两个大版本:于 3月23日 发布的 Angular 4 以及于 11月1日 发布的 Angular 5。Angular 4 优化了视图引擎、减少代码体积;Angular 5 中包含了一些用户期待已久的改进,像是编译器的改进,能更快的构建/重建;新的 @angular/service-worker 包能够更好的构建渐进式 Web 应用程序。

>> 相关阅读:

6、Vue.js 继续流行

既然说到了 React ,说到了 Angular ,自然不能落下 Vue 。2017年,Vue 依然越来越受欢迎,该框架提供基于组件的架构,是 React 在因许可证问题被抵制时的主要替代方案之一。它已经被包括 GitLab 在内的许多大型公司采用,在 Stack Overflow 上的关注度居高不下。

>> 相关阅读:

7、CSS-in-JS 在争议中沉淀

React 的出现,打破了以前“关注点分离”的网页开发原则,因其采用组件结构,组件强制要求把 HTML、CSS、JavaScript 写在一起。随着 React 的走红和组件模式深入人心,这种"关注点混合"的新写法逐渐成为主流。表面上,React 的写法是 HTML、CSS、JavaScript 混合在一起。实际上并不是,其实是用 JavaScript 在写 HTML 和 CSS,React 是在 JavaScript 里面实现了对 HTML 和 CSS 的封装。由于 CSS 的封装非常弱,导致了一系列的第三方库,用来加强 React 的 CSS 操作,它们统称为 CSS in JS,意思就是使用 JS 语言写 CSS。

CSS in JS 的出现带来了很多争议,有不少人认为是在重复造轮子,或者说是没有找到其优势。CSS-IN-JS 是不是未来的方向我们暂且不议,但其在2017年已得到明显的采用。

8、静态网站卷土重来

2017 ,静态网站卷土重来。Gatsby 等框架使你能够使用 React 和其他现代工具构建静态网站。不是每个网站都需要或应该是一个复杂的现代 Web 应用,静态网站生成器能够提供的服务器端渲染和无与伦比的速度,正式其优势所在。

静态网站生成器还引发了另一个被称为 JAMStack 的趋势:“JavaScript,APIs,Markup”。 JAMStack 使用相同的静态预构建 HTML 文件以及可重复使用的 API 和 JavaScript 来处理请求/响应周期内的任何动态编程,旨在提供更好的性能,更高的安全性,更低的扩展成本和更优的开发人员体验。

9、GraphQL 继续挑战 REST

虽然很多人认为 GraphQL 在2017年依然没有火起来,但不可否认的是 GraphQL 已逐渐占据了一席之地。不再管理多个端点并获取不必要的数据,GraphQL 允许客户端声明式地定义所需的数据,并从单个端点检索所有数据。这也正式它在刚出现时被认为是革命性的 API 工具的原因,因为它可以让客户端在请求中指定希望得到的数据,而不像传统的 REST 那样只能呆板地在服务端进行预定义。

10、TypeScript 和 Flow 受追捧

2017年,TypeScript 受到了很多 JavaScript 开发者的追捧。TypeScript 由微软创建,也是新版 Angular 采用的语言,其强类型正是优势所在。 而 Flow 则提供了一种更加灵活的方式来引入类型,而不需要进行重构。

本文由开源中国整理,转载请注明出处。

© 著作权归作者所有

共有 人打赏支持
编辑部的故事

编辑部的故事

粉丝 1118
博文 244
码字总数 410711
作品 0
深圳
运营/编辑
加载中

评论(15)

獜彝
獜彝

引用来自“guojerry”的评论

三大前端框架都学学,都用用

引用来自“獜彝”的评论

:cry:加油!
等你们都学会了,估计用C语言替换js成了主流。
因为AR、VR、AI等流行,js、TS完全不能满足了

引用来自“incess”的评论

你这样说 显得你的格局太小了
对,你连WEBAPP都说出来了,你真懂
獜彝
獜彝

引用来自“guojerry”的评论

三大前端框架都学学,都用用

引用来自“獜彝”的评论

:cry:加油!
等你们都学会了,估计用C语言替换js成了主流。
因为AR、VR、AI等流行,js、TS完全不能满足了

引用来自“walk_lai”的评论

怎么可能,最终还是得写一堆函数给JS调用
unity3d
incess
incess

引用来自“guojerry”的评论

三大前端框架都学学,都用用

引用来自“獜彝”的评论

:cry:加油!
等你们都学会了,估计用C语言替换js成了主流。
因为AR、VR、AI等流行,js、TS完全不能满足了
你这样说 显得你的格局太小了
incess
incess
个人感觉 现在JS只会越来越完善 不会什么都往底层的C发展,就像之前的node使得JS也可以作为后台语言去编写,webApp出来之前,app的开发只能是原生开发。将来的VR AR AI也将会个JS TS提供一席之地
开心303
开心303

引用来自“开心303”的评论

框架学习一个就可以了,没有必要都学习,技术主要是深度,不是广度。

引用来自“陈钇蒙”的评论

可问题是最后可能只有一个框架一统天下, 到时候选错框架的人怎么办?
扯淡,什么时候出现过一个框架一统天下,做技术的这么思考问题?
陈钇蒙

引用来自“开心303”的评论

框架学习一个就可以了,没有必要都学习,技术主要是深度,不是广度。
可问题是最后可能只有一个框架一统天下, 到时候选错框架的人怎么办?
开源中国首席罗纳尔多
开源中国首席罗纳尔多
cordova 流行吗?现在android开发用什么?
开心303
开心303
框架学习一个就可以了,没有必要都学习,技术主要是深度,不是广度。
mark35
mark35

引用来自“guojerry”的评论

三大前端框架都学学,都用用

引用来自“獜彝”的评论

:cry:加油!
等你们都学会了,估计用C语言替换js成了主流。
因为AR、VR、AI等流行,js、TS完全不能满足了
写成nodejs模块还是由js来调用 呵呵
mark35
mark35
2017年,TypeScript 受到了很多 JavaScript 开发者的追捧。TypeScript 由微软创建,也是新版 Angular 采用的语言,其强类型正式优势所在。
===============
TS增加的是“静态”类型,而不是“强”类型。
静态类型/动态类型, 弱类型/强类型
堕落 Java vs 新贵 Python,2018 年最应该学习哪一门编程语言?

  2017 年,编程语言领域发生了巨大的变化,一方面,Java、Kotlin 等语言在企业和移动开发方面吸引了很多开发者的关注;另一方面,对 Web 开发至关重要的 JavaScript 生态系统也在不断扩大...

CSDN
01/03
0
0
2018前端值得关注的几个趋势

1.前言 2017悄然过去,2018已经来到。人在进步,技术在发展。2018年前端有哪些领域,技术值得关注,哪些技术会兴起,哪些技术会没落。下面就我个人的判断进行一个预测判断,希望能对大家起到...

01/08
0
0
npm 发布 2017 JavaScript 框架报告:React 占主导地位

npm 的联合创始人兼首席运营官 Laurie Voss 近日发布了 2018 年的第一个 JavaScript 现状报告,这一系列报告包含三部分,将会提供 JavaScript 发展趋势和实践的完整回顾。第一部分讲述了 20...

局长
01/07
4.3K
24
npm 发布 2017 JavaScript 框架报告:React 占主导地位

npm 的联合创始人兼首席运营官 Laurie Voss 近日发布了 2018 年的第一个 JavaScript 现状报告,这一系列报告包含三部分,将会提供 JavaScript 发展趋势和实践的完整回顾。第一部分讲述了 20...

开源中国
01/08
0
0
2017回顾与2018前瞻:机器学习与人工智能

  时隔一年,科技媒体 KDnuggets 最近向大数据、数据科学、人工智能和机器学习领域的一些顶尖专家征询了他们对于 2017 年这些领域最重要的发展,以及 2018 年的主要发展趋势的看法。这篇文...

中国机器人
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部