2019年前端趋势分析
2018年TypeScript 全面开花,GraphQL 蠢蠢欲动,WebAssembly 更是打开了浏览器上多语言的大门。所有这一切跟现在的前端有哪些关系呢?下面小编来分享一下
1.三大框架标准化
有朋友吐槽:“Vue 的特点就是上手快,初期相当好用,但如果接手一个别人写的 Vue 项目,再和 React 对比一下,你会感谢 React 的”。但当 Vue 3.0 发布之后,估计他就不会这样说了。因为 Vue 3 的 Class API 和 React 的写法几乎是一模一样的,这个改动不是 Proxy 和 TypeScript,而是支持原生 Class 的写法。你用 Class 来写,那代码和 React 写法几乎是一模一样的!
import Vue from 'vue'class App extends Vue.Component { count = 0 up() { this.count++ } down() { this.count-- } render() { return ( <div> <h1>{this.count}</h1> <button onClick={() => this.up()}>+</button> <button onClick={() => this.down()}>-</button> </div> ) }}Vue.render(<App />, document.body as HTMLElement)
从上面的讨论可以看出,前端三大框架已经趋于平稳化、标准化,在我看来未来是
二.新技术和新概念
1、GraphQL 、PWA 、WebAssembly
GraphQL已被GitHub等技术领导者采用。然而,它并没有像一些预测的那样快速地起飞。
据JS状态调查显示,只有1/5的前端开发人员使用过GraphQL,但是有惊人的62.5%的开发人员已经听说过它并希望使用它。
PWA和 WebAssembly这两个东西,如果你们现在还不懂或者没接触没关系,我会出一系列教程,我们一起学,持续关注北妈就好。
因为这个以后,会越来越流行,只不过现在还不重要。
2、各种CLI工具封装
众所周知,要跟上最新的库,正确配置应用程序并做出正确的架构决策,这可能会让人感到筋疲力尽。
这种痛苦催生了管理工具的CLI包的创建,允许开发人员专注于应用程序和业务逻辑。
大家熟知和不熟知的 流行的框架包括 Next.js(SSR for React),Create-React-App(客户端React),Nuxt.js(SSR for Vue),Vue CLI(客户端) -side Vue),React Native的Expo CLI,默认情况下使用Angular
3、静态站点话题 重新兴起
随着JavaScript革命的发生,每个人都喜欢学习最新最好的图书馆,但现在事情已经解决,我们已经意识到并非每个网站都需要是一个复杂的单页面应用程序(SPA)。
这导致了静态站点生成器的增长。
三.TypeScript可能是JavaScript的未来
JavaScript因没有静态类型变量而受到批评。试图纠正这个问题的两个主要库是TypeScript和Flow,但TypeScript看起来是最受欢迎的。
事实上,在Stack Overflow调查中,TypeScript的评分高于JavaScript本身,为67%,而最受喜爱的语言为61.9%。
根据JS的状态调查,超过80%的开发人员希望使用TS或已经使用它并享受它。对于Flow,只有34%的开发人员正在使用它或想要使用它。
根据所有迹象,TypeScript是JS中静态类型的首选解决方案,许多人选择使用普通的JavaScript。在2018年,TS的npm下载数量大幅增长,而Flow保持不变。
四.移动端
Flutter 是 Google 推出的帮助开发者在 Android 和 iOS 两个平台,同时开发高质量原生应用的全新移动 UI 框架,和 React-native/Weex 一样支持热更新。Flutter 使用 Google 自己家的 Dart 语言编写,刚好今年 Dart 2 也正式发布,不知道二者之间是否有关联。目前 Dart 主攻 Flutter 和 Web 两块,同时提供了 pub 包管理器,俨然是一门全新的语言,学习成本有些高。反观 TypeScript 就非常容易被接受,基于 npm 生态,兼容 ES 语法,因此,2019 年对 Dart 我还是会持观望态度。
除了不喜欢 Dart 外,Flutter 的其他方面都很好,在移动端现在强运营的背景下,支持热更新是必备能力。
关于 Weex,一边骂一边用,很无奈的一种状态。Weex 本身是好东西,捐给了 Apache,目前在孵化中,会有一个不错的未来。但社区维护的非常差,问题 issue 不及时,文档不更新。如果公司没有架构组,还是比较难搞定的。
不过也有很多不错的案例,比如 2018 年优酷双十一活动就是使用 Weex 开发的,效果非常不错。通过自建的可视化活动搭建平台,能够非常高效的完成开发,结合 App 内的缓存,整体效果比 H5 好的多。
我对 Weex 的看法是,以前 Weex 只是解决 H5 渲染效率的问题,但如今强运营的背景,使得 Weex 承载了非常多的内容,比如动画、游戏甚至是图形图像处理等。可以看到,未来 Weex 还会战略性的增加。