个人认为,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开发者实现