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

Python017

Bowery为什么放弃Node.js,转向Go语言,第1张

强大的跨平台编程能力

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 是完爆 Node

的。性能,内存开销,静态类型,对异步的处理,异常的处理,可调试性,系统稳定度,工具链的成熟度,等等,都是 go 占优。但是 Node

在依赖处理方面更好,npm 对依赖版本的管理 (go 的依赖不能指定版本,还需要借助非官方的工具)非常优秀,另外 Node 社区的活跃度要比

go 好,如果你想要快速做一个东西,npm 上各种现成的包可以用。

Node 在做网站这方面,尤其是需要直接面向用户的 http

服务器这方面,有一个天然的优势,那就是前后端的语言统一。一方面可以减少切换语言的脑力成本,提高开发者的效率,另一方面可以实现前后端共享模板,从而

实现首屏服务器渲染,局部更新浏览器渲染的架构,提高首屏的加载速度。

如果你做的网站后台就是个简单的 CRUD 应用,或者是做产品原型,或者你同时还想兼顾前端,Node 会是更好的选择;但如果你的后台很复杂,需要区分各种服务,搞数据分析,分布式集群等等,那绝对是选 go。

最后,其实两者结合起来用也是完全可以的,把 Node 作为面向用户的大前端的一部分,专门负责页面的生成,后端用 go 或者其他语言实现,前后端之间通过规范的数据接口通信。

为什么 Node.js 很糟糕

注:这是一篇翻译文章,不代表我们的观点!

Node.JS是一个非常糟糕的平台,他的糟糕之处体现在非常简单而重要的一个方面,就是他的核心工作机制:基于I/O的回调。

我想大家现在都知道。这种方式编写代码是很糟糕的。一段时间前我注意到了这个事情,

在使用了Go语言几周后我喜欢上了他。使得,我承认Go语言比python少了一些动态特性,而导致做开发的时候可能会多出一些任务(主要是做一些样

板)。Go比Python还少了一些“magic”的性质,从而代码具有明确性。

Go的这种明确性使得你更容易的阅读源代码。因为没有了这些“magic”特性,你就

弊,Python的开发速度要快,而Go的代码维护要容易。

可是,当你把这些事情往Node.JS上想的时候,你会发现没有了代码可维护性、没有了安心、得到了速度。可是我想说你真的得到了速度么?因为在此同时你同时失去了简易开发和简单维护。

我花费了很长时间去学习Node.JS,并试着做了一些东西,但是并没有成功,我是真的不知道从何开始。

通常我评价一个技术的好坏,是通过它自身的一些性质。是否容易上手、是否能帮助我提高

生产力、文档做的好不好、有没有帮助资源。很显然Node.JS没能通过上面的测试。在我学习了那么久之后我仍然没有做出一个产品。API参考虽然已经文

我看到HN(Hacker News)上的一些人说Node.JS有多好。我当时认为这些人都是很聪明的,Node.JS应该是一个不错的平台。很不幸,我花费了几个月时间最终发现这是一个非常糟糕的平台。我没能写出一点读起来很舒服的代码,(当然写起来也是很不舒服)

我开始怀疑我的编程能力!

当然,一些读者可能会说:我们将Node.JS用到的生产环境,所以这是你的无能。

也好,我接受,可能是我钻到某个牛角尖里了。但是我所说的权衡利弊的问题仍然成立,为了满足所承诺的可扩展性,你必须牺牲代码的可读性和可写性。而在Python下你可以非常方便的扩展。你可用gevent

,一个基于网络库/服务器的并发框架。这就意味着IO阻塞将不再是问题,剩下的唯一问题是python的解释器,而这也可以通过分布式多服务器来解决负载均衡问题。

现在只有一件事情是Node.js可以而Python不可以的,那就是

websockets。实际上我不确定是不是python确实不能,在Google后也许会找到一些方案。当然

Go可以很容易的实现websockets(go get code.google./p/go./websocket)

即便你认为websocket就是你使用Node.js的原因,但是我想说你仍然可以选择使用Node.js实现websocket,而其余部分都是用Python来做。这里有个例子

。是的,这个架构设计(联合Python和Node.js)可能是有点令人费解,但是还是要比使用Node.js开发整个web程序要好的多。

为什么最近天气很糟糕

那跟心情有。心情好,看见乌云和下雨都是美丽。快乐是一天,不快乐也是一天,为什么要选择悲伤度过呢?人生不满百,莫怀千岁忧。把快乐的钥匙掌握在自己手中吧!祝你快乐!

为什么这些UI设计很糟糕

那些糟糕的UI设计大多数没有创意,不注重细节,没有让人眼前一亮的元素构成,多花些心思在细节上自然能博人眼球,但是也要注意不要过多的细节,那样会使得整个作品主体不明。

Nitendo Switch品控很糟糕?

毕竟第一款产品不会太完美。有反应摇杆,外壳质量等问题的。很糟糕倒不至于,但评价确实不是太好。感觉不是太“精密”那种

15岁、皮肤很糟糕、

生活作息很重要喔~

还有因为你年纪还小

用点天然的的好,

用用洗面奶+爽肤水+隔离霜+卸妆油就可以了

皮肤水分足够 密度变小 黑头 豆豆 毛孔 随之都能漫漫解决了

偶尔用用补水面膜、或者DIY一些天然面膜就可以啦

生病时你为什么会感觉很糟糕

你好朋友

家家有本难念的经,这本经由不得你念不念‘总在你的命运中逃也逃不了的

生容易,活容易,生活却不容易。别发愁,这个社会的和你差不多还很多,但是都快乐的生活着,并不是每个人都能成功的,只要你努力对待每件事情,对生活认真一点,只要你认真对待每一天,不管你的人生怎么样,我相信都是精彩的。加油吧!。

宝马528很糟糕吗

2011宝马528Li 好!3.0T L6,8AT!

代步推荐:2012款进口福特福克斯

2011款大众高尔夫

2011款起亚K2!

啊!为什么白羊座的女生,很糟糕啊?

谁说的?不糟啊 之所以说白羊座的人值得爱,并不是因为他们有多优秀,而恰恰是因为他们的不完美……

在白羊座的字典里永远没有“利用”两个字,他们不懂得什么叫阿谀奉承,什么叫阳奉阴违,白羊座的人选择人做朋友永远是看你是否“值得交”,而不是看你是否“有价值”。

在白羊座的字典里永远没有“上赶着”三个字,白羊座的人永远只会去留意那些善意的向他们示好的人们,而不会为了达到某种目的去刻意与人攀关系。

白羊座的人并不是真的“很傻很无邪”,而是“很真很潇洒”,他们并不是不了解现实的残酷,并不是看 *** 人与人之间利益的熏染,而是他们不想争,不想争并不代表没有野心,不想争并不是因为无能,而是在他们看来,一辈子的友情远远值钱于那短暂的利益……

就算有一天白羊座的人想去争了也是选择“增加自己绳子的长度”,而不是费劲脑汁地扯断别人的绳子……白羊座的人永远不会为了所谓的“自己的利益”而与朋友撕破脸,他们这种不易被察觉的豁达是一般星座人比不了的。

永远不要和白羊座的人玩心机,他们不计较不代表他们傻,不要因为自己占了白羊座便宜就沾沾自喜,不要以为你伤害了重友情的他们他们就会为此而苦恼……白羊座的热情和绝情只在转瞬间,他们只在乎在乎他们的人,对于他们来说被骗点感情和钱不算什么,说的再讽刺一点就是多你一个不多,少你一个不少,如果你选择背叛出卖他们,都不用他们刻意的把你当屁放了,你自己就顺理成章的把自己归为不是个玩意那堆里了。

你可以有本事让白羊座的人“认输”“认栽”“认倒霉”,但是白羊座人的字典里永远没有“认错”两个字,明明他们也知道是自己的错。请原谅白羊座人这个最大的毛病——好面子,其实他们心里特别想跟你和好,所以这个时候希望你能给他们一个小小的台阶下……我敢说他们马上就会主动反省,向你道歉的。

白羊座的人脾气急,易冲动。与白羊座的人相处要时刻绷紧神经,要紧跟他们的步伐,这样才会让他们感觉到与你合作的痛快、默契,合拍。

白羊座的人永远都是刀子嘴豆腐心,他们最毒的地方永远都是那张一天白呼个没完没了的嘴,请不要怕与白羊座的人争吵,因为只要他们还能跟你说话,就说明事情还没到不能商量不能解决的地步,说明他们还没有真的生气。真正被惹怒的白羊座往往是连瞅都不稀瞅你的。

白羊座永远都是那么的倔强,如果他们讨厌一个人,就一定要表现出来,一定要让那个人知道,就算水深火热当中,也绝对要咬紧牙关绝不张口向那个人请求支援……所以说抗战时期的白羊座如果被俘虏了绝对是死的最惨的那批。

白羊座的人最为真实,他们把怒哀乐都表现在脸上,不懂得什么是伪装,什么叫强颜欢笑,从来都是有一说一,有二就不会说三。

就算你很 *** ,或很坏,白羊座的人都不会介意,只要你表现的真实,骚但不装清纯,坏但不藏心机,就会被白羊座的人欣赏。

如果你与他们冷战很久想要缓解,慢慢来,别太热情,会吓到小白羊的,会让他们觉得受宠若惊,他们不太会表达自己的感情,不知道怎么去回报别人,可是对他们好的他们会永远记得,有好东西一定与你分享,如果你们分享不到他们的东西,那一定是因为他们没钱而不是不想花钱。

白羊座的人在正常情况说出的话就一定是真的,请相信他们。白羊座的人最讨厌的就是自以为是的人,那种总是用自己的思想去揣摩他们心理得人。他们最讨厌别人对他们的话不相信,然后说什么“你是不是这么想的你心里清楚”之类的话……白羊座的人会觉得特别委屈。要记住社会再黑暗,人们再圆滑,也还是有一些人保持心中的那一份净土,对别人坦诚的,那就是白羊座。

白羊座的人很难做人的,其实他们骨子里相当孤傲的,很喜欢安静,不喜欢多说话,可是又不得不想让周围的人因为他们的存在而感到快乐和幸福!所以,稍微稳当点的白羊座会被人说成清高,活泼点的就被人说成“二”……请理解白羊座,清高的并没有瞧不起谁,“二”的只是为了你们能开心,幸福。

为什么说惊天动地官服很糟糕?

挂太多 商店东西昂贵

我们这种老玩家 越玩越寒心

东西贵 就先不讲

辛辛苦苦的练技能

人家用挂练 你说你心里能平衡吗?

人家挂50双长老的时候,你呢?

100级才双高!!

你100级了人家170了早,人家一身ZF轻盈,你呢?白的一片!

你有1000块的话告诉你,GM号送你