架构师(2018年4月)

本期主要内容:伯克利推出世界最快的KVS数据库Anna:秒杀Redis和Cassandra;Spring Boot 2.0正式发布,新特性解读;这次没跳票!Java 10正式发布,带来了这些新特性;Kubernetes效应;360开源项目大盘点

作者 狼叔

我对自己的定位是 Node 全栈,以大前端为主,Node 辅助,囊括所有和用户直接相关的开发。我认为这是趋势,我也确实在自身的经历中体验到了好处。目前大前端还没有形成固定模式,还在混乱发展,所以前景是非常被看好的。当收到邀请让我写卷首语的时候,我特别想聊聊在 AI 横行的时代,你为什么还要固守大前端?

1)大前端还没有天花板

从 web1.0 到 web 2.0,我们其实没太多感知,除了出现了很多 Prototype、jQuery 等框架,帮我们抹平了浏览器兼容性外,真的没有太多惊喜。至于 ria,估计早已经没多少人知道。至于 gwt 这个 Google 惊艳的尝试,也慢慢地淹没在记忆里。可能在企业开发领域,对 Ext.js 还有些许记忆,它自己实现了面向对象机制,它丰富的组件系统,快速开发经历和较好的用户体验,还是非常不错的,但对于组件化,这种探索是远远不够的。它只是面向对象层面对代码的复用。

2014 年,前端开始出现 Backbone,它是第一个知名的前端 mvc 框架,从此开始前端开启了划时代的篇章。随后 Angular 横空出世,从 mvvm、ioc,到指令等各种概念,点燃了很多后端开发对前端的幻想。诚然,前端集成了更多的后端思想,这是好事,但从另一个角度考虑,这也是今天大前端发展过快的导火索。

随后 React 的诞生,借助于 Virtual DOM 的抽象,真正地实现了组件化,再次将组件化这个概念推向高潮。再说 Vue.js,在 Angular 火的时候,它借鉴了一部分,在 React 火的时候,它又借鉴了一些,在大家都抱怨前端越来越复杂的时候,它站出来,你想要的特性我都有,而且更简单,它的流行也是可以理解的。

移动端也面临同样的难题,既想要 H5 的灵活性,又想要有原生 app 的良好体验。这是鱼和熊掌的博弈,从 native 到 hybrid(还是不能满足复杂交互),到基于组件的各种方案 React Native/Weex(组件层面跨平台,写法统一,执行最终是原生代码,是折衷方案),它们丰富了端上的开发,也从另一个角度,是前端开发同学让这些创新方案落地。

今天,泛义的前端是涵盖那些熟悉 React 在做 React Native 的前端开发的。在很多大公司也都已经使用这种模式很久了,除了降低开发成本外,也拓宽了前端的更多涵盖领域。在未来,应该有更多领域被纳入到大前端概念里。

你需要了解更多的架构知识

前端的爆发,说来也就是最近 3、4 年的事情,其最根本的创造力根源在 Node.js 的助力。Node.js 让更多人看到了前端的潜力,从服务器端开发,到各种脚手架、开发工具,前端开始沉浸在早轮子的世界里无法自拔。组件化后,比如 SSR、PWA 等辅助前端开发的快速开发实践你几乎躲不过去,再到 API 中间层、代理层,到专业的后端开发都有非常成熟的经验。

我亲历了从 node 0.10 到 iojs,从 node4 到目前的 node9,写了很多文章,参加很多技术大会,做过很多次演讲,有机会和业内更多高手交流的机会。当然我也从 qunar 到阿里经历了各种 node 应用场景,对于 node 的前景我是非常笃定的。善于使用 node 有无数好处,想快速出成绩,想性能调优,想优化团队结构,想人员招聘,诸多利好都让我坚定的守护 Node.js。

作为前端开发,你不能只会 Web 开发,你需要掌握 node,你需要了解移动端开发方式,你需要对后端有更多了解。拥有更多的 Node.js 和架构知识,能够让你如鱼得水,开启大前端更多的可能性。

3)不只是“端”的概念,而是用户体验

感谢苹果,将用户体验提升到了前无古人的位置。移动互联网兴起后,PC Web 日渐没落。我个人非常欣赏玉伯,在当年无线 ALL IN 战略中,他还是选择留下来继续做 PC Web 的前端。虽然公司重点转向无线,但 PC 业务一直没停。这是很多公司的现状,也是客观事实。那么,PC 端这样的“老古董”的出路到底在哪里呢?

在 AI 时代,没有“端”的支持可以么?明显是不可以的。

  1. 我们可以利用 PC/H5 快速发版本的优势,快速验证 AI 算法,继而为移动端提供更好的模型和数据上的支撑。

  2. 多端对齐,打好组合拳。既然不能在移动端有更大的突破,大家只能在细节上血拼。

今天的大前端,除了 Web 外,还包括各种端,比如移动端,ott、甚至是一些新的物联网设备。我们有理由相信 Chrome OS 当年的远见;“给我一个浏览器,我就能给你一个世界”。

当然,今天大前端还处在快速发展中,对所有程序员来说,既是机遇,也是挑战。只有站到更高的层面去架构前端,你才能收获更好的未来。前端变化快,变化多,除了拥抱变化外,狼叔最喜欢讲的一句也同样适用:“少抱怨,多思考,未来更美好”,与大家共勉。

目录

热点 | Hot

伯克利推出世界最快的 KVS 数据库 Anna:秒杀 Redis 和 Cassandra

Spring Boot 2.0 正式发布,新特性解读

这次没跳票!Java 10 正式发布,带来了这些新特性

理论派 | Theory

Kubernetes 效应

专题|Topic

360 开源项目大盘点

特别专栏 | Column

UCloud—VPC 的 4 种典型应用场景