天天看點

python web-Web開發

最早的軟體都是運作在大型機上的,軟體使用者通過“啞終端”登陸到大型機上去運作軟體。後來随着PC機的興起,軟體開始主要運作在桌面上,而資料庫這樣的軟體運作在伺服器端,這種Client/Server模式簡稱CS架構。

随着網際網路的興起,人們發現,CS架構不适合Web,最大的原因是Web應用程式的修改和更新非常迅速,而CS架構需要每個用戶端逐個更新桌面App,是以,Browser/Server模式開始流行,簡稱BS架構。

在BS架構下,用戶端隻需要浏覽器,應用程式的邏輯和資料都存儲在伺服器端。浏覽器隻需要請求伺服器,擷取Web頁面,并把Web頁面展示給使用者即可。

當然,Web頁面也具有極強的互動性。由于Web頁面是用HTML編寫的,而HTML具備超強的表現力,并且,伺服器端更新後,用戶端無需任何部署就可以使用到新的版本,是以,BS架構迅速流行起來。

今天,除了重量級的軟體如Office,Photoshop等,大部分軟體都以Web形式提供。比如,新浪提供的新聞、部落格、微網誌等服務,均是Web應用。

Web應用開發可以說是目前軟體開發中最重要的部分。Web開發也經曆了好幾個階段:

靜态Web頁面:由文本編輯器直接編輯并生成靜态的HTML頁面,如果要修改Web頁面的内容,就需要再次編輯HTML源檔案,早期的網際網路Web頁面就是靜态的;

CGI:由于靜态Web頁面無法與使用者互動,比如使用者填寫了一個系統資料庫單,靜态Web頁面就無法處理。要處理使用者發送的動态資料,出現了Common Gateway Interface,簡稱CGI,用C/C++編寫。

ASP/JSP/PHP:由于Web應用特點是修改頻繁,用C/C++這樣的低級語言非常不适合Web開發,而腳本語言由于開發效率高,與HTML結合緊密,是以,迅速取代了CGI模式。ASP是微軟推出的用VBScript腳本程式設計的Web開發技術,而JSP用Java來編寫腳本,PHP本身則是開源的腳本語言。

MVC:為了解決直接用腳本語言嵌入HTML導緻的可維護性差的問題,Web應用也引入了Model-View-Controller的模式,來簡化Web開發。ASP發展為ASP.Net,JSP和PHP也有一大堆MVC架構。

目前,Web開發技術仍在快速發展中,異步開發、新的MVVM前端技術層出不窮。

Python的誕生曆史比Web還要早,由于Python是一種解釋型的腳本語言,開發效率高,是以非常适合用來做Web開發。

Python有上百種Web開發架構,有很多成熟的模闆技術,選擇Python開發Web應用,不但開發效率高,而且運作速度快。

本章我們會詳細讨論Python Web開發技術。