在上一期關(guān)于對Python的介紹中講到Python在Web開發(fā)、數(shù)據(jù)科學(xué)、爬蟲系統(tǒng)、機器學(xué)習(xí)、自動化運維和測試中有著較為廣泛的應(yīng)用。不了解的朋友可以查看‘Python之從小白到認知,你只差一個它!’, 今天大灰狼就來和大家分享一下Python在Web開發(fā)中到底都有哪些用途。 Web開發(fā),即Web應(yīng)用開發(fā),簡單來說就是網(wǎng)站開發(fā),但這其中當(dāng)然也包括IOS應(yīng)用、安卓應(yīng)用、微信小程序等。那么Python到底又是如何在Web開發(fā)中大顯身手的呢? 簡單來說,web開發(fā)的主要內(nèi)容可以分為前端和后端兩大部分,結(jié)構(gòu)如下圖所示: 圖片來源/慕課網(wǎng) 前端負責(zé)在瀏覽器中,向用戶展示網(wǎng)頁的樣式、內(nèi)容,并與用戶交互,處理用戶的點擊和輸入。就相當(dāng)于一輛汽車的駕駛室和外觀!我們可以在其中看到整個車輛(網(wǎng)站)的功能和布局。 以一個簡單的博客網(wǎng)站為例,前端負責(zé)將網(wǎng)站的樣式、博客列表、博客內(nèi)容等信息展示到瀏覽器中,并接受用戶點擊閱讀帖子的操作,以及創(chuàng)建帖子和評論的操作。就像我們在車輛駕駛室中點擊各種操控按鈕,然后將請求反饋給發(fā)動機一樣。 后端負責(zé)接受前端的任務(wù)請求,根據(jù)需要提取、轉(zhuǎn)換數(shù)據(jù)并返回給前端;或?qū)⑶岸税l(fā)送過來的數(shù)據(jù)記錄下來,長久保存到數(shù)據(jù)庫中;或在背后處理一些任務(wù)。 在博客網(wǎng)站中,前端向后端請求博客列表數(shù)據(jù)、博客內(nèi)容數(shù)據(jù),后端從數(shù)據(jù)庫中提取出這些數(shù)據(jù),加工后返回給前端。用戶創(chuàng)建帖子或評論時,前端接受輸入并發(fā)送給后端,后端加工后將其記錄在數(shù)據(jù)庫中。 那么上面這個過程會涉及哪些技術(shù)呢? 大灰狼簡單的總結(jié)了以下幾點: 1.前端展示網(wǎng)頁樣式和內(nèi)容布局,用到 CSS、HTML、前端框架 2.前端處理用戶交互,接收用戶反饋信息,用到 JavaScript、前端框架 3.前端與后端交換數(shù)據(jù),進行前后端數(shù)據(jù)的傳輸,用到 JavaScript、HTTP(RESTful API) 4.后端處理前端傳輸?shù)男畔?,反饋用戶的相關(guān)請求,用到 Python、后端 Web 框架 5.后端提取已被長久保存的數(shù)據(jù),或記錄需長期保存的數(shù)據(jù),用到數(shù)據(jù)庫,如MySQL 6.網(wǎng)站的部署,用到一些 Linux 命令或 Shell 腳本(Python最初就是為了編寫Shell自動化腳本而誕生) 7.當(dāng)網(wǎng)站達到一定規(guī)模時,后端可能會用到消息隊列、緩存、負載均衡、微服務(wù)等高級技術(shù) 具體詳細需求圖如下所示: 圖片來源/慕課網(wǎng) 其中,如果前端與后端交換數(shù)據(jù)時使用 RESTful API,那么后端部分將變得更加通用和靈活,不僅能應(yīng)用于網(wǎng)站,也能應(yīng)用于 iOS 應(yīng)用、安卓應(yīng)用、微信小程序的開發(fā)等,也就是說后端的技術(shù)棧在這些應(yīng)用中是通用的。這也就體現(xiàn)了很多程序代碼在不同項目和方位中的靈活性。 從上面關(guān)于Web開發(fā)的相關(guān)介紹中可以看出,Python 的職責(zé)在后端部分,如果有興趣想成為一個 Python 后端開發(fā)者,只需要關(guān)注和學(xué)習(xí)后端部分即可,至于前端部分,由前端開發(fā)者完成,之后直接通過 HTTP 接口與其對接。 但是隨著互聯(lián)網(wǎng)行業(yè)的不斷發(fā)展和革新,更多的需要是能夠適應(yīng)何種環(huán)境的綜合型人才。因此如果你想成為全棧開發(fā),能獨立開發(fā)一個完整網(wǎng)站的全能型選手,那前、后端技術(shù)都應(yīng)該去學(xué)習(xí)掌握。 以下推薦一些Web相關(guān)的入門資料,均來自慕課網(wǎng),比較基礎(chǔ)易學(xué),供你參考:
|
|