【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
目前web后端的开发的方式很多,就自己曾经学过的就有php、js、python、golang、c#、java这六种。另外,其实qt也是可以做web开发的,只是使用的人还比较少,使用上面也不是很方便,这里就暂时不谈了。下面按照学习的顺序说一下这几种开发方式的优缺点,供大家参考。
1)php
php是为了当时搭建个人blog学习的。一般学习的同学,都是从lamp(linux+apache+mysql+php)或者wamp(windows+apache+mysql+php)开始的。php有点类似于jsp,就是往html插入脚本语言,这种开发方式对于简单的网站问题不大,但是处理大型的工业级web开发,其实是不够的,同时配套的资源也没有那么多,动不动库就要自己寻找。简单是php的优点,也是它的缺点,搭个环境熟悉一下web开发,作为个人或者企业内部开发还是可以的。
2)js
js做web开发,主要是因为node.js的兴起。从前,js似乎主要作为前端web、小程序开发的工具,现在也出现了很多的框架用js进行网页后端开发,比如express。但是就我个人的观察,真正用js开发后端的有,但是不多。js虽然可以用npm下载很多的第三方库,但是js有一些自身的缺陷,比如类型检查等等,这些都阻碍了js web的推广。此外node.js出现的时间略晚,在此之前其他语言已经出现了很多优秀的web框架,所以js理论上做web后端没问题,但实际应用远没有想象的那么多。
3)python
python做web开发,对个人来说是非常合适的。简单的web.py、flask,复杂一点的django,都是可以马上开发出自己的网页的。此外,python还有大量成熟的第三方库可以用,这些都是python的优势。只是大家印象中还是把python当作写工具的一种脚本语言,不知道python也是可以转成exe文件、发布网站的。所以,用python做web开发,不在于能不能,而在于自己的网络基础深不深、对http理解深刻不深刻,其他语言能做的python也可以的。
4)golang
golang语言出现的稍晚。很多同学不清楚,其实golang也是可以开发网站的。而且,golang的很多第三方库都是直接来自于github网站,go get下载也很方便。如果对性能有要求,之前也没有怎么开发过网站,直接跳过php、js这些,用golang开发web是最好的选择。
5)c#
在windows开发平台上,用c#开发上位机、动态库、后台服务和网站其实是非常好的一个选择。一门语言,就可以覆盖大部分windows开发场景,这是效率非常高的一种开发方式。只可惜windows phone没有做起来,不然用c#开发app也是非常不错的。抛开专利、版权、费用这些因素,如果只是个人或者小公司开发,用c#还是非常不错的一个选择。
6)java
所有的web开发中,java无疑是一个全能选手。从java服务器程序,到java web开发,再到java android开发,它几乎就是一个全能的存在。从servlet、jsp到spring mvc、spring boot、spring cloud,java也几乎覆盖了企业级开发的全流程。所以,对于大型的web开发,java几乎是无二的选择。但是如果开发的内容并不复杂,其实用php、js、python、golang也是不错的选项。另外java更容易实现跨平台、本身开源,这也是它相对于c#开发的巨大优势。我想,这两点也是很多国内的开发者选择java作为web开发第一语言的主要原因吧。