nodejs优势在于原型开发快,学习门槛低,简单业务运行效率高于java等后台脚本语言的vm。
劣势同样明显,javascript引擎基于事件的函数回调模型既是优势又是劣势:导致复杂逻辑失控,不能用于生产环境。此架构并非新兴事物,早年的windows 3的消息模型类似:所谓的协同式多任务(不展开)。最终不得不让步于抢占多任务。导致入门易,优化难,难调试,大型业务框架不易成型。
没凉。
做后端的nodejs的使用场景有限,确实不如java和go,坑多且前人经验总结不如其他语言,但是写业务写工具写脚本写中间层应用,nodejs有自己的优势,可惜也不是独有,上手快是真的(这非常重要)。
个人的体会,只代表我自己,如果专注后端开发,不建议nodejs作为主力开发语言,会对自己有局限,而且学到最后也是去学c++了。
对于前端而言,nodejs是必须掌握的,虽然语法都是js,但是目前的发展趋势是前端全干化,后端向云和基础服务下沉,nodejs的优势很明显,贴近业务,扩大前端职能。
让人的产出更好更多更快,对企业有价值,也可以同时帮前端工程师更好的提升自己的视野,了解js,了解整个前后端应用开发流程,也就是所谓的BFF,全称是Backends For Frontends(服务于前端的后端)。
专注做过一段时间后端你就会发现,用什么语言一点也不重要,如果是纯curd,什么语言都差不多,用什么来写curd主要看社区和工具框架成熟度,如果是做后端架构,只会一门语言根本不行,而且环境,机器运维部署,网络等等要学的太多了,也根本不是一个语言的问题能解决的。
总结如下:
nodejs岗位可能确实比较少,也是现实,别压宝一个东西,多学点没毛病。(只是国内,国外看起来发展的真不错)
更重要的是学会看到除了语言之外的东西,比如现代企业,尤其是大企业的用人和职位职能发展趋势。(国内外,gg,fb大多前端都是BFF模式,阿里现在也有这个趋势,当然不一定拿nodejs做,以前是php,比如百度,新浪)
避免撕逼,上面的观点仅仅是我个人体会…随便说的,自己的狭隘视角看到的。
可以用node写后端。
node具备完善的后端开发能力,可以进行文件及数据库等操作,对于小中型网站及应用是完全没有问题的。
但是由于node出现时间相对较晚,还没有经过较长的时间检验,可能还存在一定的不足,所以如果是大型项目就需要认真考虑。
简单来说,前后端分离的缺点是会让开发复杂化。对于大项目,这种方式是没有问题的。而对于小项目,这种其实是不合适的。
因为小项目可能一共就1-2个人开发维护,还要分前后端,这就增大了工作量。
展示方式不同,所用技术不同。前端开发用到的技术包括但不限于html。css。javascript、jquery、Bootstrap、Node.js、AngularJs等技术。后端开发以java为例主要用到的是包括但不限于StrutsspringspringmvcHibernateHttp协议ServletTomcat服务器等技术。
前端开发是创建Web页面或app等前端界面呈现给用户的过程。前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。
在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。
随着互联网技术的发展和HTML。CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。
原文地址:http://www.qianchusai.com/node%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E5%8A%A3%E5%8A%BF.html