如何成為一名Web前端開發人員?入行學習完整指南

来源:https://www.cnblogs.com/TT485480/archive/2020/04/29/12802566.html
-Advertisement-
Play Games

經過如此多的試驗和測試,而不是說你從頭開始創建了所有內容,接著,你在網頁上創建了第一個登錄表單時,你感覺如何? 經過了多次更改後,將佈局分配給第一個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文檔書籍教程,需要的話都可以自行來獲取下載。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • js原型鏈 js原型鏈是什麼? 在思考這個問題的時候,我們可能會有很多概念,【鏈子】、【祖先】、【father】 1. 要理解 首先要理解 對象的屬性 都指向其他對象,Object.prototype 的 例外。 2. 單純從 鏈 這個這個詞來理解,js原型鏈更像是一種copy 或 引用。 簡單理解 ...
  • https://stackoverflow.com/questions/702181/replace-html-table-with-divs 55 19 Alright, I'm trying to buy into the idea that html tables should not be ...
  • https://wisdmlabs.com/blog/responsive-tables-using-css-div-tag/ Data representation is a crucial part on any website. If you have or manage a lot of d ...
  • 排它思想:清除其它所有的沒有選中元素的樣式, 只設置當前選中元素的樣式 html代碼 css代碼 JavaScript代碼 運行效果 ...
  • 繼續上一篇 https://www.cnblogs.com/chenyingying0/p/12798050.html 安裝一些組件 cnpm i postcss-loader autoprefixer babel-loader babel-core 提示缺少依賴,安裝便是 cnpm i @babe ...
  • 繼續上一篇 https://www.cnblogs.com/chenyingying0/p/12797474.html 安裝webpack-dev-server cnpm i sebpack-dev-server 修改package.json 由於不同的平臺(如windows和mac)上配置環境變數 ...
  • 調用vant的Dialog組件覺得用起來很爽,於是乎想自己也實現一個~ 由於考慮到項目相容性,所以沒用ES6寫法 (一)效果圖如下: (二)可配置參數:圖標,內容,是否自動消失,是否顯示底部按鈕區域,還有按鈕回調函數 (三)組件代碼 var pconfirm = Vue.extend({ templ ...
  • 摘要 近期在開發H5頁面相關需求,需求中有個微信靜默授權登錄的功能,之前沒有接觸過這個功能,經過調研官方文檔,開發出了初級方案;初級方案可以解決獲取code,但是頁面返回上一個頁面時,需要連續返回兩次才可以回到上一個頁面。經過獲取流程分析,解決了返回迴圈的bug。 初級方案原理 當時調研完官方文檔後 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...