专栏首页ThoughtWorks2015.5 技术雷达 | 语言和框架篇

2015.5 技术雷达 | 语言和框架篇

(点击图片可查看大图)

自从我们上一次在技术雷达中提到 Nancy (nancyfx.org) 之后,它已然成为了我们在项目上的默认选择。围绕着小而垂直切片的架构和微服务需要的仅仅是这样轻量级的部署选项和不拘小节的工具。

前端 Javascript 框架持续喷井所带来的一个好处是,时不时一个新的主意出现的时候,会引起我们的思考。React.js 是一个 UI/View 框架,在这个框架中,Javascript 函数在一个响应式的数据流中生成 HTML。我们已经见到几个小的项目成功的使用了 React.js,开发人员也被其干净的易组合的组件化方式所吸引。

Spring Boot (projects.spring.io/spring-boot) 能够让独立的基于 Spring 的应用。它非常适合启动新的微服务并且易于部署。它也通过更少的样板代码从而降低了数据访问Hibernate 映射所带来的痛苦。Spring Boot 简化了基于 Spring 的 Java 服务,这是我们所喜欢的,然而同时,我们也学会了一定要对很多依赖保持谨慎。毕竟,潜伏在表面之下的依然是 Spring。

虽然并不是所有的体验都是正面的,AngularJS 依然在 ThoughtWorks 的项目中被广泛的使用着。我们依然建议团队评估单页 Javascript 应用所带来的额外复杂度对于满足需求而言,是不是真的有必要。我们也推荐评估一些其他类似的框架,在这一版的雷达中我们提出 Ember.js,它在 ThoughtWorks 内部也逐渐变得流行。Ember 被人称道的是,它对于惯例胜于配置非常固执己见,并且有着响应迅速的核心开发团队,其性能不错并且有一套基于 ember-cli 的构建工具。

在众多 JavaScript 框架中,我们要强调 Flight.js(flightjs.github.io),Flight 是个用于构建组件的轻量级框架。它没有通过太多“神奇”的东西来为 DOM 节点添加行为。它的事件驱动和基于组件的特点,促使开发人员写出低耦合的代码。这也使得测试单个组件相对容易。然而,当组件需要彼此交互的时候还是需要格外注意。Flight.js 对测试的支持很少,并且容易卷入事件漩涡。 继承与组合,我们喜欢组合,与之类似,我们非常喜欢 Flight.js 用混入的方式处理行为。

经过一些我们在真实世界中的经验,Swift(developer.apple.com/swift)仍然表现出非常好的前景。有些问题,如过长的编译时间,已经得到了解决。然而,持续的语言的变化会导致额外的开发工作,并使得构建你自己老版本的软件非常繁琐。测试和重构也依然痛苦。总之,虽然如此,在为苹果生态圈开发新项目的时候你还是应该考虑使用 Swift。

本文分享自微信公众号 - 思特沃克(ThoughtWorks),作者:思特沃克

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WEB前端安全自查和加固

    前端主要需要考虑的安全问题有npm生态下依赖的安全性、XSS跨站脚本攻击。这个世界上没有绝对的安全,即使CSP这类极其严格的策略都有可能被绕过,前端开发中安全也...

    ThoughtWorks
  • 《面向对象的思考过程》应该是怎样的?

    作者:Matt Weisfeld 仅学习一种特定的开发方法、一种编程语言或者一组设计工具并不能说明学会了“面向对象”这一概念。简单来说,以面向对象方式编程就是一...

    ThoughtWorks
  • 谁动了我的Token | TW洞见

    今日洞见 文章作者/配图来自ThoughtWorks:禚娴静。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网...

    ThoughtWorks
  • 知道临时死区你才能更好的使用 JS 变量

    正确的答案是:第一个代码片段会报 ReferenceError: Cannot access 'Car' before initialization 错误。第二...

    前端小智@大迁世界
  • 转--以io.Writer为例看go中的interface{}

    可见interface是go中很重要的一个特性。 在网上有人问:Go语言中接口到底有啥好处,能否举例说明?于是,我考虑以io.Writer接口为例谈谈inter...

    李海彬
  • 小程序云开发五:从云数据库读取数据

    1:接着昨天的《小程序云开发四:向云数据库插入一条数据》,今天要写的是读取那条插入的数据。

    祈澈菇凉
  • 数据可视化|用Python实现手机抓包,获取当当图书差评数据!

    本次学习了手机抓包的相关知识,了解了Charles-mitmproxy-Appium的基本使用,通过对当当图书评论的爬取,得以实践。

    叫我龙总
  • 一些xresloader(转表工具)的改进

    最近有几个其他项目组的童鞋给我之前的 转表工具链-xresloader 提了几个需求。然后我也根据我们近期一些需求点对转表工具链一起给这套工具做了点功能增强和细...

    owent
  • Linux 下 Awk 命令及示例

    AWK 是一个通用脚本语言,主要设计用来对文本进行高级处理。它最常用于报告和分析工具。

    雪梦科技
  • Apache RocketMQ:简单消息示例

    通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。

    微风-- 轻许--

扫码关注云+社区

领取腾讯云代金券