web開發介紹
發表時(shí)間:2018-12-27
發布人(rén):融晨科技
浏覽次數:70
##什麽是(shì)web開發? bs/cs結構
web,也(yě)就(jiù)是(shì)我們平時(shí)浏覽器訪問的(de)網站,基于(yú)http協議html。信息、圖片、視頻、用戶交互。除了(le/liǎo)浏覽器,實際上(shàng)一些手機應用和(hé / huò)客戶端應用的(de)也(yě)是(shì)web開發技術的(de)。
C/S client server 客戶端-服務器模型,例如遊戲客戶端、Lol客戶端、暴雪戰網,有點直接在(zài)操作系統上(shàng)運行,效率高; 缺點,客戶端先從服務器下載更新包,更新比較麻煩。
B/S browser server 浏覽器-服務器模型,例如平時(shí)各種網站。優點是(shì)可維護性服務器代碼更新,客戶端浏覽器直接訪問到(dào)的(de)就(jiù)是(shì)最新内容,html/css/js開發從業者多開發效率高,缺點隻是(shì)比CS架構略低。
目前市場上(shàng)占大(dà)多數的(de)應用是(shì)BS架構。
學習web開發的(de)意義
1涉及知識全面http網絡python後台 html前段 linux部署等。對爬蟲、客戶端開發、手機端開發、運維打下基礎。
2.由python基礎知識 轉向 應用。
3.就(jiù)業。xx管理系統,EPR OA(金蝶 釘釘),互聯網公司(微博 抖音)。
常見web框架
每種編程語言都有web開發框架,Java ssh structs hibernate spring 由于(yú)十幾年的(de)發展和(hé / huò)學習成本比較高 所有Java開發的(de)公司都是(shì)這(zhè)套技術棧。Python的(de)web框架由于(yú)學習成本低和(hé / huò)各有特色,百花争鳴,常用的(de)以(yǐ)下:
-flask 小而(ér)微、半自動化,封裝了(le/liǎo)web核心功能,其他(tā)功能orm依賴插件擴展。
-django 大(dà)而(ér)全,開箱即用。包含orm admin 後台 命令行工具CLI。
-tornado 異步 IO。缺點異步IO nodejs更專業。學習成本高。并發性能可由其他(tā)框架多進程部署取代。
-sanic 基于(yú)py3.5的(de)原生異步語法實現性能提升,但代碼質量和(hé / huò)生态還不(bù)穩定。語法類似flask。
-webpy 極微型框架,單文件千行。适合個(gè)人(rén)小項目,建議課下閱讀源代碼。
-bottle 類似flask
flask,django 的(de)github火熱讀,程序員圈流行度,插件、生态,代碼質量最優秀的(de)兩個(gè)框架。django适合中大(dà)型項目,國(guó)内django占大(dà)多數。
##計劃
- flask基礎
- 簡單web項目
- django
- 複雜web項目
- 複雜項目二
MVC架構
model 模型層 .py文件 定義類、方法 , 業務邏輯
view 視圖層 .html .css .js 負責接收後台傳來(lái)的(de)數據,将數據和(hé / huò)網頁外觀一起呈現給客戶端。
controller 控制層 路由調度
靜态網頁:純html組成。 動态網頁:可以(yǐ)跟後端數據交互,比如注冊登錄。但是(shì)早期的(de)動态網頁耦合度高,不(bù)易修改。
MVC優點:分層明确,耦合度低,利與開發。
優點:分層明确,耦合度高