Uber开源内部使用的通用网页开发框架Fusion.js
2018-08-02 18:10:31 | 来源:ithome | 投稿:米娜 | 编辑:dations

原标题:Uber开源内部使用的通用网页开发框架Fusion.js

Uber开源其内部使用的网页框架Fusion.js,该框架能够简化网页开发并产出轻量高性能的应用程序,支援React和Redux等热门函式库,也提供热模组重载、资料感知伺服器端渲染与捆绑拆分等先进功能。而且用Fusion.js开发的...

Uber开源其内部使用的网页框架Fusion.js,该框架能够简化网页开发并产出轻量高性能的应用程序,支援React和Redux等热门函式库,也提供热模组重载、资料感知伺服器端渲染与捆绑拆分等先进功能。而且用Fusion.js开发的应用程序为通用架构,具单一入口档案,且可以在伺服器与浏览器上重复使用程式码。

Uber开发了数百个网页应用程序,其中许多是用于内部管理业务的,而部分是对外面向公众的,为了让数百名工程师都能在同样的技术基础上,开发最佳实践应用程序,Uber网页平台团队建构了Fusion.js,除了提供高品质的框架与先进功能外,也可以同时保持网页平台的动态特性,简化开发并产生高效能网页应用程序。

官方提到,Fusion.js适合那些想要寻找开源样板来建置现代与非平凡(Non-trivial)网页应用程序的开发者。除了提供预先配置好的最佳化样板外,Fusion.js提供基于套件的灵活架构,同样适用于依赖复杂服务层的单一页面或是网页应用程序,可以建置像是追踪日志、量测仪表板等监控应用,以及单元测试等功能。

由于Fusion.js应用程序是通用架构,因此应用程序具有单一入口档案,并且能够在伺服器与浏览器上重复使用程式码。在通用的应用程序中,React元件也能提取资料并在伺服器上渲染成HTML,以减少浏览器载入页面的时间,避免JavaScript△DOM△API造成的额外成本。

单一入口架构使得Fusion.js的插件本身也具有通用性,但并非是指程式码执行的环境,而是允许套件开发者对共同使用的函式库程式码片段定位。另外,套件可以通过中介软件存取HTTP请求生命周期,也可以存取React△Tree以新增Provider元件。

Uber提到,他们近几年遇到的其中一个开发挑战,便是在热门的HTTP伺服器函式库Express中的API,其存在缺点使得复杂的回应转换难以封装与测试。对于Uber以前的架构,应用程序开发者经常需要以猴子修补法,临时维护Express的请求与回应物件,久而久之,程式码越来越凌乱,复杂相互影响的子系统,让测试变得困难。

Uber现在采用了中介软件Koa来解决这个问题,以补足Fusion.js的设计不足,使其拥有更加友善的Context-based△API单元测试方法。Koa为React△Provider元件提供了逻辑整合点,上游与下游抽象与React伺服器渲染的内容生命周期同步,网络带来的副作用与应用程序脱勾后,增加了可测试性。

除了支援Jest、Enzyme和Puppeteer等JavaScript现代测试工具外,Fusion.js也为开发人员提供了测试套件的工具,fusion-test-util软件包允许模拟伺服器,因此开发者可以快速的模拟套件与模拟器间任意的组合。

tags:

上一篇  下一篇

相关:

微服务平台Istio正式释出1.0版,支援Kubernetes跨丛集连线

最初由Google、IBM及Lyft共同开源释出的微服务平台Istio,近日跨出重要的版本里程碑,释出了1.0版。距离第一个释出的0.1版,已经超过一年。Istio团队表示,现在该平台已经逐渐出现大型企业于正式环境中采用的案例,像

资安一周第2期:下载知名开源软件 ,小心误闯山寨官网。变种Spectre漏洞攻击可从远端窃取机器资料

研究人员Ivan△Kwiatkowski发现骇客借由仿造知名软件官网,诱导使用者下载以散布广告程式,骇客相中的知名软件包括Keepass、7-Zip、Clonezilla及Greenshot等等 0725~0731一定要看的资安新闻??山寨官网?下载Keepas

微软Edge开始支援Web Authentication,免密码! 靠指纹、人脸就能登入网页

图片来源: 微软 今年4月时,三大浏览器Google△Chrome、Mozilla△Firefox及Microsoft△Edge,都承诺要支援FIDO2身份验证功能。而近日,微软正式宣布,自家浏览器Edge要开始支援W3C的Web△Authentication标准,让使用

网页版 YouTube 支援垂直视频格式 | 香港 UNWIRE.HK 玩生活.乐科技

YouTube 继日前为 Android 版加入 Dark Mode 介面后,昨日再加入新功能,为了配合使用手机用户垂直拍片的习惯,终于在网页版 YouTube 支援垂直拍摄的视频格式。虽然不少网民讨厌垂直拍摄的视频,但由于使用这方式拍摄

Docker桌面版开始稳定支援Kubernetes

图片来源: Docker 最近开发动能、创新力低靡的Docker,最近看似较有为回春迹象,除了发布新社交版本,也推出应用程序指南,协助企业将老旧应用部署于容器化环境。而近日该公司则是宣布,Docker桌面版要开始稳定支援K

站长推荐: