Java和Python虽然同为后端编程语言,但是在Web开发方面却存在很大差异:Java属于高大上的编程语言,虽然语言在泛型方面不够完整,但是却比较靠谱,企业级应用也为广泛。Python属于小而美,适合做一些内聚性很强的工具。两种编程语言各有优势,下面千锋小编按照自己的理解简单说下Java Web开发和Python Web开发的区别:
Python的好处是开发、部署都很快,变起来很容易,代码量小所以抛弃起来也很容易,不容易背上历史负担;如果你是稳扎稳打写了几百个Java类,那你肯定很难下决心把几百上千行的代码都抛弃掉。Python的缺点是运行起来相对Java来说慢得多,性能有瓶颈的时候Java和Go这样的编译语言的优势就体现出来了,不过大部分公司如果不够快的话,是撑不到性能有瓶颈的时候的。
按照JavaEE的规范,任何servlet都需要直接或间接的实现Servlet接口,即javax.servlet.Servlet,这个接口里面只定义了5个方法,但是因为servlet是协议无关的,要直接实现还是很困难的,所以,曾经的sun给除了实现Servlet接口的类,是javax.servlet.GenericServlet类。而到了Python栈,情况会略有一些变化。简单来说,如果不使用任何Web框架,我们可以完全使用socket的方式来实现,这也就是Python Web应用的本质了。
Python的Web开发使得我们专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以需要一个统一的接口让我们专心用Python编写Web业务,这个接口就是WSGI,感觉和servlet有异曲同工之妙。和Java中servlet中service()不同的是,WSGI接口定义非常简单,只要求Web开发者实现一个函数,就可以响应HTTP请求。
而从架构模式的角度来说,Java中侧重提到MVC,而在Python中则是MTV。简单来说,MVC和MTV是类似的,只是归属于不同的开发目录。都是在已有的实现上解耦合,通过配置和扩展来实现复杂的需求。
终选择什么编程语言做Web开发必须要考虑哪个语言适合后端业务流程。如果是个相对计算密集型的、需要多线程的,那么就应该慎用Python,或者提前将计算密集的部分拆出去单独组成服务。如果是业务本身比较繁杂、变比较频繁的,Python和PHP这样的脚本语言就比较合适。
当然跟程序员的个人喜好也有很大关系。比如有些人死都不会去用Java和PHP,但是也有很多人视Java为信仰,所以开发人员的主观能动性也是很重要的。
相关文章
关注千锋学习站小程序
随时随地免费学习课程
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱