聊一聊前端的未来

聊一聊前端的未来

从事前端这么多年了,经历了前端从无到有的过程,也经历了前端蓬勃发展的整个时期。想当初入行那会儿还没有前端开发的职位,从网页美工到html+ajax前后端分离重构再到MVVM框架的兴起到构建工具的兴起,CSS也出现了less、sass、stylus,再到vue/react/angular三大框架到大前端react native/electron/cordova…,前端全栈又兴起了。小程序之后,又一次发展出了京东的Baro和uni-app一类的多端构建工具。前端同学们,压力大不大?哈哈!

关于前端的未来

据说IT也有鄙视链。做后台的鄙视前端,做前端的鄙视测试。也许你看完本文之后,你会更加坚信自己选择前端是明智的!

V8引擎很厉害,但还是受限于JavaScript的解析速度,webAssembly出现了。

2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C / C++ 语言写的,如果能将 C / C++ 语言编译成 JavaScript 代码,它们不就能在浏览器里运行了吗?众所周知,JavaScript 的基本语法与 C 语言高度相似。于是,他开始研究怎么才能实现这个目标,为此专门做了一个编译器项目 Emscripten。这个编译器可以将 C / C++ 代码编译成 JS 代码,但不是普通的 JS,而是一种叫做 asm.js 的 JavaScript 变体,性能差不多是原生代码的50%。

再来说说vue/react/angular,三大框架的出现正是解决前端组件化的痛点,在前端组件化横行的今天,确实极大的提升了开发效率。不过有一个问题不得不被重视,拟引入的这些html、css、js代码有可能对你的其他代码造成影响。
虽然我们可以通过命名空间、闭包等一系列措施来加以防备,不过还是存在这些隐患。为了解决这些问题,有一个基本大家遗忘的技术还是可以了解一下的,
那就是Web Components

Web Components 包括以下四种技术(每种都可以被单独使用)

  • Shadow DOM
    明确的定义如下:
    一种可以在document下组合多个同级别并且可以项目作用的DOM树的方法,因此可以更好完善DOM的构成
  • Custom Elements
    定义如下:
    一种可以允许开发者在document中定义并使用的新的dom元素类型,即自定义元素
  • HTML Templates
    模板没什么可说了,在标准实现之前其实我们一直都在用js来实现该方式
  • HTML Imports
    一种允许一个html文档在别的htmldocuments中包含和复用的方法

。。。

我为什么坚定前端未来大有可为?

实际上,强大的vs code编辑器的出现让我坚定前端大有可为,因为自electron之后,前端真正拥有从web到app和pc软件,前端几乎完成了大一统!

文章先写到这,放出几个关键词:Dart、rxjs、typescript、serverLess、webXR、pwa、storybook、gatesby、GraphQL、Firebase、Meteor。。。慢慢看吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据