點擊上方「Python進擊者」,選擇「星標」公眾號
Hello,我是Kuls.
又已經有一段時間沒寫原創了,今天總算閒了一會,趁著這個閒暇來寫篇文章。
今天我想以個人觀點來簡單說說Java後端開發和Python後端開發的區別。
Java&Python BackEnd公眾號老粉可能知道公眾號以前的名稱是JAVAandPython君,後面才改名為Python進擊者。
為什麼起這個名稱?
其實很簡單,因為我在高中時自學編程學的就是Java,當時Python還沒現在這麼火。之後進入大學,幫老師做項目就偶然學了Python。
回歸正題
Java和Python開發後端的區別,從我個人最直觀的感受就是
1、簡易度
Python後端框架最火的就是Django和flask,我也寫過這兩個框架的系列文章,感興趣的可以去看看。就拿flask來說:
from flask import Flask
app = Flask(__name__)
@app.route("/hello", methods=["GET"])
def hello1():
return "hello 1"
if __name__ == '__main__':
app.run(debug=True)我們只需要這幾行代碼就能夠寫出一個簡單的接口。而且只需要一個文件即可。
但是在springboot中(微服務框架),我們首先需要創建一個微服務項目,然後創建controller包,然後創建一個Controller,再編寫接口。
/**
* @author kuls
* @Desc kuls
* @date 2020/10/26 17:00
*/
@Controller
public class DemoController {
@GetMapping("/")
public String demo(){
return "123";
}
}從文件目錄來看,Java項目的文件也相對於flask的一個文件來說多了許多。
從上面來看,Java的複雜度是高於Python的。但是我們不能稱之為Java的劣勢,因為複雜度越高也側面說明了Java的可塑性會更大,這個我們後面也會說。
2、項目架構
了解Python或者Java中任一web框架並且都開發過的朋友,應該有個很明顯的感受,就是感覺Java的項目架構更加的清晰明了,仿佛是一種行業內的規定。
但是在Python中我們的項目架構更多的是自己去定義甚至可以不需要。
springboot項目架構
flask項目架構
3、生態環境
生態環境也許是Java後端更火的原因之一吧。Java的後端生態真的是數一數二的地位,它說第二沒人敢說第一。
像很多的大型網站或平臺都是用Java做主要支撐的,例如淘寶、支付寶、京東、開源中國、中國移動等。
當然像這些大型網站不可能只用一種語言來寫後端,但是主體的支撐還是Java。
在大型網站裡用Python來做支撐的其實並不是非常的多,但是也有,例如豆瓣、youtube等。
從這個對比中,可以間接的看出Java的生態是非常強大的,如果你想使用什麼技術,基本都會和Java的一些框架整合在一起。
總結除了上面我的一些直觀感受,Java後端的優勢確實還是有許多,例如性能、並發等。
可能有些小夥伴會說,那做Python後端還有前途嗎?
我個人認為,語言之間是沒有好與壞之分,Python前期很容易上手,但是到了後期不管是Python還是Java都同樣的難,所以不要在意這些東西,如果很想一探究竟,那就都去嘗試一下,你可能會找到自己的答案。
ps: 本文是突發奇想寫的,可能會出現錯誤,如果有錯誤請跟我聯繫或者在討論區留言
我是kuls