2019 年(大)前端技术规划


prtyaa
prtyaa 2023-12-25 14:03:30 67239
分类专栏: 资讯

新的一年里,有些新的技术会从实验走向试用;有些技术,则会从试用走向采用;有些技术,则会从采用走向弃用。若是以此为出发点,那么这个 2019 年和过去的 2018 年相比,并不会有太大的区别。学一些新的技术,忘掉一些不同使用的技术。只是前端一个这么广的领域,到底要关心什么技术,到底要忽略什么技术呢?

这便也是我写下这篇文章的意义。可是呢,在写作的过程中:“不行啊,我光告诉你 2019 将会流行什么,可能并没有多大的意义。你们需要自己去学会拥有这样的技能,学会去分析出 2020 需要规划什么内容。”(PS:见下篇)

前端 in 后端

所谓的前端 in 后端,便是在后端开发中,使用前端相关的语言和技术栈。最典型的场景,便是使用 Node.js 开发后端服务。虽然 Node.js 已经有了 10 年的历史了,但是以我(Phodal)的角度来看,我更希望的是使用编译型语言,来开发后端服务。动态语言,无法使用编译器来检测错误,难以约束代码变动。

Node.js 打造后端服务

从社区的探索来看,存在一些完全使用 Node.js 开发的后台服务。但是,也存在一系列由于代码不规范造成的问题。从社区的经验来看,Node.js + Express + MongoDB + Angular/Vue/React,便是一些不错的选择。当然了,也有相当多的应用,只是采用了 Node.js 来完成 BFF 层(Backend For Frontends)。在这一层业务上,它只做业务数据的中间处理。

虽然,我经常建议在一些关键的节点上,不要采用 Node.js 来打造后台服务。可一旦涉及到 SPA 的服务端渲染,我们就不得不使用 Express、Koa 等这样的服务端 JavaScript/TypeScript 框架,来解决这样的问题。

Serverless

作为一种折中方案,也是我最喜欢的方案。Serverless 架构是指大量依赖第三方服务(也叫做后端即服务,即“BaaS”)或暂存容器中运行的自定义代码(函数即服务,即“FaaS”)的应用程序,函数是无服务器架构中抽象语言运行时的最小单位。

采用 Serverless 架构,也就意味着,我们提取出了大量的基础设施。而使用 Node.js + JavaScript 作为胶水,来快速连接不同的服务,以形成一个快速有效的方案。并且,编写更少的代码,也意味着更安全、快速。

除了直接基于 AWS 的 Serverless Framework 框架的方案,还有 OpenFaaS、Kubeless、OpenWhisk、Fission 等不同的 Serverless 框架。

前端架构

由于前端的代码量在不断地增加,前端不在是一个大泥球架构,越来越多的新架构,将出现在前端领域。

微前端架构

微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。

从笔者在 2018 年的实践经历来看,微前端架构确实是一个不错的架构方案。它能有效地解决臃肿前端应用、遗留前端应用和复杂前端应用。我们在项目上尝试使用了多种不同的实践方式:微件化、微应用化、路由分发、前端微服务化等。将一个应用分解,拆解成更多的应用,确实能相对高效地提升开发效率。

如果你们的应用已经相当的大,记得采用微前端相应的技术。还有阅读我写的《微前端的那些事儿》。

组件库及设计系统

自 Ant Design 的圣诞节事件之后,我相信:在 2019 年,有越来越多的团队将构建自己的组件库。一种颇为简单的方案,便是:

  1. 评审一个开源组件库 Ant Design、Material Design 等
  2. 在开源组件库的基础上,进行二次封装。如 <AutoComplete /> 变成 <pho-AutoComplete>
  3. 替换部分的开源组件代码

随后,在那些的基础上,加入自己的模式库和设计系统。

BFF 架构

 

有越来越多的系统中,出于应对多端(Android、iOS、Web)变化的考虑,便在后端做数据相关的处理工作。为了更好的解耦业务逻辑,并提供更快的业务响应,便在这一层级采用了 BFF 架构。BFF 全称是 Backends For Frontends (服务于前端的后端),它是指在设计 API 时根据不同的设备类型,来返回不同的结果。

除了,采用 Node.js 中相应的后端框架,作为 BFF 层的开发模式。GraphQL 是在 2018 年特别流行的一种 BFF 模式,毫无疑问在 2019 年也是一个值得考虑的方案。

HTML 5 大型游戏

随着移动端的性能不断变好,在 2019 年,我开始看好使用 HTML 5 技术来开发一些游戏。当然了,主要原因还是微信小游戏的出现。但是,不管怎样,我开始尝试在这个领域的探索。

前端 in 前端

前端领域,在 2018 年已经趋于平衡,Angular、Vue、React 都没有出现太大的变化。

框架

架构选型上,也趋势于平衡。该用啥的还是用啥,偶尔还是会出现一些框架切换的新闻。尽管在 2019 年,会出现一些新的框架,但是还不太可能快引起变化。

TypeScript

TypeScript 真香。

前端,新看点不多——技术娱乐新闻,倒是不少。

前端 in IoT

 

从 2018 年的趋势来看,至少物联网会在 2019 出现一定的上升趋势。目前的主要表现阶段,是在智能家居相关的领域。如果只是就一领域而言,那大抵还是不错的。

笔者在撰写《自己动手设计物联网》时,使用的技术便是 JavaScript 作为后端和 Web 前端、移动应用的开发技术。而无疑的物联网领域,除了现有的 Web 领域,还有各个地方都可以使用 JavaScript 作为开发语言。

  • 嵌入式 UI 界面。对于处理器资源丰富的设计来说,它们可以采用完整的浏览器来运行前端应用,而不再是裁剪过的引擎。
  • 智能音箱。在过去一年里,已经成为了一个新的入口了。而诸如 AWS Alexa 等都可以采用 Node.js 来开发语言技能。
  • 嵌入式开发语言。诸如可以使用 JavaScript 作为开发语言的 IoT.js。事实上,它会变成类似于 Emacs 架构,由原生来实现编译器,由动态语言来增长特性。
  • ……

你觉得呢?

开发工具完善

开发工具的完善,一直在每年的规划里。在 2019 年里,也是如此,引入更好的工具,如更好的拖拽工具,更好的代码生成工具——由 AI 生成。

前端 in mobile

前端 in mobile,指的是用前端的技术来开发移动应用。

RN 及 Flutter

依我的角度来看,使用什么跨平台框架来看,区别并不是太大。目前主流的方案,仍然是原生(含跨平台框架) + HTML5 应用。从业务的角度上来看待这个问题,那么还是希望,可以用 HTML 5 的地方多——更新功能方便。

也因此,虽然在过去,笔者写过基于 React Native 的混合应用框架 Dore。我相信:Flutter 也会出现这样的混合应用框架。不过,对于有原生开发能力的团队来说,它们的框架还会是三部分:

  • 原生功能部分
  • 原生 + H5 的频繁更新部分
  • Fultter 的跨平台部分

写业务嘛,框架都只是工具。

小程序

小程序,即 HTML5 小程序,即无需安装即可下载运行的应用程序。与普通的移动 Web 应用不同的是,小程序相当于是高阶版的混合应用

如果只是从这一点上来看,其实是不是和微信一样的定制型小程序,并不是那么重要。重要的,在于与原生界面结合,并提供离线使用功能。它也是小程序与普通的 HTML 应用的区别。

安全

从 2018 年的前端社区经验来看,NPM 包的安全,也成为了一个值得考虑的问题。

因此 2019 年,也不得不进行相应的安全机制的设计。

因此 2020年,也不得不进行相应的安全机制的设计。

因此 2021 年,也不得不进行相应的安全机制的设计。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=30343
赞同 0
评论 0 条
prtyaaL0
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1325
银河麒麟打印带有图像的文档时出错  1238
银河麒麟添加打印机时,出现“server-error-internal-error”  1025
统信桌面专业版【如何查询系统安装时间】  953
统信操作系统各版本介绍  946
统信桌面专业版【全盘安装UOS系统】介绍  905
麒麟系统也能完整体验微信啦!  892
统信【启动盘制作工具】使用介绍  501
统信桌面专业版【一个U盘做多个系统启动盘】的方法  443
信刻全自动档案蓝光光盘检测一体机  389
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!