Web開發從前端、後端、編程語言、到(dào)框架的(de)初學指南
發表時(shí)間:2018-9-15
發布人(rén):融晨科技
浏覽次數:44
[導讀] 作爲(wéi / wèi)一篇Web開發初學者指南,本文從學習什麽出(chū)發到(dào)如何專攻。從前端、後端,到(dào)編程語言,再到(dào)框架,或許對打算進軍Web開發的(de)您有所幫助。如果你正在(zài)閱讀這(zhè)篇文章,你可能是(shì)對Web開發有某種興趣,甚至你開始想去學
作爲(wéi / wèi)一篇Web開發初學者指南,本文從學習什麽出(chū)發到(dào)如何專攻。從前端、後端,到(dào)編程語言,再到(dào)框架,或許對打算進軍Web開發的(de)您有所幫助。
如果你正在(zài)閱讀這(zhè)篇文章,你可能是(shì)對Web開發有某種興趣,甚至你開始想去學習Web開發。本文則展示了(le/liǎo)一個(gè)成爲(wéi / wèi)一個(gè)Web開發者可以(yǐ)遵循的(de)途徑。作爲(wéi / wèi)一篇初學者指南,本文從學習什麽出(chū)發到(dào)如何專攻。或許對打算進軍Web開發的(de)您有所幫助。
前端VS後端
或許你會覺得最初的(de)缺口是(shì)前端和(hé / huò)後端,所以(yǐ)讓我們先看下什麽是(shì)前端和(hé / huò)後端。
前端
Web應用按照客戶-服務體系結構分類爲(wéi / wèi)分布式應用。所以(yǐ)我們的(de)代碼有一部分運行于(yú)客戶端,還有一部分運行于(yú)服務端。運行于(yú)客戶端部分的(de)應用(大(dà)多數情況下,客戶端是(shì)指我們的(de)Web浏覽器)被成爲(wéi / wèi)前端。最常見的(de)用于(yú)前端開發的(de)技術組合是(shì)HTML+CSS+JavaScript。前端專家通常使用這(zhè)些技術開發專業知識來(lái)創建Web應用的(de)前端。
後端
後端開發者編寫運行于(yú)服務器上(shàng)的(de)代碼。通常情況下,這(zhè)部分工作需要(yào / yāo)爲(wéi / wèi)讀/寫數據、讀/寫文件、制作業務邏輯等連接數據庫。有些情況下,業務邏輯是(shì)駐留在(zài)客戶端的(de),這(zhè)時(shí)客戶端通常以(yǐ)Web服務的(de)形式被用以(yǐ)服務來(lái)自數據庫的(de)數據。後端開發者通常精通于(yú)一種Web編程語言和(hé / huò)一個(gè)數據庫管理系統。
你可以(yǐ)同時(shí)掌握前端和(hé / huò)後端,當然從一般情況來(lái)講,Web開發者更傾向于(yú)其中的(de)一個(gè),對另一個(gè)隻做了(le/liǎo)解。專攻于(yú)一個(gè)的(de)也(yě)大(dà)有人(rén)在(zài)。雖然兩者之(zhī)間有一個(gè)分割線,但是(shì)對于(yú)哪一方應該做些什麽是(shì)沒有限制的(de)。有時(shí)候前端僅用于(yú)可視化表示,所有的(de)工作都在(zài)後端完成。而(ér)有些時(shí)候後端隻服務于(yú)數據,所有的(de)計算和(hé / huò)函數都位于(yú)前端。這(zhè)是(shì)一種設計和(hé / huò)結構的(de)關系,以(yǐ)此來(lái)定義哪一方做什麽事情。
編程語言
目前有很多對Web開發可用的(de)編程語言。當我們選擇前端的(de)時(shí)候,事實上(shàng)的(de)标準語言是(shì)JavaScript。當選擇後端時(shí),可供選擇的(de)就(jiù)有很多了(le/liǎo),下面列舉了(le/liǎo)一些流行的(de)選擇:
- PHP
- JavaScript
- Ruby on Rails(與Ruby編程語言一起使用)
- ASP.NET(與.net編程語言一起使用)
- Java EE
- Python
這(zhè)隻是(shì)其中的(de)一部分,你的(de)選擇應基于(yú)一些因素的(de)評估,如就(jiù)業市場、Web應用的(de)托管環境,可提供的(de)學習資源、可用的(de)學習時(shí)間以(yǐ)及你四周的(de)開發社區。
如果你想成爲(wéi / wèi)一個(gè)Web開發者,從個(gè)人(rén)角度來(lái)看最重要(yào / yāo)的(de)因素應該是(shì)就(jiù)業市場。你應該分析你所處在(zài)(或者你想要(yào / yāo)處在(zài))的(de)就(jiù)業市場并且選擇有大(dà)量職位空缺的(de)語言。另一個(gè)重要(yào / yāo)因素是(shì)托管環境,例如PHP托管要(yào / yāo)比Java托管便宜的(de)多。如果你要(yào / yāo)開發一個(gè)将被托管于(yú)組織内部的(de)内網應用,這(zhè)時(shí)Java EE或許會是(shì)一個(gè)很好的(de)選擇。但是(shì)如果你希望你的(de)應用成爲(wéi / wèi)線上(shàng)時(shí),Java EE相比其他(tā)語言可能就(jiù)要(yào / yāo)昂貴的(de)多了(le/liǎo)。
随着Node.js的(de)流行,JavaScript開始成爲(wéi / wèi)一個(gè)受後端開發者歡迎的(de)選擇。然而(ér),它仍然是(shì)相當新的(de)、不(bù)成熟的(de)技術。所以(yǐ)不(bù)太建議初學Web開發的(de)人(rén)學習。
從個(gè)人(rén)來(lái)看,PHP擁有最簡單的(de)學習曲線、廉價的(de)托管環境、豐富的(de)學習資源和(hé / huò)相對容易的(de)開發環境。這(zhè)對初學者來(lái)說(shuō)是(shì)個(gè)不(bù)錯的(de)選擇。除此之(zhī)外,ASP.NET也(yě)是(shì)個(gè)不(bù)錯的(de)選擇。微軟提供了(le/liǎo)很多的(de)學習資源、免費的(de)開發工具和(hé / huò)一個(gè)相當豐富的(de)環境。如果你喜歡微軟的(de)生态系統,那麽你可以(yǐ)考慮ASP.NET。
框架
如果你是(shì)一個(gè)初學者,給自己一些時(shí)間去學習一個(gè)框架。框架是(shì)簡化Web開發者工作的(de)代碼庫。框架賦予Web應用一個(gè)結構,這(zhè)幫助開發者更容易的(de)處理一些任務并且效率上(shàng)比什麽都要(yào / yāo)自己編寫來(lái)的(de)快。如果你想要(yào / yāo)成爲(wéi / wèi)一個(gè)專業的(de)Web開發者,那麽就(jiù)必須要(yào / yāo)學習至少一個(gè)框架,促進你的(de)發展速度。
目前你可以(yǐ)學習的(de)框架有很多,你必須評估你的(de)需求。如果你選擇了(le/liǎo)PHP,那麽建議你把Laravel作爲(wéi / wèi)一個(gè)選擇。如果你選的(de)是(shì)ASP.NET,那麽你可以(yǐ)選擇學習ASP.NET MVC和(hé / huò)EntityFramework。
Web開發可以(yǐ)是(shì)巨大(dà)的(de),你可能想要(yào / yāo)專注于(yú)一種類型的(de)應用。以(yǐ)Web網站的(de)内容管理系統(CMS)爲(wéi / wèi)例,如果你選擇了(le/liǎo)PHP,那麽建議你繼續使用WorldPress。WorldPress允許你創建網站、博客,同時(shí)它也(yě)能夠通過默認插件或自定義插件和(hé / huò)主題來(lái)擴展,以(yǐ)适應更加複雜的(de)業務應用。
你将發現你選擇的(de)任何一種語言背後都有大(dà)量的(de)框架,所以(yǐ)基于(yú)你選擇的(de)語言,你将和(hé / huò)不(bù)同的(de)框架打交道(dào)。
下一步
在(zài)第一個(gè)建議中,即使你選擇專攻于(yú)前端或後端,你也(yě)應該對另一端有所掌握。如果你這(zhè)麽做了(le/liǎo),你的(de)團隊會表現的(de)更好。如果你已經學習了(le/liǎo)一門語言,掌握了(le/liǎo)一種框架。或許你應該考慮重新開始一個(gè),編程語言都有自己的(de)理念和(hé / huò)範式,知道(dào)兩個(gè)或兩個(gè)以(yǐ)上(shàng)的(de)編程語言可以(yǐ)讓你對如何解決編程語言有一個(gè)更好的(de)認知和(hé / huò)理解,會使你成爲(wéi / wèi)一個(gè)更“流利地(dì / de)”開發者。正如前面所說(shuō)的(de),你必須在(zài)選擇語言的(de)時(shí)候考慮衆多因素。你可以(yǐ)在(zài)以(yǐ)後的(de)道(dào)路中慢慢的(de)擴展你的(de)選擇清單。如果看文章的(de)您是(shì)一位Web開發的(de)大(dà)牛,也(yě)歡迎您在(zài)文章後面的(de)評論中分享您在(zài)開發過程中所遇到(dào)的(de)點點滴滴。