与往常一样,ThoughtWorks技术雷达涵盖了四方面内容:语言与框架、平台、技术和工具,而且其中每个领域都会有四方面内容:采用、试用、评估及保留。本文列举了相关领域中较新和值得注意的内容。
语言与框架
采用: Ember.js 由于其生产力方面的优势而被推荐用于单页应用程序,而 Redux 自从 6 个月之前被列入“试用”级别之后,现在终于可以升级了,因为它已经在多个 ThoughtWorks 的项目中被证明可以作为一个单独的工具使用。
试用: Enzyme 因快速 UI 测度而入选, Phoenix 因其易于使用并且速度快而入选, Quick 加上 Nimble 因其为 Swift 和 Objective-C 提供了可读的测试而入选。
评估:包括 ECMAScript 2017、JuMP、Physical Web、Rapidoid、ReSwift、Three.js、Vue.js 和 WebRTC 等在内的多种新的,或者有些已经不是那么新的语言和框架已经被推荐让大家评估。他们现在都是第一次出现在雷达之上。
保留:自从 AngularJS v1.x 于 2014 年 7 月出现在雷达上之后,它已经在一些新项目上被暂时叫停了,原因是要“小心前进”,因为大家现在都由于速度和代码可维护性的原因而更喜欢 Ember、React 或 Redux 等。有趣的是他们对 Angular 2.0 都不置一词。
平台
采用:向各网站维护者推荐 HTTP 严格传输安全( HTTP Strict Transport Security ,HSTS)来防止降级攻击,同时使用 Linux 安全模块来避免一些 Linux 安全漏洞是很有效的。
试用:推荐使用 Auth0 ,因为它有“易于整合、支持的协议和连接器范围广、多样的管理 API”特性,另外大家都看好 Unity 是一个打造 VR 或 AR 体验的好平台。
评估:ThoughtWorks 推荐大家评估下列平台对公司的影响:AWS 应用程序负载均衡器、Electron、Ethereum、HoloLens、India Stack、Nuance、OpenVR、Tarantool 和 wit.ai 等。Cassandra 的推荐等级为适度。
保留:CMS 不被推荐用于大型应用程序。过度野心勃勃的 API 网关会让开发变得“难于测试和部署”。
技术
采用:尽管这是在雷达上的第一次亮相,流水线 _ 即代码 _ 却直接登上了榜首,因为它在“通过代码来定义部署流水线,而不是配置一个运行时的 CI 或 CD 工具”。已有的工具包括 LambdaCD 、 Drone 、 GoCD 、 GoMatic 和 Concourse 等。
试用:_API 即产品 _ 很受欢迎,因为它们让客户有可能快速地衡量他们可以提供什么,并且通过将能力重组来获得新特性。轻量级架构决策记录也作为一种技术受到了推荐,因为可以“在保存上下文和因果关系的同时,捕获重要的架构决策”。
评估:有好几项新技术被推荐给大家评估:Client-directed Query、Container Security Scanning、Differential Privacy 和 Micro Front-ends。后者是一种模仿了微服务开发风格的前端 Web 开发技术。网站的页面或功能自始至终都被委托给一个小开发团队负责。
保留:在这一类中我们可以看到 Anemic REST,它意味着“开发非常天真的服务,简单地通过模板化的 URL 来展示静态的、分级的数据模型”。以后没人会用了。
工具
和预想的一样,这是雷达的四个象限中变化最大的一个,推荐列表中有许多新增的和改变的。
采用: Babel (一个 JavaScript 编译器)和 Graphana (一个生成白板的工具)在第一次出现就登上了榜首。
试用:Fastlane、Galen、JSONassert、Pa11y、Talisman 和 tmate 都是推荐大家在项目中尝试使用的新增项,如果相应的技术在项目中慢慢地不再满足需求时它们可以用来应应急。
评估:Android-x86、Axios、Bottled Water(一个流工具)、Clojure.spec、 FBSnapshotTestcase (测试 iOS 应用的可见界面)和 Scikit-learn (一个用 Python 写的机器学习库)都是这一类中的新增项。
保留:ThoughtWorks 建议大家不要再把 Jenkins 用于部署流水线了,因为它的构建目标并不是“部署流水线的最佳表示”。其它的可选的替代品包括 ConcourseCI 、 LambdaCD 、 Spinnaker 、 Drone 或 GoCD 等。
如果想了解更多 ThoughtWorks 认为值得推荐的科技相关的细节,我们推荐读读雷达。
评论