Web Development
Python除了常使用於資料處理、網路爬蟲或機器學習應用外,還可以架設網頁後端服務呢!目前最常見的三種後端技術為:
以上三個我都使用過,但在新兵戰士階段就先碰到Django實在是有點痛苦,MVC架構一次近來有點想吐,對於非本科的我來說實在是有點承受不住,一度放棄Python的網頁應用,轉往玩玩看Desktop GUI,也就是醜醜的Tkinter啦,Tkinter雖然很陽春且醜醜的,但在這個階段我充分的理解到前後端的概念與切版,所以後面學網頁前後端就快啦!我相信任何路線都不會有白走的對吧?
首次接觸Flask
但在接觸很多後端大神所鄙視的Flask後,發現新天地了,原來就是那麼的直覺,能夠在應用端與網頁後端都使用同一個語言實在是順暢,例如資料分析或一些較高深的統計技術大多仰賴Python的套件,在未來就可以直接使用網頁的介面或API介面來使用(以前我還真的使用Tkinter)。
當然了解後端還不夠,使用者是透過網頁介面來操作的,而不是透過url,所以又踏入了初階網頁前端的路,從最幼稚園的html tag開始學起,之後就開始會使用css的相關套件包,這些對我來說就相當夠了,頂多偶爾搭上一些JavaScript。
FastAPI
偶然在社群上看到大家在討論一個比較新的東西叫FastAPI,剛開始想這個名字好中二,真的是很快嗎?所以花了點時間研究一下,發現在開發API的過程中真的是相當有效率,語法上與Flask相當類似,幾乎可以無痛轉換,且改善了不少Flask的缺點,詳細可觀看後續文章,再來最佛的就是API文件無痛產生!
目前FastAPI的社群資源的完整度當然還不及Django與Flask,但相信未來一定會逐漸完備,但在未來Flask 2.X版本也做了不少調整,搞不好會形成兩大架構的良性競爭也不一定。圍觀群眾樂觀其成!
開發前後端專案成為我最愛做的事
前後端的世界實在是太廣太大了,有太多東西可以碰,而且可以實際執行並呈現出來,可以說從挫折、擱置到解決的過程是相當有成就感,尤其從零到一的過程,從資料庫設定與建立資料,到後端架構設計,前端網頁切版模擬使用者體驗,最後再去利用一些技術進行效能提升。
在這些過程中確實就像是在玩一個非常巨大的樂高,我們就是要找到對的元件,把它們都帶入到對的位置,而成品要長的樣子或使用的工法都是由自己決定,我認為這個過程的鍛鍊相當值得,不管是在程式專案上,或是日常生活與工作,每個設計或安排都會變得相當嚴謹,比較容易從大的架構開始拆解成一個一個的任務,就不會有那種「給我一個簡單的網頁就好」的那種言語出現。
Last updated