經過如此多的試驗和測試,而不是說你從頭開始創建了所有內容,接著,你在網頁上創建了第一個登錄表單時,你感覺如何? 經過了多次更改後,將佈局分配給第一個Web應用程式時感覺如何? 當成功處理了數千個用戶的操作時,你感覺如何? 大多數Web開發人員都經歷了上述所有階段,最初可能會對其中某些感到沮喪,但是當 ...
經過如此多的試驗和測試,而不是說你從頭開始創建了所有內容,接著,你在網頁上創建了第一個登錄表單時,你感覺如何?
經過了多次更改後,將佈局分配給第一個Web應用程式時感覺如何?
當成功處理了數千個用戶的操作時,你感覺如何?
大多數Web開發人員都經歷了上述所有階段,最初可能會對其中某些感到沮喪,但是當他們看到自己的網站正在運行並且人們在世界各地使用它時,總體感覺確實令人興奮和驚奇。
Web開發人員負責許多任務,從收集需求到設計網站,處理網站的後端部分,並使其成功地為用戶服務。
每年,行業中都會涌現出新技術和工具,以提高開發人員的工作效率,併為用戶提供更好的網站。對於他們來說,保持在Web開發游戲之上的挑戰變得越來越大。
今天,我們將討論要在2020年成為Web開發人員的完整地圖。這將是針對所有開發人員(前端,後端和全棧)的實用指南。
1、首先確定你的目標或道路
我們將討論很多技術,趨勢和工具,但我們不希望您不知所措,因此你需要首先決定要成為一名Web開發人員要做什麼,因為這將幫助你選擇合適的工具。和學習技術。
成為Web開發人員的原因有很多,下麵列出了一些選擇因素:
你想作為一名Web開發人員在一家公司工作,這是最普遍的原因。
你想以自由開發人員的身份來開始自己的業務或代理。
你可以成為其他公司的顧問。
你可以創建自己的應用來賺錢。
編碼是你的業餘愛好。
從上述感興趣或目標的領域,你可以選擇適用於你的目標的正確工具和技術。如果你的目標是成為一名前端開發人員,則可以選擇前端開發的工具和技術。後端和全棧開發也是如此。
2、Web開發的基本工具和軟體
電腦和操作系統:如果沒有電腦和操作系統,則無法編寫代碼。要學習Web開發,你不需要任何高端電腦(如果你擁有的話,那麼更好……)。你可以使用任何類型的中型筆記本電腦或台式機。對於操作系統,可以使用適合你的MacOS,Windows(最新版本)或Linux。
文本編輯器/ IDE:毫無疑問,VSCode適用於大多數情況和大多數語言。它具有良好的性能,出色的擴展性,內置的終端功能以及大量功能。在2019年StackOverFlow調查中,VSCode也是開發人員的首選。你還可以選擇其他一些不錯的選擇,例如Sublime Text或Atom。如果我們談論IDE,那麼是Visual Studio(ASP.net或C#),Eclipse和Netbeans(Java)。是不錯的選擇。
Web瀏覽器:大多數開發人員的首選是Chrome或Firefox。Chrome速度很快,並且使用V8引擎(JavaScript引擎)。Firefox也取得了長足的進步,其中的一些好東西不在chrome瀏覽器中。兩種瀏覽器都有出色的開發工具,可以對Web開發中的問題進行故障排除。
終端:您將使用一些系統命令來使用CLI進行很多工作。您可以將預設或第三方終端用於您的Web開發項目。Bash,Zsh,Powershell,Git Bash,iTerm,Hyper這些都是可以使用的選項。
設計(可選):並不是每個人都需要學習。在公司中,有專門的團隊來製作圖像,徽標或草圖,但是如果您是自由職業者,則可能必須學習Adobe XD,Photoshop,Sketch或Figma。
3、從HTML和CSS開始
HTML和CSS是Web開發的基本構建塊。無論您的Web應用程式有多先進,或者使用什麼框架和後端語言,都必須使用HTML和CSS構建前端應用程式。因此,這是在Web開發中要學習的第一件事。
HTML5(語義元素,屬性,文檔類型等)
CSS基礎知識顏色,字體,位置,盒子模型等。
CSS Grid和Flexbox對齊內容或創建列。
CSS自定義屬性
4、響應式佈局
您的應用程式應該在所有類型的設備(例如智能手機,平板電腦,台式機,iPad或任何其他屏幕尺寸的設備)上都可以查看和使用。因此,瞭解創建響應式設計或佈局非常重要。讓我們來看一些重要的主題。
瞭解如何設置視口
媒體查詢不同的屏幕尺寸。
流體寬度
雷姆單位
移動優先
5、自定義可重用CSS組件
與其依賴大型的CSS框架(如Bootstrap),不如創建自己的模塊化,可重用的CSS組件以在項目中使用。如果您構建自己的定製設計,則無需導入完整的庫。您創建只需要特定UI的組件。
的新趨勢最近還出現了有助於更有效地編寫CSS代碼的代碼。如果你已經瞭解CSS,那麼您無需在學習Saas上花費很多精力。Saas是CSS預處理程式,可為標準CSS添加更多功能並使其更加高效。
你可以使用變數,嵌套,條件語句來減少CSS的重覆並提高其效率。你還可以為每個可重用組件創建單獨的Saas文件。Sass確實節省了很多時間,所以你絕對應該在2020年學習它。
6、CSS框架
學習CSS框架的普及程度不如去年,但對於不擅長設計的開發人員而言,仍然非常相關或有用。有許多流行的CSS框架可供使用,其中一些如下。
Bootstrap是最流行的CSS框架。學習引導程式也有助於學習其他框架。
Tailwind CSS是其他正在流行的框架,與其他框架幾乎沒有什麼不同。它是一組實用程式類,因此您可以創建自己的按鈕和其他看起來與其他按鈕確實不同的東西。它們也是高度可定製的。
物化
布爾瑪
7、前端必須語言:JavaScript
學習HTML和CSS之後,接下來需要學習的是Vanilla Javascript。對開發人員來說,掌握javascript基本知識非常重要。您將在伺服器端語言(例如PHP,Python或ASP.net)中使用大量javascript,並且如果您想與React,Angular,NodeJS,Vue或任何其他javascript框架或庫一起使用,則非常需要學習這種語言。以下是你應該在javascript中涵蓋的一些重要主題…
JavaScript基礎知識(變數,數據類型,函數,條件等)
DOM(文檔對象模型)
JSON(JavaScript對象表示法)
提取API(請求/響應/ Ajax)
如果您想轉向React,Vue,Angular或其他框架,現代JS(ES6)概念對於學習非常重要。
8、一些重要工具
Web開發中將使用一些工具。這些工具將幫助你進行調試,提高生產率,管理代碼,與其他開發人員合作以及類似的東西。讓我們討論其中一些工具。
Git(版本控制)和Github是您肯定會在2020年學習的最受歡迎的工具。Git在與其他開發人員協作和管理代碼方面有很多幫助。您還可以選擇其他一些選項,例如GitLab,Bitbucket和其他一些選項。
瞭解如何使用瀏覽器開發工具。無論是chrome還是firefox,您都應該知道如何使用不同的選項卡,例如元素選項卡,javascript控制台,用於請求和響應的網路選項卡,應用程式選項卡以及其他用於不同目的的選項卡。
大多數IDE或文本編輯器都具有添加擴展名或插件的功能,這對提高生產力和構建Web應用程式非常有幫助。例如,Visual Studio代碼中的VSCode擴展可幫助下載擴展,例如實時伺服器或實時saas編譯器以與React一起使用。
Emmet是另一個很棒的工具,它允許您編寫非常快速的HTML和CSS,這有助於提高開發人員的生產力。
學習使用javascript軟體包管理器,例如NPM和Yarn。如果您正在使用Javascript框架或庫(例如React),那麼這些軟體包管理器將使用很多,但是對於其他語言(例如Python或Php),您將使用不同的軟體包管理器。
如果要在前端安裝NPM軟體包,則必須使用Webpack或Parcel。如果要創建自己的模塊,或者要將一個javascript文件帶到另一個javascript文件,則預設情況下不能僅使用瀏覽器來執行此操作,因此需要Webpack或Parcel對其進行捆綁。
9、基本部署
此時,一旦你知道應該為前端開發學習什麼工具或技術,就需要知道如何在Internet上部署前端網站。如果你正在為小型企業構建一些小型應用程式,登錄頁面或個人站點,則無需學習AWS或DevOps,僅因為它們具有光澤和新潮。你將使事情變得更加複雜而不是簡單。你需要在2020年學習一些部署工具和步驟。
域註冊(Namecheap,Google等)
托管托管(InMotion,Hostgator,Bluehost等)
靜態主機(Netlify,Github頁面)
SSL證書。
FTP,SFTP(文件傳輸協議)非常適合小型應用程式。
SSH(安全外殼),用於高級應用程式。
CLI和Git。
到目前為止,我們討論的任何工具,技術趨勢或步驟都是前端開發的一部分。您尚不知道該框架,但可以為個人和小型企業構建網站,也可以構建適合移動設備的佈局。您還可以使用到目前為止討論的工具或技術來部署小型應用程式或項目。如果您想申請工作,那麼學習一些前端框架(如React,Vue或Angular)將是很棒的。
10、前端框架和狀態管理
框架使您可以進行更高級的前端開發。框架為您提供了許多優勢,例如可重用的組件,更有條理的UI或頁面交互。這對於協作更好,也有助於編寫簡潔的代碼。另外,瞭解狀態管理。每個框架都有不同的方法。以下是2020年的一些流行框架和狀態管理器。
React: React庫是最流行的Web開發學習方法,與其他框架和庫相比,它相當容易。React開發人員還有很多工作要做。您可以將 Redux和 Context API與Hooks一起使用以進行狀態管理。
Vue: Vue也越來越受歡迎,開發人員也更喜歡學習Vue。與React和Angular相比,Vue最容易學習。VueX是為視圖而構建的狀態管理器。
Angular:此框架通常在大型組織中使用。它具有相當陡峭的學習曲線。用Angular學習 TypeScript也很好。它允許您使用可選的靜態類型並支持ES2015的功能。NGRX和 Services是可以學習此框架的良好狀態管理器。
可選學習:
如果您具有這三個框架之一的知識,那麼您還可以使用Svelte,它是一個JavaScript編譯器,可讓您生成純凈的原始JS代碼並幫助您輕鬆構建用戶界面。
瞭解伺服器端渲染。NextJS(React)和NuxtJS(Vue)是允許您在伺服器上運行React和Vue的框架。兩者都有很好的功能,例如更好的SEO,文件系統路由,自動代碼拆分,靜態導出,JS中的CSS和許多其他功能。
靜態網站生成器:Gatsby(反應式)和Gridsome(Vue)
我們已經討論了所有大多數前端開發工具和技術。現在讓我們討論成為後端開發人員或全棧開發人員的語言和技術。
11、伺服器端語言(選擇一種)
您應該至少瞭解一種伺服器端語言。要在2020年選擇一種語言,下麵提供了一些選項...
NodeJS(不是語言,而是運行時環境)
Python(非常適合初學者)
Java(適合大型組織)
Php(適合自由職業)
Ruby(2020年少兩極)
C#
Go
註意:無論你喜歡學習哪種伺服器端語言,都要確保你瞭解使用該語言的數據結構和演算法。數據結構和演算法將幫助您為用戶呈現數據,並將幫助您優化Web應用程式中的代碼。我們特別建議您專註於使用數組和字元串(最重要)。你將同時使用這兩種方法。
12、伺服器端框架(選擇一項)
一旦學習了自己選擇的一種伺服器端語言,就可以使用其中一種語言框架。您可以選擇以下給出的選項之一...
Node.js – Express,Koa,Adonis,Feather.js,Nest.js
Python:Django,Flask,
Java:Spring MVC,Grails
PHP:Laravel,Symfony,Codeignitor,Slim
Ruby:Sinatra上的Ruby on Rails
C#:ASP.NET MVC
Go: Revel
13、資料庫(選擇一項)
大多數Web應用程式都需要一個存儲數據的地方。在某些情況下,某些技術或某些語言可以與某些資料庫配合使用。例如:在Mern堆棧中,M代表MongoDB,而在LAMP堆棧中M代表MySQL,但完全取決於您要為應用程式選擇哪個資料庫。我們將討論2020年一些流行的資料庫。
關係資料庫:RDBMS仍然是最受歡迎的資料庫。最喜歡使用PostgreSQL,MySQL,MS SQL。
NoSQL:MongoDB,RethinkDB,CouchDB
雲資料庫:Firebase,Azure Could DB,AWS
輕量級和緩存:Redis,SQLlite,NeDB
在學習資料庫時,您還將學習RDBMS,ORM(對象關係映射器)或ODM(對象數據映射器)的SQL(結構化查詢語言)。
GraphQL :(可選)您可以瞭解現在流行的GraphQL。這是API的查詢語言。它具有類似於JSON的簡單語法,並且相當容易實現。
14、CMS:內容管理
您絕對應該瞭解內容管理系統,尤其是如果您是自由職業者。CMS用於將內容添加到您的網站或應用程式。客戶能夠更新自己的內容非常好。
傳統CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enduro(Javascript)
其他CMS :DEDECMS,帝國CMS,PHPcms,Prismic.io,Strati。
15、部署和DevOps
托管全棧應用程式或後端應用程式比僅前端應用程式要複雜一些,尤其是當您擁有資料庫時。確保您知道如何使用CLI進行部署。瞭解有關用於部署應用程式的以下內容。
在大多數公司中,有不同的團隊從事DevOps的工作。因此,擁有有關DevOps的知識完全是可選的。您可以瞭解到,如果您正在從事自己的項目。
SSH(安全外殼)
Web伺服器環境:NGINX,Apache
應用程式托管:Linode,Heroku,AWS,Azure,Now。
虛擬化:Docker,Vagrant
測試:單元,功能,集成等
負載平衡,監視,安全性。
以上所有技術工具都足以使您成為前端,後端或全棧開發人員。根據最終目標選擇正確的工具和技術。
我目前是在職前端開發,如果你現在也想學習前端開發技術,在入門學習前端的過程當中有遇見任何關於學習方法,學習路線,學習效率等方面的問題,
你都可以申請加入我的前端學習交流裙:前面:603 中間:985 最後:993。裡面聚集了一些正在自學前端的初學者
裙文件裡面也有我做前端技術這段時間整理的一些前端學習手冊,前端面試題,
前端開發工具,PDF文檔書籍教程,需要的話都可以自行來獲取下載。