看到总是一堆前端的“后端大神”各种宣扬nodejs,就应该能明白,不是单纯技术栈的问题,而是用nodejs的工程师没有后端经验的问题。
如果有了,干嘛非要吊死在nodejs上呢,之前各种吹嘘的统一技术栈,全栈工程师,几年过去了来回蹦哒的还是那么几个人。
语言的差距根本不重要,做为一个后端工程师,不会点java,python,groovy,go神马的吗,语言本身就是工具,什么场景选用什么工具,很正常啊。
而且重点要考虑不要有太多异构,维护起来太麻烦。
还要考虑开发者群体。
还要考虑第三方是否支持提供对应的sdk。
还要考虑是否有遗留系统。
这些都要考虑进去才好做一个架构选型,对不对。
nodejs最适合的场景还是提供小型的工具服务,前端工程师自己一个人什么都能做,不需要了解太多后端的知识,会读写db,用个缓存就可以搞定的场景。
轻便,简单,快捷,在这个领域里最大的优势就是真的可以是全栈~php都比不上。
但反过来说,你让一个android工程师写java后端试试?
另外再补充一句,很多人说后端工程师不想让前端的人做后端,是怕抢了自己的饭碗。
一直都感觉这是有多无知才能意淫出这种场景。
go出来之后,用go最多的还是以前后端那帮人吧。
nodejs如果真的是各种6,原来的后端工程师一定一窝蜂的转去啦~
我打100个赌,你一个前端做后端,和一个java转nodejs,最容易的一定是后者~
反过来是angularjs带着一堆后端正儿八经的抢了传统前端的份额,也就是css这部分是大多数后端搞不定的事情。
但这又什么意义呢?
就算你真的是大神,还是要分工种开发,一个是成本,一个是效率,一个是规范。
这三者决定了在稍大点规模的情况下必须细分岗位职责。