Home >> Blog >> 什麼是 Flask 以及開發人員如何使用此Web應用框架?

什麼是 Flask 以及開發人員如何使用此Web應用框架?

當談到 Python Web 框架時,Django 和 Flask 是最受歡迎的兩個項目。

我們已經為 Django 框架創建了完整的初學者指南,現在讓我們來看看它的小(但強大)兄弟。

那麼,什麼是 Flask?Flask 是一個面向開發人員的微框架,旨在使他們能夠快速簡單地創建和擴展 Web 應用程式。解釋他們如何做到這一點將需要更多的解開。

首先,我們將簡要介紹 Web 開發人員在數字系統中使用 Python 的主要方式,然後我們將介紹 Flask 微框架本身。

接下來,我們將看看使用它的一些優缺點,並將 Flask 與它更知名的穩定夥伴 Django 進行比較。

可以了,好了?如果您想跳到文章中的某個部分,只需使用目錄:

  1. Web 開發人員如何使用 Python?
  2. 什麼是 Flask 框架?
  3. Flask 的優缺點
  4. Flask 與 Django 框架
  5. 如何學習 Python 進行 Web 開發
  6. 包起來

1、Web開發者如何使用Python?

程式碼語言 Python 不僅僅是資料科學家和分析師的領域。它的靈活性是 Web 開發人員大量學習它並專業地將其用於各種項目的關鍵原因之一。

他們主要使用它來創建可以快速處理資料的強大的後端 Web 應用程式。他們還可以將其用於各種活動,如資料抓取、機器學習和人工智能。

開發人員喜歡 Python 的易用性和效率,因為它可以生成快速加載且安全的網站。甚至在推出階段之前,Python 也非常適合設計和測試原型,允許它們進行迭代和開發,快速達到成品。

如果您正在尋找更具體的實例,我們已經探索了來自 Netflix、Uber 和 Spotify 等公司的一些最著名的 Python 示例。

事實上,學習和使用 Python 進行 Web 開發有很多好處。在使用 Python 開發 Web 應用程式時,有很多可用的選項,但排在最前面的是 Django 和 Flask。

不過現在,讓我們繼續學習更多關於這兩個中的第二個,Flask。

2.什麼是Flask框架?

根據2022 年 Stack Overflow 調查,Flask 在最受歡迎的 20 個 Web 框架中——對於所謂的微框架來說還不錯。

為什麼是這個名字標籤?本質上是因為它不依賴其他工具或編程庫來運行。Flask 剛剛超過 11 歲,與更著名的 Python Web 框架 Django 的年齡大致相同。

為了與以喜劇團 Monty Python 命名的 Python 語言保持一致,整個 Flask 項目本身原本就是一個愚人節的玩笑。創建者 Armin Ronacher 意識到,他一直在開玩笑的東西實際上可以使它成為構建 Web 應用程式的合適框架。它的名字是在一個稍早的 Web 框架Bottle上演的。

Flask 就是所謂的 WSGI 框架。仁慈地發音為“威士忌”,這代表 Web 伺服器網關接口。本質上,這是 Web 伺服器將請求傳遞給 Web 應用程式或框架的一種方式。Flask 依賴於 WSGI 外部庫以及 Jinja2 模板引擎來運行。

這是一個開箱即用的框架,這意味著您可以直接跳入其中——這是它的主要優勢之一。

所以,現在我們知道了 Flask 是什麼,是時候看看開發人員如何使用它了。

三、Flask的優缺點

Flask的優點

可擴展

大小就是一切,Flask 作為一個微框架的地位意味著你可以用它來非常快地發展一個技術項目,比如一個 web 應用程式。如果您想製作一個開始時規模很小但有潛力快速發展並朝著您尚未完全制定的方向發展的應用程式,那麼它是一個理想的選擇。它的使用簡單性和很少的依賴關係使其即使在擴大和擴大規模時也能順利運行。

靈活的

這是 Flask 的核心特性,也是它最大的優勢之一。套用Python 之禪的原則之一,簡單勝於復雜,因為它可以很容易地重新排列和移動。

這不僅有助於讓您的項目輕鬆地向另一個方向移動,還可以確保在更改零件時結構不會崩潰。Flask 的最小特性和開發小型 Web 應用程式的能力意味著它比 Django 本身更靈活。

容易談判

與 Django 一樣,能夠輕鬆找到自己的方式是讓 Web 開發人員能夠快速專注於程式碼而不會陷入困境的關鍵。從本質上講,微框架對於 Web 開發人員來說很容易理解,不僅可以節省他們的時間和精力,還可以讓他們更好地控制自己的代碼和可能的功能。

輕的

當我們將這個術語與工具或框架相關聯時,我們談論的是它的設計——需要組裝和重新組裝的組成部分很少,並且它不依賴於大量的擴展來實現功能. 這種設計為 Web 開發人員提供了一定程度的控制。

Flask 還支持模塊化編程,它的功能可以拆分為幾個可互換的模塊。每個模塊都充當獨立的構建塊,可以執行部分功能。這意味著結構的整個組成部分都是靈活的、可移動的和可自行測試的。

文檔

遵循創建者自己的理論,即“好的文檔設計讓你真正編寫文檔”,Flask 用戶會發現大量以結構化方式排列的示例和技巧。這鼓勵開發人員使用該框架,因為他們可以輕鬆地了解該工具的不同方面和功能。你可以在他們的官方網站上找到 Flask 文檔。

燒瓶的缺點

工具不多

這種微框架的輕量級特性不可避免地存在一些缺點。其中最主要的是,與 Django 不同,Flask 缺少一個大型工具箱。這意味著開發人員將不得不手動添加諸如庫之類的擴展。而且,如果你添加了大量的擴展,它可能會因為大量的請求而開始減慢應用程式本身的速度。

難以熟悉更大的 Flask 應用程式

由於使用 Flask 開發 Web 應用程式可能會經歷各種曲折,因此中途到達項目的 Web 開發人員可能難以接受它的設計方式。我們之前提到的微框架的模塊化特性可能會再次困擾程式碼人員,他們必須熟悉每個組成部分。

維護費用

因為它在可以與哪些技術接口方面非常通用,所以使用 Flask 的公司通常會產生支持這些技術的額外成本。例如,如果與您的 Flask 應用程式交互的技術過時或停產,那麼公司將不得不爭先恐後地尋找新的兼容技術。應用程式越複雜,潛在的維護和實施成本就越高。

4. Flask 與 Django 框架

您現在很可能已經感覺到這兩者之間有很多相似之處。越來越多的人同時提到它們。Flask 和 Django 都旨在讓開發人員輕鬆開始項目,並將它們快速擴展到應用程式中。兩者都易於部署,都使單元測試非常容易,並帶有健康的文檔。

與其他語言相比,允許 Web 開發人員使用 Python 進行更高效的程式碼對於解釋這種吸引力和受歡迎程度有很長的路要走。事實上,在2021 年 JetBrains 對 Python 開發人員的調查中, Django 和 Flask 在流行度方面處於領先地位。但它們有何不同?

用法

知道何時使用哪個的一個好的經驗法則是,Django 適用於大型項目或將保持較小的小型項目,而 Flask 最適合可以快速變大的小型應用程式。

Django 是一個整體,這意味著它試圖成為滿足您需求的完整的一站式商店。就其本身的要求而言,這對於一些開發人員來說可能不是最理想的。或者,作為一個微框架,Flask 可以輕鬆靈活地與其他工具交互,甚至是您在開始時沒有計劃使用的工具。使用 Django,您必須在開始之前定義項目的範圍。

社區支持

與 Django 相比,Flask 的社區更小,組織也更差,所以如果你遇到問題,你不太可能在論壇上找到解決方案,並且尋求幫助的活躍用戶也更少。

一個簡單的檢查方法是在所有網絡論壇之母——Stack Overflow。在編寫帶有 Flask 標籤的46,966 個問題時,對問題的檢查顯示,這個數字與論壇上的273,775 個 Django 問題相比相形見絀。這並不是說 Flask 的社區已經完全死了——它是一個稍微年輕一點的框架,以及它所在的社區。

安全

雖然 Django 為用戶提供了出色的身份驗證和登錄功能,但 Flask 無法提供這一點。但是,微框架確實支持客戶端安全 cookie。一般來說,因為它被認為是一個“包含電池”的框架,所以 Django 往往被認為更安全。

資料庫訪問

對於使用資料庫的開發人員來說,另一個關鍵區別是 Django 和 Flask 提供了多少支持,主要是 ORM。對象關係管理允許 API 輕鬆訪問資料,而無需編寫SQL 命令。

Django 支持 ORM,可以輕鬆編寫複雜的查詢。不幸的是,Flask 開發人員必須自己編寫所有自己的 SQL 語句,這會增加很多額外的工作。

費用

由於相對靈活,Flask 比 Django 更靈活,而從業務成本的角度來看,總體上 Django 的維護成本更低。除了由於可以使用的技術範圍而需要更多支持之外,在工資方面,找到在 Django 方面經驗豐富的開發人員比 Flask 更容易。

在比較兩者並決定作為企業或技術團隊使用哪個項目時,這實際上取決於項目本身的性質和範圍。但是,如果你是一名使用 Python 工作的 Web 開發人員,並且正在決定要熟悉哪個框架,為什麼不兩者兼而有之呢?

使用 Django 和 Flask 推出項目的知識和經驗可以極大地增加您的技能組合的價值(並可能提高您的全棧開發人員薪水)。

但是,如果您尚未將 Python 添加到您的 Web 開發技能集中,那麼讓我們來看看如何開始。

5. 如何學習 Python 進行 Web 開發

有很多方法可以學習世界上 最流行的程式碼語言之一——在線和離線、免費和付費。對於那些從頭開始的人,我們建議使用混合資源。

這樣,您將能夠確定最適合您的學習方式,並獲得所有語言提供的廣泛概述,以及如何作為 Web 開發人員充分利用它。我們在Python 學習分步指南中對此進行了更深入的介紹。

在學習 Flask 方面,你最多應該花費幾週時間來掌握微框架,這取決於你的其他承諾和你的學習目標。YouTube 和 Udemy 上有大量方便的視頻教程,以及 RealPython 提供的簡單示例項目。

6. 總結

到此為止:Flask 微框架的介紹,包括如何掌握它,以及它的優缺點。至關重要的是,技術團隊了解哪些項目 Flask 最適合,哪些項目適合更大的 Django Web 框架。無論哪種方式,任何 Python Web 開發人員都需要至少了解這兩種流行工具中的一種。

如果您有興趣了解有關 Web 開發世界的更多信息,您可能會對這些文章感興趣:

  • 什麼是面向對象編程?所有你必須知道的
  • 什麼是最容易學習的編程語言?
  • 如何在不辭掉日常工作的情況下學習成為一名 Web 開發人員

你現在應該做什麼

  1. 通過我們免費的、自定進度的 Web 開發短期課程,獲得對 Web 開發的動手介紹,並從頭開始構建您的第一個網站。
  2. 與行業專家一起參加我們的免費現場在線 Web 開發活動之一。
  3. 與項目顧問交談,討論職業變化以及如何在 4-7 個月內成為一名合格的 Web 開發人員——並提供工作保證。
  4. 今年 8 月, 申請 100 個“未來就是科技”獎學金之一 ,並 從CareerFoundry 全棧 Web 開發計劃中獲得高達 1,470 美元的優惠。

app

html

id

form

months ago setup

months ago view

for

for

for

for

for

for

for

flask 的世界

text

text

text

app

app

app

app

app

app

app

app

html

html

html

html

html

name

version

version

version

version

result

app route

app route

day

request

request

request

request

request

request

get

get

get

it

it

it

it

it

it

it

it

it

it