web開發(fā)簡介
- web開發(fā)大部分基于應(yīng)用層協(xié)議(http散吵,https)耽装,幾乎不關(guān)心底層實(shí)現(xiàn)問題愤炸,思考問題多處于架構(gòu)高度(服務(wù)器和服務(wù)高度)。
- 移動端發(fā)展迅速掉奄,開發(fā)趨于快速化规个,迭代式開發(fā)。產(chǎn)品基本都是先上線第一版簡單功能姓建,再迭代開發(fā)剩余功能诞仓。
- web開發(fā),分為前后兩端速兔。web前端的主要表現(xiàn)形式為網(wǎng)頁墅拭,web后端的主要表現(xiàn)形式為網(wǎng)站開發(fā)。也就是說涣狗,通常意義上的web開發(fā)谍婉,就是網(wǎng)站開發(fā)。
- 移動端開發(fā)镀钓,尤其是H5的概念近幾年比較火爆穗熬。但是H5的火爆有一部分是概念炒作,實(shí)際上H5仍然歸類為web前端開發(fā)丁溅,單獨(dú)拎出來的意義不大唤蔗。
- 但是現(xiàn)在的web開發(fā),由于業(yè)務(wù)復(fù)雜性提高窟赏,技術(shù)手段的成熟妓柜,可以完全進(jìn)行分離。前端和后端可以僅僅約定好通信格式涯穷,而不用關(guān)心對方是怎么編寫代碼的棍掐。
web前端
-
前端基本技能:
技能名 | 用處 |
---|---|
html | 網(wǎng)頁的基本組成語言,瀏覽器靠這個(gè)來把文本轉(zhuǎn)換成網(wǎng)頁 |
css | 網(wǎng)頁的樣式描述求豫,用來美化網(wǎng)頁 |
javascript | 前端真正意義上的編程語言塌衰,可以用來做很多很多事情诉稍。動態(tài)變化網(wǎng)頁蝠嘉,收發(fā)請求,甚至可以寫服務(wù)器和桌面軟件杯巨。js的潛力正在被一步一步發(fā)掘蚤告。 |
-
前端擴(kuò)展技能:
技能名 | 用處 |
---|---|
photoshop | 把設(shè)計(jì)人員的設(shè)計(jì)圖轉(zhuǎn)換為網(wǎng)頁,進(jìn)行簡單的圖片編輯和切圖(切圖就是把設(shè)計(jì)稿上的圖片裁剪下來服爷,放到網(wǎng)頁中) |
前端樣式 開發(fā)框架 |
人們把一系列樣式綜合起來杜恰,方便使用(一般還會包含部分js效果)获诈。熟練使用這些框架,可以快速的進(jìn)行樣式編輯心褐,并且有利于頁面風(fēng)格的統(tǒng)一舔涎。常見的有boostrap 框架,Weui ,jQuery UI 等 |
前端工具 開發(fā)包 |
Javascript可以實(shí)現(xiàn)dom操作逗爹,收發(fā)請求亡嫌,操作數(shù)據(jù)等,但是編寫代碼時(shí)較為繁瑣掘而。這時(shí)候可以對方法進(jìn)行封裝挟冠,在使用時(shí)可以直接使用包內(nèi)封裝的方法,例如選擇結(jié)點(diǎn)袍睡,ajax請求知染,處理聲音等。 常見的js工具開發(fā)包包括: jQuery ,zepto.js ,'Socket.js',sound.js 等 |
前端數(shù)據(jù) 開發(fā)框架 |
涉及到數(shù)據(jù)流 MVC三層架構(gòu) 這些概念斑胜,使用的是 MVVM(Model模型層和View視圖層的雙向綁定控淡,雙方相互影響) 設(shè)計(jì)理念,實(shí)現(xiàn)了數(shù)據(jù)和dom結(jié)點(diǎn)之間的數(shù)據(jù)傳輸伪窖,避免了原生javascript在數(shù)據(jù)處理上的短板逸寓。成熟的框架有: Vue.js ,Angular.js ,React.js 等 |
... | 更多 |
web后端(以PHP開發(fā)為例)
-
后端基本技能:
技能名 | 用處 |
---|---|
php | 腳本編程語言,實(shí)現(xiàn)用戶訪問邏輯控制覆山,訪問數(shù)據(jù)庫等竹伸。是一個(gè)網(wǎng)站的基礎(chǔ)。 |
關(guān)系型數(shù)據(jù)庫(Mysql) | 保存用戶數(shù)據(jù)簇宽,可以按照表 這一概念進(jìn)行數(shù)據(jù)格式化勋篓,數(shù)據(jù)保存于硬盤,安全性較高魏割。同時(shí)支持事務(wù)譬嚣,視圖和鎖等安全性較高的 元,適合數(shù)據(jù)的長時(shí)間保存钞它,也是中小型項(xiàng)目的多數(shù)選擇拜银。常見的有:Mysql ,Oracle ,SQL Server 等 |
-
后端擴(kuò)展技能:
技能名 | 用處 |
---|---|
后端開發(fā)框架 | 涉及到數(shù)據(jù)流 MVC三層架構(gòu) 這些概念,使用的是 MVC(Model模型層=>Controller控制器層=>View視圖層的單向綁定遭垛,簡化操作) 設(shè)計(jì)理念,片面實(shí)現(xiàn)了前后分離尼桶,使得用戶請求的處理邏輯更清晰。同時(shí)框架內(nèi)往往內(nèi)置很多類锯仪,可以快速對數(shù)據(jù)進(jìn)行編輯泵督。使用框架,能夠使得開發(fā)效率大大增加庶喜。較常用的框架有:Laravel ,Yii2 ,ThinkPHP 等 |
非關(guān)系型數(shù)據(jù)庫(Nosql) | 保存用戶數(shù)據(jù)小腊,按照集合 這一概念進(jìn)行數(shù)據(jù)格式化救鲤,數(shù)據(jù)大多數(shù)保存于內(nèi)存中,讀取速度非持雀裕快本缠,但是有丟失風(fēng)險(xiǎn)。同時(shí)不支持事務(wù)入问,視圖和鎖等安全性較高的元素搓茬,適合數(shù)據(jù)的短時(shí)間保存,在大型項(xiàng)目中队他,經(jīng)常擔(dān)任緩存服務(wù)和日志服務(wù)的數(shù)據(jù)載體卷仑。常見的有:Mongodb ,redis 等 |
API編寫及設(shè)計(jì) | 完全的前后分離,后端使用Json ,XML 等文本數(shù)據(jù)格式麸折,把數(shù)據(jù)發(fā)送給調(diào)用方锡凝,結(jié)果中不出現(xiàn)任何Html代碼。前端通常使用ajax異步請求數(shù)據(jù)垢啼,將結(jié)點(diǎn)再補(bǔ)充到網(wǎng)頁上窜锯。或者前端使用MVVM框架芭析,處理數(shù)據(jù)锚扎。但是后端開發(fā)只注重于API的易用性和安全性設(shè)計(jì),不關(guān)心前端的數(shù)據(jù)展示馁启,更利于項(xiàng)目的開發(fā)和維護(hù)驾孔。 |
... | 更多 |
通用擴(kuò)展技能(后端以PHP開發(fā)為例)
技能名 | 用處 |
---|---|
Linux操作系統(tǒng)及Shell編程 | 我們的web服務(wù)器往往運(yùn)行于Unix操作系統(tǒng)上,例如Centos ,Ubuntu ,RedHat 等惯疙。這時(shí)候翠勉,能夠懂得如何操作Linux系統(tǒng),以及使用Shell實(shí)現(xiàn)自動化部署和監(jiān)控霉颠,對于提升工作效率有非常大的幫助对碌。 |
依賴管理工具 | 前端多使用npm ,后端多使用composer 。當(dāng)我們的項(xiàng)目使用外部庫時(shí)蒿偎,使用依賴管理軟件朽们,能夠大幅提升工作效率,減少出錯(cuò) |
測試技能 | 為自己的代碼編寫基本的單元測試诉位,能夠有效發(fā)現(xiàn)代碼BUG骑脱,增強(qiáng)代碼的健壯性 |
GIT | 協(xié)同工作工具,能夠針對團(tuán)隊(duì)的代碼更好的進(jìn)行管理和發(fā)布不从,同時(shí)使得團(tuán)隊(duì)成員的代碼沖突減少到最低 |
... | 更多 |
總結(jié)
- web開發(fā)的技術(shù)迭代更新非诚Ы悖快犁跪,尤其是前端的技術(shù)更新椿息。 web開發(fā)的知識點(diǎn)多歹袁,學(xué)習(xí)強(qiáng)度較大。
- web開發(fā)的全椙抻牛化較其他技術(shù)簡單条舔。開發(fā)者可以試著培養(yǎng)自己的另外一端技能,前后都通乏矾,才能更好的完成開發(fā)工作孟抗。
- web開發(fā)目前比較火爆,從業(yè)者的數(shù)量滿足不了市場需求钻心,所以薪資情況較好凄硼。但是未來幾年,隨著培訓(xùn)機(jī)構(gòu)的發(fā)展捷沸,尤其是前端從業(yè)者的需求量應(yīng)該會下滑摊沉。