Web开发在2015年及未来的发展趋势
作者:网络转载 发布时间:[ 2014/10/9 11:08:25 ] 推荐标签:Web测试 软件开发
这里是一些服务器端 Web 栈的观察结果:
Ruby 栈特别是 RoR 正在失去动力且大型 Rails 应用正被重建成其他的技术栈。
使用动态语言(Ruby 和 Python)做 Web 开发已逐渐失去其吸引力。
Node.js 更多地被采用到构建后端 RESTful 服务特别是在移动领域。
用于前端开发的基于 Node.js 的命令行工具的出现。
微软 .NET Web 栈和开放规范 OWIN 将发生大转变 – 这实际上对 ASP.NET 和 Node.js 都是好事。
实时 Web 应用的出现
对 2015 年及以后的预测
哪种技术会称霸 2015 年?哪种技术会失去其势头?我深深地感受到使用动态语言做 Web 开发的时代要结束了。而 Node.js 会再接再厉在新兴技术市场乘势而上吗?我不这么认为。自 2011 年起我已经主要在写 Node.js 代码并打算为此写一本书,但后来还是放弃了这个计划。近我已离开了 Node.js 平台,原因如下:
Node.js 总被强调是一种用于构建高性能应用程序的技术,但对大型应用来说,它对性能的支持超过可用性和可维护性将是一个大的难题。所以我预测在近期会有许多大型 Node.js 应用因可维护性问题而失败,过度炒作 Node.js 的时代将会结束。
回调地狱。我知道 generator 和 promise 是解决回调地狱的好方法。Koa.js 之类的框架都是以牺牲性能为代价提供了解决方法。但对我来说依然有许多问题解决不了。
JavaScript 语言对我来说也是个问题。JavaScript 并不适合构建大规模的应用程序。
Node.js 是一个极简的平台。对我来说,它好是可以构建基于 JSON 的 REST API 和实时系统。我希望可以利用单一的技术栈开发各种各样的应用程序。但问题是当执行 CPU 运算逻辑(CPU crunching logic)时 Node.js 总是会失败。
我使用 Node.js 的这些问题其他人也会有,在出错处理、调试和可用性上还会有许多实用性方面的问题。我相信可维护性将是大型 Node.js 应用的一个大难题。如果你在 Node.js 上构建 RESTful 服务,我强烈建议你使用沃尔玛开发的 Hapi.js 框架,它真的做得很好。我非常欣赏 Hapi.js 的作者 Eran Hammer 。
在 2015 年我看好 Go 语言,不仅仅是用于 Web 开发,还作为构建分布式应用的一个技术生态系统。对我来说,Go 是比 Node.js 更好的选择。我预测 2015 年许多 Ruby 和 Node.js 开发者会迁移到 Go 。
接下来是我对 2015 年及以后的一些预测:
注重性能的 Web 应用由 Rails 重建到其它栈的做法将达到高峰值。
至少对注重性能的 Web 应用来说,用动态语言做 Web 开发的时代要结束了。
许多 Node.js 应用会陷入可维护性的问题。追求性能超过了可用性和可维护性可能会使 Node.js 失败。
Go 将作为一种通用的编程语言出现,吸引着 Web 开发者社区。Go 会很好的替代 Java 与动态语言还有 Node.js 社区。
Go 将继 Cobol 和 Java 成为下一代企业大范围使用的语言,但还需要时间。Go 是云时代的语言。
Java 与 .Net 栈将会继续其中、大型企业应用的势头,但会慢慢地在 Web 开发中没落。
Go:2015 及未来的技术
近出现了许多用 Go 开发的应用,包括 Docker 和 Packer.IO 。我预测 Go 将会在各种不同的社区中产生巨大的吸引力,包括 Java、Ruby、Python 和 Node.js 。Go 是静态类型语言却提供了动态类型语言生产力的灵活性。在 Go 语言中,并发性是核心编程语言的一等公民。类似 C 和 C++ ,Go 编译成原生机器码;而不像 Java 和 .Net ,它不需要任何 JIT 编译。我爱上了 Go 的简单性、实用的设计和相当好用的包系统。也许它不适合构建传统的 Web 应用,但适合做提供 RESTful 服务的 HTTP 服务器。在未来,你也许还可以用 Go 开发 Android 应用。Go 的优势是它是一种通用编程语言,可以用于任何可能的场景 – 包括系统编程和大型分布式商业应用。我强烈感受到 Go 是属于云时代的分布式、并发、并行计算的语言。Go 可以在企业中成为下一个 Java 。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南