开发者资讯

 首页 > 开发者资讯 > 编程开发 > Bowery为什么放弃Node.js,转向Go?

Bowery为什么放弃Node.js,转向Go?

分享到:
【字体:
导读:
          Bowery是一个基于云技术的开发平台,强大的协同处理技术让即使分散各地的团队成员都能无缝地进行工作。在2014年进行的一次由Node js转到Go的变更中,Bowery获得了不错的性能提升。Go语言自从面世就受到了很多开发

Bowery是一个基于云技术的开发平台,强大的协同处理技术让即使分散各地的团队成员都能无缝地进行工作。在2014年进行的一次由Node.js转到Go的变更中,Bowery获得了不错的性能提升。

Go语言自从面世就受到了很多开发者的欢迎,越来越多的项目基于Go语言实现,例如非常著名的云计算项目Docker。而本文作者分享了其从Node.js转到Go语言后,整个开发平台的性能得到显著提升,并从中总结出Go的六大亮点。

以下为译文:

Bowery是一个基于云技术的开发平台,强大的协同处理技术让即使分散各地的团队成员都能无缝地进行工作。在2014年进行的一次由Node.js转到Go的变更中,Bowery获得了不错的性能提升。那么Go有哪些亮点值得开发者关注的呢?

强大的跨平台编程能力

Bowery团队指出Go能很方便地在不同系统里进行程序编译,这是他们转入Go的重要原因之一。

作为开发平台,对Linux,Windows,OSX等常见操作系统提供支援是能否吸引开发者的基本要素。在Go中,开发者可以针对不同操作系统定义不同的文件来实现相同的功能函数。Bowery团队成员Larz在创建Prompt应用(命令行输入)时,就是借助Go而轻松实现了跨平台编译。而开发者要做的,就是设置好不同的环境变量。

快速部署

在Go平台中,从测试环境到真实环境的切换是非常便捷的,因为它无需额外的系统依赖。特别是对于Bowery提供给用户的命令行工具来说,用户无需安装Java,RVM或者NPM等工具便可正常运行。

并发处理

Node.js在并发处理方面处于劣势,仅有I/O程序或计时器运行在并发模式。因此如果希望打造一个快速响应的跨程序通讯系统,Go无疑是更好的选择。Go提供了低级别的并发处理基元,例如mutexes、wait groups等等。

整合测试框架

如果希望找到一个标准化的整合测试框架,不妨进入Go来体验一番,它内建了完整的测试包,免去了四处寻找的麻烦。如果想编写一个新的测试套件,只要把_test.go文件添加到相同的包里就可以了。有关Go测试的更多信息,请点击这里进行访问。

标准库

Go提供了标准库,标准库的好处是无需包含其他扩展库,从而能节省开发时间并且还提高了健壮性。

强大的开发者工作流工具

Go的工作区界面能帮助建立标准化的工作流,虽然这或许会压缩了开发的自由度,但得到的是一个结构化的有条理的工作区:该区有三个根目录,src用于放置源码包,pkg用于放置编译包,bin放置的是执行文件。把源码和依赖文件集中存储的好处是使团队成员都有一个相同的文档结构,而不会出现杂乱的文档情况。此外gofmt能以相同风格对代码进行格式化,这是一个非常实用的功能。所以一旦需要进行调试,只需集中精力解决当前问题而无需分心处理结构或风格等琐碎问题。

最后总结几点Go语言学习心得,希望对新接触Go语言的开发者有所帮助:

 

  • 经常访问官方博客,获取最新Go资讯;
  • 经常访问官方教学文档;
  • 建议浏览Ardan工作室成员Bill Kennedy的Go编程博客;
  • Go by Example上有大量的实例,能帮助开拓视野;
  • GopherAcademy有很多有关Go最佳实践的文章。

 

英文来自:Moving from Node.js to Go at Bowery

分享到:
深入解析NoSQL数据库的分布式算法
系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。正是通过这些尝试逐渐总结出了一...
2015年JavaScript或“亲库而远框架”
Java世界似乎进入了一个churn rate(流失率)的危机,框架和技术在以一种不可持续的速度被挤出和消失。不过我认为社会将会适应以及采取新的实践来回应这一现状。开发者将会把目标从整理框架(如Angular.js和Ember)转移到多种小型专用库混合体,以此来缓解生产的风险并解决来自外部竞争的不同问题。      流失   2...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……