2018年前端技术趋势预览
温故而知新
回顾2017年:
ES2015普及的一年,并且JavaScript在大家的印象中已经 != 前端,更多的开发者开始使用ES2015来编写应用。
在编辑器方面VSCode领跑,并且顺带的推了一波TypeScript,虽然今年的热门没有超赶ES2015,但是我相信2018年的TypeScript还会有巨量的提升,特别是在复杂大型应用中。
在前端三大主流框架中,React可以说是被广泛认可,但Vue也不容小觑,反而Angular经历了阵痛之后拥抱了TypeScript,开始重新关注企业级市场。被React带节奏带起来的Redux市场占有率非常高,虽然Mobx也不错。
移动端有所回调,可以说这和目前的市场环境偏弱息息相关,JS to Native动态化技术随着React Native,Weex的落地,基本上已经“横盘”了,没有太大的上升或者下降,如果移动市场进一步萎缩,硬件设备对Web技术更好的支持以及Apple的“反对”,动态化技术还有可能进一步的下降。反而在中国市场上,由微信推出的小程序生态,从冷门经历预热,到如今燥热,它定义了一种新的移动端生态,也预示着一种新的技术形态。
移动Web上PWA落地了比较多的应用,这方面应该还是在一个预热的阶段,即可观望也可进场。
构建工具目前来说依旧没有太大的改变,依然是Webpack,至于其他小众的比如Rollup依然小众。反而NPM对于大家来说,接受程度比以往要高了许多,包管理的概念基本上普及到了众多开发者。
Flex布局在移动端已经普及,众多预处理器也被开发者广泛接受,讨论最多的还是CSS IN JS方案。至于在中国市场上,大家普遍会用ant design或者bootstrap来做为UI库。
对于Node.js来说,中国市场上主流竟然是koa而不是数据上的绝对霸主Express,总体来说,方向对了就没有多大的问题。
桌面方向上electron热度增长不少,很多人开始用它来开发桌面应用了。
前端测试在国外倒是增长了不少,只要React继续领跑,Jest方案还会继续增长。反而中国市场上,前端测试注重程度并不是很高,几乎是人肉。
至于其他都有普遍的增长。
展望2018年:
热闹的前端技术终于要归于“平静”了,大家有没有感觉“爆发期”已过了,对于前端技术几乎开发者都有了一些共识,组件,模块,很多东西都有痕迹可寻,不再像以前那样“百家争鸣”,这是好事情,说明“创新”的东西少了,沉淀的东西多了,跟着大方向走,就可以很平稳的抓住机会。在中国市场上,新老交替很普遍,对于开发者而言,更多的是在职场上的进化。团队,管理,共识,迭代,这些普遍的字眼中,有阵痛也有机会。
小程序开发将普遍落地,带了一波很热的热潮,因为这相当于又定义了一个移动端的应用形态,相信很多公司将需要小程序的开发能力,但是长期来看,这是否可持续,还有待观察,更多的是前端开发者需要学习观察的一门“技能”。
就语言的来说TypeScript应该会有更多的人使用,大家渐渐的开始遗忘“原型”,很可能只是在面试时才捡起来的东西。你有很多选择,让你开发的应用变的更好,更健壮。
主流框架上基本没有什么悬念,React,Vue,Angular三选其一,根据你公司的业务。
移动端依然会有市场,业务上跑马圈地的,移动还是主场景,但是天花板已现,这是不争的事实。工作多年的开发者,需要想一想,如何增加自己的技术“竞争力”的事情。随着门槛的降低,会有更多的人来和你PK一份工作。另外移动端和Web的融合趋势越来越紧密,单一的Web开发者如果你的工作范围还在移动端上,请不要忘记学习原生开发技术。
Node.js可以做更多的事情,这几乎成了JS开发者的基础设施。
Chrome可以视为Web技术的风向标,有参考价值的意义。
其他更多领域的融合,可以浅尝
对于未来的期望:
还是那一句话:“鸡蛋不要放在一个篮子里”,钱不是衡量生活的唯一参考值,做自己感兴趣的事情,生活幸福,比任何时候都要重要。在你工作,学习之余,不要忘了,和你的家人,朋友多多联系。
如果这些分享对你有用,支持打赏ERC 20标准的任意代币,打赏地址:
0x4A40Eb870DcF533D4dC097c3d87aaFE9f64490A1
- linux过滤空文件的命令总结(r2笔记40天)
- shell脚本自动化采集性能sql(r2笔记39天)
- R语言与点估计学习笔记(EM算法与Bootstrap法)
- 开发 | 为个人深度学习机器选择合适的配置
- 阿里音乐流行趋势预测竞赛数据清洗整合——纯python
- 生产环境sql语句调优实战第二篇(r2第38天)
- 生产环境sql语句调优实战第三篇(r2笔记38天)
- 简单易学的机器学习算法——K-Means算法
- 通过shell脚本定位性能sql和生成报告(r2笔记37天)
- VXFS启用异步IO导致的严重问题(r2笔记56天)
- 通过sql语句分析足彩(r2笔记55天)
- 关于验证表中有无数据的方法比较(r2笔记54天)
- 海量数据迁移之分区并行抽取(r2笔记53天)
- 海量数据迁移之外部表切分(r2笔记52天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- spring之IOC(控制反转)和DI(依赖注入)
- 【colab pytorch】指定使用的显卡
- Python自学成才之路 迭代器的使用
- 回溯法--全排列
- 【colab pytorch】张量操作
- 『开发技巧』python :与-> 操作来给函数参数增加元信息
- 【python-leetcode78-子集】子集
- 【colab pytorch】模型定义
- 初级爬虫--爬取拉勾网职位信息
- requests库
- hadoop之完全分布式集群配置(centos7)
- XPath
- 62. Vue 饿了么Mint UI组件的基本使用
- 【colab pytorch】数据处理
- requests+lxml+xpath爬取豆瓣电影