以下內容來自我特別喜歡的一個Youtube頻道:?Traversy Media
這是一個2019年你成為前端,后端或全棧開發(fā)者的進階指南:
你不需要學習所有的技術成為一個web開發(fā)者
這個指南只是通過簡單分類列出了技術選項
我將從我的經驗和參考中給出建議
首選我們會介紹通用的知識, 最后介紹2019年的Web的一些趨勢
1. 基礎前端開發(fā)者
1.1 HTML & CSS
最基礎的知識:
語義化的HTML元素
基礎的CSS語法
Flexbox & Grid
CSS變量
瀏覽器開發(fā)者工具
1.2 響應式布局
響應式設計將不再是網頁的加分項, 而是必須的
設置viewport
非固定寬度
媒體查詢
使用?rem
?替代?px
移動優(yōu)先,柱狀顯示
1.3 基礎的部署工作
學會如何部署一個靜態(tài)網站到服務器
注冊一個域名(NameCheap, Google Domains)
管理共享主機或虛擬機(Inmotion, Hostgator, Bluehost)
FTP, SFTP 文件上傳(Filezilla, Cyberduck)
靜態(tài)頁面托管(Netlify, Github Pages)
1.4 SASS預處理器
雖然不是必須的, 但是推薦去學, 基礎知識的掌握很簡單
結構化CSS
變量
嵌套樣式表
Minxins & 函數(shù)
繼承
1.5 原生JavaScript語法
不使用任何框架和庫區(qū)學習原生的JS語法
數(shù)據(jù)類型, 函數(shù), 條件判斷, 循環(huán), 湊總府
DOM操作和事件
JSON
Fetch
ES6+(箭頭函數(shù), Promise, async/await, 解構)
1.6 滿足了基本的前端開發(fā)者的條件
構建靜態(tài)站點
構建UI布局(拿到設計圖能夠使用HTML/CSS還原)
添加一些交互功能
部署和維護網站
現(xiàn)在能找到最低水平的Web開發(fā)工作, 但是這是遠遠不夠的....
2. 一個成熟的前端開發(fā)者
2.1 HTML & CSS框架
HTML/CSS框架目前沒有以前那么有意義, 但是我還是介意你選擇一個學習(這里作者想隱射的應該是, 在jquery時代, HTML/CSS框架的學習是必須的).
BootStrap
Materialize
Bulma
2.2 Git和其他工作流工具
Git絕對是每一個Web開發(fā)者必須掌握的工具, 這里也有一些其他的工作流工具的建議.,
基礎的命令行(?touch
,?cd
,?mkdir
什么的總得會, 命令行在下面的工具中都會用到)
Git(版本控制)
NPM 或 Yarn(包管理)
Webpack 或者 Parcel(打包工具)
Gulp 或者 Grunt(任務管理和構建工具)
編輯器插件(ESLint, Prettier, Live Server等)
2.3 前端框架
學習一個前端框架在目前前端開發(fā)中是必須的.
在大公司開發(fā)中非常流行
更多的交互 & 有趣的UI組件
組件化 & 模塊化前端代碼
對團隊有利
2.4 狀態(tài)管理
對于使用框架的大型前端項目, 你也許需要使用狀態(tài)管理工具去管理你的應用級的狀態(tài)
Redux(Context API)
Apollo(GraphQL Client)
Vuex
NgRx
2.5 滿足一個成熟的前端開發(fā)者條件
構建一個優(yōu)秀的前端應用
流暢和穩(wěn)定的前端工作流
多人開發(fā) & 熟練使用Git
請求后端API & 前端數(shù)據(jù)響應
滿足以上條件, 你能夠順利的找到一個前端的工作并干得很出色~
3 全棧開發(fā)工程師
3.1 學習一門后端語言
成為一個全棧工程師或軟件工程師, 你將需要學習一個服務端語言和相關技術
學習的順序:
基礎的后端語言語法
數(shù)據(jù)結構和工作流
包管理
HTTP/路由
3.2 服務端框架
不要重復造輪子, 學習一門框架去構建更好和更快的應用
Node.js(Express, Koa, Adonis)
Python(Django, Flask)
PHP(Laravel, Symfony)
C# (ASP.NET)
3.3 數(shù)據(jù)庫
絕大多數(shù)覺得應用都會使用到數(shù)據(jù)庫, 這里有一些選擇:
關系型數(shù)據(jù)庫(MySQL, PostgreSQL, MS SQL)
非關系型數(shù)據(jù)庫 (MongoDB, Counchbase)
云服務 (Firebase, AWS, Azure, DocumentDB)
輕量級(SQLite, NeDB, Redis)
3.4 服務端渲染
像React, Vue 和 Angular等端架都可以進行服務端渲染
Next.js(React)
Nuxt(Vue)
Angular Universal(Angular)
3.5 內容管理系統(tǒng)
內容管理系統(tǒng)允許快速開發(fā)并為您的客戶提供更新內容的能力. 在你需要快速開發(fā)網站的時候, 它們是很適合的. 特別是對于自由開發(fā)者.
基于PHP的 (Wordpress, Drupal)
基于JS的 (Ghost, Keystone)
基于Python的 (Mezzazine)
基于.Net的 (Piranha, Orchard CMS)
3.6 DevOps 和部署
學習語言和框架是一回事, 但是安裝環(huán)境, 測試和部署有事另外一回事
部署 (Linux, SSH, Git, Nginx, Apache)
平臺 (Digital Ocean, AWS, Heroku, Azure)
可視化(Docker, Vagrant)
測試 (單元測試, 集成測試, 函數(shù)式測試, 系統(tǒng)測試)
3.7 滿足全棧工程師的條件
設置全棧的開發(fā)環(huán)境和工作流
構建后端服務API和微服務
數(shù)據(jù)庫操作
能夠獨立開發(fā)應用(前端和服務端)
部署到云端(SSH, Git, Servers等等)
4. 2019技術趨勢和其他
4.1原生應用開發(fā)
React Native(使用React構建原生應用)
NativeScirpt(Angular, Typescript, JavaScript)
Ionic (HTML/CSS/JS 實現(xiàn)混合應用)
Flutter (使用Dart語言開發(fā)原生應用的移動端SDK)
Xamarin (使用C#開發(fā)的移動端應用)
4.2 使用Electron開發(fā)桌面應用
Electron是一個使用JavaScript構建跨平臺的桌面應用工具.
使用到了 Chromium內核和Node.js
兼容Windows, Mac & Linux
崩潰報告, 調試和性能分析
4.3 GraphQL & Apollo
GraphQl是對于API的一種革命性新方法卡睦,查詢語言比標準RESET嚴格得多
只查詢你想要的東西
前端和后端可以合作得更為順利
查詢語句非常簡單且很像JSON語句
Apollo是一個發(fā)送請求到GraphQL的客戶端
使用的是Gatsby靜態(tài)站點生成器
4.4 TypeScript
TypeScript是一個JavaScript的超集, 它添加了靜態(tài)類型等很多特性.
變量, 函數(shù)等類型
類
其他ES6的特性
在Angular中被使用到, 同時也可以在React和Vue中被使用
4.5 無服務架構
無需創(chuàng)建和管理自己的服務器
使用第三服務執(zhí)行“無服務器功能”
例如 AWS, Netify & Firebase
在Gatsby靜態(tài)站點生成器很流行
無服務框架
4.6 AI和機器學習
AI和機器學習已經被廣泛應用在所有的程序和技術中, 甚至包括web開發(fā)中.
機器學習可以允許Web應用程序隨時間進行調整
雖然AI還有很長的路要走, 但是我們會看到它會更多的用在web中
雖然目前絕大多數(shù)都是Python寫的, 但也有Tensorflow.js和Brain.js這些JS的庫
4.7 區(qū)塊鏈技術
現(xiàn)在許多公司使用區(qū)塊鏈技術進行數(shù)字交易, 因為它們更安全和有效率.
Solidity(一門智能合約的編程語言)
Mist(以太坊開發(fā)的瀏覽器, 用于發(fā)送交易和合約)
比特幣API(可以構建app和整和比特幣的區(qū)塊鏈開發(fā))
4.8 PWA
Progressive Web Apps是一個web app但是在功能和樣式上給用戶帶來原生應用使用體驗的一項技術.
響應式
在離線環(huán)境下也能夠提供服務
類似App的交互
HTTPS
可靠, 迅速, 更好
4.9 Web Assembly
類似匯編的二進制格式的代碼可以被瀏覽器執(zhí)行. 可以使用類似C/c++和Rust等高級語言進行編寫.
比JavaScript執(zhí)行效率快
更安全 - 強制的瀏覽器同源和安全協(xié)議
開放 & 可調試
以上就是2019 - Web開發(fā)技術指南和趨勢的全部內容, 要想知道更多細節(jié), 請看Youtube視頻:?Web Development in 2019
感興趣的小伙伴诈嘿,可以關注公眾號【grain先森】双仍,回復關鍵詞 “vue”,獲取更多資料,更多關鍵詞玩法期待你的探索~
作者:李棠輝
鏈接:https://segmentfault.com/a/1190000017483325