❶ 成為優秀的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(#或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基礎知識顏色,字體,位置,盒子模型等。
·CSSGrid和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或#)中使用大量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開發人員還有很多工作要做。您可以將Rex和
ContextAPI與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:SpringMVC,Grails
·PHP:Laravel,Symfony,Codeignitor,Slim
·Ruby:Sinatra上的RubyonRails
·C#:ASP.NETMVC
·Go:Revel
13、資料庫(選擇一項)
大多數Web應用程序都需要一個存儲數據的地方。在某些情況下,某些技術或某些語言可以與某些資料庫配合使用。例如:在Mern堆棧中,M代表MongoDB,而在LAMP堆棧中M代表MySQL,但完全取決於您要為應用程序選擇哪個資料庫。我們將討論2020年一些流行的資料庫。
·關系資料庫:RDBMS仍然是最受歡迎的資料庫。最喜歡使用PostgreSQL,MySQL,MSSQL。
·NoSQL:MongoDB,RethinkDB,CouchDB
·雲資料庫:Firebase,AzureCouldDB,AWS
·輕量級和緩存:Redis,SQLlite,NeDB
在學習資料庫時,您還將學習RDBMS,ORM(對象關系映射器)或ODM(對象數據映射器)的SQL(結構化查詢語言)。GraphQL
:(可選)您可以了解現在流行的GraphQL。這是API的查詢語言。它具有類似於JSON的簡單語法,並且相當容易實現。
14、CMS:內容管理
您絕對應該了解內容管理系統,尤其是如果您是自由職業者。CMS用於將內容添加到您的網站或應用程序。客戶能夠更新自己的內容非常好。
·
傳統CMS:WordPress(PHP),Drupal(PHP),Keystone(Javascript),Enro(Javascript)
·其他CMS:DEDECMS,帝國CMS,PHPcms,Prismic.io,Strati。
15、部署和DevOps
託管全棧應用程序或後端應用程序比僅前端應用程序要復雜一些,尤其是當您擁有資料庫時。確保您知道如何使用CLI進行部署。了解有關用於部署應用程序的以下內容。
在大多數公司中,有不同的團隊從事DevOps的工作。因此,擁有有關DevOps的知識完全是可選的。您可以了解到,如果您正在從事自己的項目。
·SSH(安全外殼)
·Web伺服器環境:NGINX,Apache
·應用程序託管:Linode,Heroku,AWS,Azure,Now。
·虛擬化:Docker,Vagrant
·測試:單元,功能,集成等
·負載平衡,監視,安全性。
所有技術工具都足以使您成為前端,後端或全棧開發人員。根據最終目標選擇正確的工具和技術。
以上就是小編今天為大家分享的關於成為優秀的web前端開發人員的學習指南的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助,想要了解更多web前端知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端工程師。
英文|#/how-to-become-a-web-developer-in-2020-a-complete-guide/翻譯|web前端開發(ID:web_qdkf)
❷ 如何系統地學習前端
目前入門前端的人群分類
1、計算機相關專業出身系統走過計算機的理論基礎,比如計算機組成原理、操作系統原理、計算機網路、演算法數據結構、設計模式,至少用過兩門以上編程語言(強類型+弱類型)。
優點:理論、架構方面扎實,有整體計算機思維,內功不錯,外功學起來比較快。
缺點:部分人,前端相關細節技術不扎實,不過花時間能很快搞定。
2、非計算機出身自學(也包括計算機專業沒好好學的)理論基礎薄弱,後來因個人興趣或者職業需求,自學前端開發技能。
優點:自學能力比較強,能夠根據自己的興趣規劃學習內容。
缺點:部分人對前端沒有整體的學習框架 ,屬於東一片,西一片,不成體系,部分人計算機沒有整體思維,建議系統梳理下前端知識體系結構,該補的還是要補起來。
門前端時的一些困境
1、因一些基礎演算法、數據結構理論不扎實導致一些編程思維難於理解。比如 原型鏈,如果清楚 數據結構中鏈表結構,那麼這個東西不難理解,再比如 哈希值,懂得數據結構中哈希表,哈希值也就迎刃而解。
2、計算機體系結構、操作系統理論、網路理論不扎實導致到後期一些東西難於理解。比如有同學從前端學習入手,後來學習node開發 ,在 I/O ,進程、線程、IPC 、線程鎖方面有些概念就比較難於理解,而導致不能很好得使用node 的api 。
3、前端整體體系架構沒有做過深入思考。
導致用會用,但不知道為什麼用,用另外一個有什麼區別。
4、學習環境中無高手。
沒有高手能夠指導自己進入下一個層次。
5、有意識但是沒有行動我的網盤收集了一堆資料或者一堆視頻,然後就沒有然後了 。
如何系統學習前端
網站開發開發大致分為前端和後端,前端主要負責實現視覺和交互效果,以及與伺服器通信,完成業務邏輯。其核心價值在於對用戶體驗的追求。如果你現在是零基礎學員,大致可以按如下思路學習系統學習:
基礎部分
1、HTML + CSS 這部分學習,可以模仿一些網站做些頁面。在實踐中積累了一些經驗後,可以系統的讀一兩本書,推薦《Head First HTML 與 CSS 中文版》,這本書講的太細了,我沒能拿出耐心細讀。你可以根據情況斟酌。
2、Java 要學的內容實在很多,如果沒有其他編程語言的基礎的話,學起來可能要費些力,建議馬上看《Java語言精粹》,JS是一門很混亂的語言,這本書能夠幫助你區分哪些是語言的精華,哪些是糟粕,對於語言精華,應該深入學習。糟粕部分能看懂別人寫的代碼就行,自己就不用嘗試了。
進階部分
有了以上基礎,就可以進行一般的靜態網頁設計,不過對於復雜的頁面還需要進一步學習。
1、CSS。必看《精通CSS》,看完這本書你應該對:盒子模型,流動,Block,inline,層疊,樣式優先順序,等概念非常了解了。作為練習可以看下《CSS藝門之匠》這本書,它對標題,背景,圓角,導航條,table,表單等主題都有詳細的介紹。
2、Java。上面提到內容還不足以讓你勝任JS編程。在有了基礎之後,進一步學習內容包括:
a) 框架。
推薦jQuery,簡單易用,學習方法也很簡單,照著產品文檔做幾個頁面就行了,不用面面俱到,以後遇到問題查文檔就行了。框架可以幫你屏蔽瀏覽器的差異性,讓你能更專注與Web開發學習的精髓部分。補充:可以使用 Codecademy 學習 Java,jQuery,用戶體驗真的很好(感謝 TonyOuyang )。
b) Java 語言範式 。這個名字可能並不恰當,只是我找不到可以描述「面向對象」,「函數式」這個兩個概念的概念。Java不完全是一個面向對象的語言,它的很多設計理念都有函數編程語言的影子,甚至說如果你不用面向對象,完全可以把它理解成一門函數式編程語言。
Java的很多語言特性,都是因為他具有函數式語言的特點才存在的。這部分推薦先學習面向對象的基本理論,對封裝,繼承,多態等概念要理解,維基網路,網路會是你的幫手,另外推薦《Object Oriented Java》,應該有中文版。對與函數式編程我了解的也不系統,不好多說,可以自己網路一下。
c) Java 語言內部機制。必須弄清如下概念:JS 中變數的作用域,變數傳遞方式,函數的定義環境與執行環境,閉包,函數的四種調用方式(一般函數,對象的方法,apply,call),以及四種調用方式下,『this』指向的是誰。這部分內容你會在《Java語言精粹》中詳細了解。另外,你必須理解 json。
d) dom編程,這個Web前端工程師的核心技能之一。必讀《Dom編程藝術》,另外《高性能 Java》這本書中關於dom編程的部分講的也很好。
e) Ajax編程,這是另一核心技術。Ajax建議在網上查些資料,了解這個概念的來龍去脈,網路,維基網路上的內容就足夠了。真正編程是很容易的,如今幾乎所有框架都對Ajax有良好的封裝,編程並不復雜。
f) 了解瀏覽器差異性。這部分包括CSS和js兩部分,瀏覽器差異內容很多,建議在實踐中多多積累。另外對於瀏覽器的渲染模式,DOCTYPE等內容應該系統學習。
3、HTML5和CSS3 。HTML5規范已經於2014年10月28日發布了,移動端HTML5和CSS3已經得到了非常廣泛的使用,必知必會呀。
升級部分
有了以上知識,對於大多數小型網站,你應該已經可以寫出能夠工作的代碼了。但要想成為更專業的前端,你還需繼續努力。更高的要求大概還有四方面:1)易維護,2)可測試,3)高性能,4)低流量(移動端)。
易維護。對於頁面你該理解『樣式』,『數據』,『行為』三者分離,對應的當然就是CSS,HTML,js。對於js代碼,你最好了解設計模式,重構,MVC等內容。
可測性。
高性能。必讀《高性能Java》
低流量。移動端關注比較多。
額外補充部分
前端項目同樣面臨軟體生命周期的各個環節,首先是代碼管理,你必須學會使用Svn和Git。其次是代碼的構建,如今前端代碼構建已經不是簡單的壓縮一下了,需要進行依賴管理、模塊合並、各種編譯,比需要學會使用Grunt、Gulp等前端構建工具。
以上內容只是簡單說了前端學習的順序。對於前端開發,基本內容就這些了,可以根據自己的興趣愛好選擇性學習以下內容。
1、交互設計。大公司依然有專業人士搞這些,不過不懂交互的前端一定不是好前端。推薦《簡約至上》。
2、後端。
應該說前端工程師必須至少了解一門後端語言,不過如果愛好也可深入學習,入手難度比較低的應該是PHP了。這部分由可分為基於頁面,基於框架兩種。大型項目都是基於框架開發的,建議至少了解一個MVC框架,比如PHP的Ci、Yii、Yaf 等,好還框架的設計思想都大同小異。如今NodeJs在大公司已經得到普遍的使用,推薦大家使用在Node上使用Express框架做一些後端服務的開發。
3、Android和IOS開發。
時至今日,前端的工作領域已經非常廣泛,native的界面開發本質上也是前端開發,個大公司都面臨著Native環境和web環境頁面同時維護的問題,如果能夠在技術上得到統一,將會有巨大的價值。
如何才能快速入門前端
1、學習東西,自學是一種途徑,然而在自學的過程中,很多人處於不知道自己不知道的狀態。
2、另一種是跟著高手,開闊視野,達到知道自己不知道的境界,從而有方向,在短時期內進入到一個新的境界,節約時間成本。
❸ 前端怎麼學
與其他計算機主流技術所不同的是,Web前端所包含的知識模塊很多,就目前而言,HTML、CSS、JS、DOM是目前前端技術最為基礎也是最為主要的四大模塊,但會隨著實際需求而有所改變。
一名優秀的Web前端工程師,需要JavaScript語言基礎扎實,具有良好的規范開發習慣;熟悉常用的設計模式,熟練使用Vue、Angular技術棧開發;能夠熟練使用angular、vue、echarts、jquery、react等框架進行傳統開發;要熟悉MVVM、MVC開發模式;熟悉前端工程化、自動化技術,可以根據需求配置Gulp文件及更改Webpack配置文件;熟練使用git版本管理工具。
此外,還要熟悉HTML5、CSS3的新特性,了解不同瀏覽器之間的差異,製作出的頁面能夠有很好的兼容性。
Web發展得很快,幾乎每天都在變化!如果沒有快速學習的能力,就跟不上 Web發展的步伐。作為前端工程師僅僅依靠今天的知識是無法適應未來的,必須不斷提升自己,不斷學習新技術、新模式。因此,不僅作為新人小白要努力學習,提高自己;就連已經入職三五的前端開發工程師,也需要不斷學習,了解前端技術的變化,提高自己的技術技能。
❹ 前端開發怎麼自學
前端開發是互聯網IT行業中,技能要求來說較為簡單的一個職業,是很多人轉行IT的選擇。只要了解學習的體系,掌握正確的學習方法,學習起來並不難。來講一下前端開發都要學哪些課程!
前端開發的主要學習內容:
基礎: HTML+CSS頁面搭建,CS核心和PC端頁面開發,HTML5移動端頁面開發
核心: web前端核心技術JavaScript,ecmasript,dom,ajax,json,正則,作用域,運動框架,核心演算法,高級函數,插件封裝。
高級: html5+高級JavaScript開發,大數據可視化,webapp交互介面,lbs定位,微信sdk,es6標准,高級演算法,數據結構,插件封裝。
框架: bootstrap、vue、react、angular、sass企業開發應用。
給你一些自學的建議:
1、做好心理准備
雖說前端學習起來相對簡單,但是還是要做好吃苦的准備,堅定自己的信心。
2、准備好學習計劃
這個主要就是要規劃好自己的自學路線,要先學什麼,再學什麼,學習的重點是啥等等,然後從基礎的開始學起,一步一個腳印地向前走。
3、多注意實踐
學會知識後得會用,才是真正的掌握,建議你在學習的過程中,可以多找一些項目進行練手,提升實戰能力。
互聯網行業目前還是最熱門的行業,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,建議實地考察對比一下。
祝你學有所成,望採納。