国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

“別更新了,學不動了” 之:全棧開發者 2019 應該學些什么?

ormsf / 2903人閱讀

摘要:但是,有一件事是肯定的年對全棧開發者的需求量很大。有一些方法可以解決這個問題,例如模式,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。谷歌正在這方面努力推進,但不要指望在年會看到任何突破。

對于什么是全棧開發者并沒有一個明確的定義。但是,有一件事是肯定的:2019 年對全棧開發者的需求量很大。在本文中,我將向你概述一些趨勢,你可以嘗試根據這些趨勢來確定你可能要投入的時間。

簡單地說,全棧開發者就是可以構建完整應用程序的人。他們了解前端和后端技術、工具和服務,并結合所有這些技能開發出可以在生產環境中運行的東西。

這是美國全棧開發者在 2019 年的工資走勢:

人生苦短,所以盡量少做無用功。如果你希望保持最新狀態并成為全棧開發者,以下是你需要了解并考慮列入學習計劃的 2019 年技術趨勢。

前端

基礎
HTML、CSS 和 JavaScript 是必須掌握的,你還需要學習 React、Vue 或 Angular 等前端框架或庫。但是,你應該選擇哪一個?對于一個真正的全棧開發者,你可以在 2019 年選擇這三個框架中的任何一個。

來自React 16 的更新
你需要了解 React 的基礎知識及其基于單向數據流架構的組件。今年我們看到了 React 16 的大量更新和 2019 年即將發布的一些小版本更新。

新的生命周期方法;

React 16.6 中的 Suspense for Code Splitting(已發布);

帶有 React Hooks 的 16.x 版本(2019 年第一季度);

帶有并發模式的 16.x 版本(2019 年第二季度);

帶有 Suspense for Data Fetching 的 16.x 版本(2019 年中)。

這意味著你需要知道如何使用 React.lazy() 和 < React.Suspense> 進行代碼拆分,使用 React.memo 進行優化,并時刻關注新功能,如 React Hooks,它可能會給 React 生態系統帶來重大改變。

我們現在還有標準化的 React Context API,你應該對它有一個基本的了解。

React 生態系統將在 2019 年繼續發展和演化。它這不僅限于 Web,在移動、物聯網和 AR/VR 等不同平臺上移植和使用 React 的能力將使其變得越來越重要,并在 2019 年領先于其他 2 個庫。

Vue 3.0
2018 年,Vue 持續獲得開發者的青睞,2019 年將會繼續增長……但它是否足以超越其他兩大玩家?我們拭目以待。

Vue 生態系統正在不斷發展,而且,隨著 Vue 3.0 的發布極其改進的 Vue CLI,2019 年的開發者體驗將比以往更好。

開發者可以使用 Vue Native 進行跨平臺開發(就像 React Native 那樣),我們已經很接近 React 那樣的大型生態系統,但還是有一大段距離。

Vue 有一個非常有趣的趨勢,它將在 2019 年繼續增長:阿里巴巴、百度、騰訊、小米和 DJI 等中國科技巨頭更喜歡 Vue。預計中國市場將繼續保持快速增長,因為 Vue 是一個獨立的開源庫,與西方的大型科技巨頭無關。

Angular Ivy 和 Angular Elements
新的渲染引擎 Ivy 即將推出,性能將會得到大幅提升。

Ivy 將成為 Angular 渲染引擎的第三個化身,它的目標是成為更小、更快、更簡單的編譯器。

Angular Elements 將使我們能夠在 Angular 以外的其他環境中使用 Angular 組件。簡單地說就是你可以構建可以被添加到不使用 Angular 的 HTML 頁面中的組件,有點像 Web 組件。現在,我可以使用 Angular 創建世界上最好的組件,并將它交給我的朋友,她將它用在她的 React 應用程序中!

2019 年,Angular 將繼續做他們擅長的事情:提供一個功能齊全的框架,用于構建豐富的 Web 應用程序。

Angular、Vue、React——更小更快
總的來說,2019 年將看到這 3 個前端庫的發展。如前所述,你只要掌握其中一個,就已經為進入新的一年做好了準備。預計在 2019 年,這些庫都會發生微小的變化,提高渲染速度并縮小庫的體積……但它們都不會帶來任何重大改進來壓倒其他庫。

CLI 將會風靡
你必須使用 babel、webpack、eslint、測試庫和其他工具搭建項目腳手架的日子已經一去不復返了。我的意思是,我們仍然可以這么做,但 CLI 確實讓這種體驗變得更好了。

Angular CLI;

Create React App 2;

Vue CLI。

2019 年,我們將在 CLI 中看到越來越多的改進體驗。

狀態管理

Vue 將繼續使用 Vuex 進行狀態管理。

Angular 將繼續主要使用 RxJS。

隨著新的 Context API 的問世和 GraphQL + Apollo 的普及,React 今年則遭遇了一點危機。很長一段時間以來,Redux 第一次被認為不是狀態管理的明智選擇。你仍然需要學習 Redux,因為你可以從 Redux 中學到一些有用的計算機科學原理,如事件溯源和 CQRS。

新的 Context API、Redux 和 GraphQL
Apollo 內置的離線客戶端緩存將使 Apollo + GraphQL 在 2019 年成為 Redux 的一個重要替代品(當然,從技術上講,可以同時使用它們)。新的 Context API 問世了,很多人稱它為 Redux 終結者。

2019 年,你需要了解它們三者,了解它們的工作原理,以及它們可以用來解決哪些問題。但如果從就業方面來看,學習 Redux 仍然是一個很好的選擇。

服務器端渲染
服務器端渲染在 JavaScript 領域仍然是一個待解決的問題。我們知道,單頁應用程序和客戶端渲染很容易讓項目出現代碼膨脹,而且需要向客戶端發送太多的 JavaScript 代碼,而且可能會影響你的 SEO(但可能沒有你想象的那么多)。

有一些方法可以解決這個問題,例如:PRPL 模式、prerender.io,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。

目前,如果要進行服務器端渲染,可以使用:

用于 React 的 Next.js;

用于 Vue 的 Nuxt.js;

用于 Angular 的 Angular Universal。

靜態頁面正在重新刮起一陣流行風,你可以看看 JAM Stack:

https://www.netlify.com/blog/...

它的主要思想是:預構建標記(靜態頁面),通過利用服務器的 API 在客戶端成為動態單頁面應用程序。這將在 2019 年真正改變服務器端渲染,我預測會有更多人使用像 GatsbyJS 這樣的工具,而不是自己構建復雜的服務器端渲染邏輯。

Web組件

瀏覽器采用的 Web 組件終于離我們想要的標準越來越近了。2019 年,我們將看到更多關于 Web 組件的討論,但它仍然不會在 2019 年達到臨界點。你可以密切地關注它們,但不需要花費大量時間在掌握如何構建 Web 組件上。

你可以了解 React、Angular、Vue 和普通 HTML 的組件,但很難說 Web 組件會在什么時候得到大規模采用并為我們帶來主要的好處。

性能
每個人都喜歡談論性能。2019 年,代碼拆分可能會成為標準實踐,更多新的優化圖像格式(如 WebP)將會發揮越來越重要的作用。

人們仍然會討厭谷歌的 AMP。

你應該學習并為 2019 年做好準備的是:

針對 Angular、React、Vue 的特定優化;

代碼拆分;

Tree Shanking;

只傳輸必要的 JavaScript 代碼;

更加關注你正在使用的 NPM 庫,并最大限度地減少庫的大小;

制定性能預算;

通過使用 CDN 和瀏覽器優先級工具更好地確定資源優先級。

PWA
漸進式 Web 應用程序在 2019 年仍然會很熱門,但它最復雜的功能可能不會流行起來(即推送通知)。

大多數情況下,你將使用 HTTPS、App Shell 和 Service Worker 來獲得一些額外的脫機功能、安全性和性能。你應該學習如何構建 PWA,并使用像 Lighthouse 這樣的工具來測試它。

Safari 最終為 PWA 添加了一些支持,實現漸進式 Web 應用程序功能可能會更容易一些。但說到底,你需要先學會使用 manifest.json 文件和 Service Worker。谷歌正在這方面努力推進,但不要指望在 2019 年會看到任何突破。

后端

別擔心!2019 年的后端世界并不會像前端世界那樣瘋狂。

HTTPS 無處不在
需要將用戶輸入的數據發送到服務器的網站必須使用 HTTPS。如果你沒有使用 HTTPS,谷歌將會懲罰你。幸運的是,HTTPS Everywhere 或 Gaddy 讓遷移到 HTTPS 變得更容易。

REST 與 GraphQL
RESTful API 在 2019 年還會存在,你需要學習如何實現和設計這些 API。你應該學會使用 Node.js 和 Express.js 來創建 API 服務器,在 2019 年,這兩個框架的組合仍然會占主導地位。

現在出現了很多有關 GraphQL 的炒作,但它還不是可以贏得所有市場的大贏家。了解 GraphQL 可以解決哪些問題,以及如何在 RESTful API 中用它來進行路由優化。這將是 2019 年最重要的趨勢:不是如何多帶帶使用 GraphQL,而是如何在極少數情況下使用 GraphQL 優化一些 RESTful API 路由。

HTTP2
HTTP2 變得越來越普遍,你需要知道如何使用這個協議來優化內容的傳輸。此外,HTTP3 正在開發當中,你可以關注它,但它并不是你在 2019 年需要過分關注的東西。

基礎設施即服務
需要自己構建和管理服務器的場景越來越少,以下是 2019 年的主要選擇。

Digital Ocean——用于簡單的服務器。

Heroku——用于簡單和集成的服務器和部署。

Now——用于超級簡單的部署。

Firebase——用于托管基礎設施和數據庫。

AWS——幾乎任何你想要的東西,你可以永遠不需要考慮自己管理服務器。

你需要學習 SQL

Firebase、AWS 等托管數據庫將繼續增長,但你還是需要學習 SQL。2019 年,像 PostgreSQL 這樣的數據庫將繼續發展,而像 MongoDB 這樣的 NoSQL 數據庫似乎會有所下降。你可能需要了解每種方案的優點和缺點,因為在數據庫領域并沒有可以解決所有問題的完美解決方案。

不要把搜索給忘了
搜索可能不是絕對必要的,但它是 Web 的重要組成部分。2019 年,全棧開發者可以試著了解下面兩個平臺:

Elasticsearch;

Algolia Search;

你可能需要學習 Redis
了解使用 Redis 作為緩存以及內存存儲的工作原理。緩存和內存存儲是 2019 年需要學習的重要概念,可以用它們來優化你的系統。Redis 是理解這些概念的一個很好的起點。

測試

學習三種測試類型
很多人都在討論這個話題,但為了簡單問題,可以將測試分解為三種類型:

單元測試:給定輸入,測試輸出,用于測試單個函數或類。

集成測試:測試流程或組件是否按預期運行(包括副作用)。

端到端測試:測試用戶的實際行為,不僅僅是測試一個簡單的功能。

保持簡單
測試框架有很多選擇,但下面是 2019 年最好的兩個組合:

Jest(https://jestjs.io/)

Mocha + Chai + Sinon + Istanbul

將 Jest 視為一體化的測試框架,就不需要像第二個選項那樣添加其他工具和庫。如果你想要簡單些,只需使用 Jest。如果你想要更多可定制性和模塊化,請選擇 Mocha。

如果你還了解這些,那是錦上添花:Mock、Spy、存根和快照測試。

適當的端到端測試就可以了
進行端到端測試需要公司投入大量的成本,所以在你的職業生涯中有可能會也有可能不會遇到這種測試。但不管怎樣,在 2019 年,你最好可以學習這些框架,或至少可以了解一下:

Cypress;

Nightwatch;

Protractor,適合 Angular 愛好者。

移動開發

跟移動開發說再見?

移動開發在 2019 年的日子可能會有點難過。應用程序的下載量不像過去那么多,而且最熱門的下載要么是游戲,要么是大型科技公司的應用程序。2019 年,移動端 Web 瀏覽量將超過原生移動應用程序。因此,對于全棧開發者和移動開發者而言,他們應該將更多的關注點放在移動設備 Web 應用程序上(例如使用 PWA)。

iOS 和 Android 仍然是企業所需要的重要開發技能,但在過去幾年中對它們的需求一直在下降,似乎出現了從原生移動開發到 React Native 引領的混合開發(或接近原生)的重大轉變。如果你看一下上面的圖表,React Native 已經取代了 Swift,它是原生 iOS 開發的主要編程語言。

以下是你需要關注的開發技術:

React Native 在 2018 年遭遇了一些挫折,一些大公司在博文說他們正在放棄它。但這些公司都曾經嘗試將 React Native 添加到他們現有的 iOS 或 Android 代碼庫中。如果你是這方面的新手,對于你來說,它仍然是 2019 年的一個很好的選擇。它將會繼續增長下去。

Flutter 在 2018 年非常火爆,但現在判斷它在 2019 年將會怎樣發展還為時過早。你需要關注它,但到目前為止,它并沒有帶來比 React Native 更顯著的優勢。

Ionic 和 NativeScript 的使用將在 2019 年逐漸減少,除非你正在使用 Angular,否則你不應該關注它們。

所以,在 2019 年,請繼續關注 React Native。

工具

你應該使用的 NPM 包

Prettier——讓你可以專注于你正在寫的代碼,而不是去關心代碼的格式;

https://prettier.io/

eslint——保持代碼整潔;

https://eslint.org/

date-fns——moment.js 的輕量級替代品;

https://date-fns.org/

lodash——主要用于 throttle() 和 debounce() 函數;

https://lodash.com/

rambda——如果你真的喜歡函數式編程。

https://ramdajs.com/

JavaScript

JavaScript 是飽受爭議的編程語言之一。2018 年,靜態類型在 JavaScript 的動態類型領域變得越來越受歡迎。那么競爭者有哪些?

TypeScript:可以編譯為 JavaScript 的 JavaScript 超集。

Flow:JavaScript 的靜態類型檢查器。

Reason:利用了 JavaScript 和 OCaml 生態系統的類型語言。

PureScript:一種強類型語言,可以編譯為 JavaScript,使用 Haskell 開發。

Elm:純粹的函數式編程語言,可以編譯成 JavaScript。

關于靜態與動態類型語言的討論由來已久,不會很快就得出結論。以上這些都不會取代 JavaScript 作為 Web 主要編程語言的主導地位。但是,Angular 和 Vue 都采用了 TypeScript,并將其作為開發者社區的標準,因此,TypeScript 可能會繼續增長,并超越上述其他語言。

你需要學習 TypeScript 的基礎知識及其原理(以及靜態類型的好處),但要注意,它并非寫出好代碼的唯一方法。要寫出好代碼,可以先關注如何寫出好的單元測試。

模塊捆綁器
Webpack 4 和 Parcel 是 2019 年的主要工具。它們都朝著降低復雜性和更多“為用戶著想”的方向發展,很多前端庫都提供了 CLI。學習這兩個工具,但請記住,CLI 在項目開始時幫你消除掉最初 80%的復雜性。如果要發布 NPM 包,請使用 Rollup。

計算機科學基礎

數據結構 + 算法
討論技術趨勢的文章很少會提到計算機科學基礎知識。但這可能是最重要的主題,而且我可以非常自信地說,這個趨勢具有 99.99999%的準確率:如果你想在 2019 年和未來幾年成為一個全棧開發者,計算機科學基礎是非常重要的。計算機科學基本原理不怎么會發生變化,并且已經存在了很長時間,不會像開發庫那樣,一旦有新東西出來就變得過時了。

容器和 serverless
容器為我們提供了與幾年前完全不同的架構,其中的一個主要的想法是 serverless。serverless 并不是說不需要服務器了,而是說有人為你管理服務器(基礎設施),你可以專注于自己的應用程序邏輯,無需擔心擴展性等問題。

serverless 的流行始于 2017 年,并持續到了 2018 年。2019 年,我們將看到一些相同的常見用例,比如 AWS API Gateway 與 AWS Lambda 的結合,供前端應用程序代碼調用。

在降低成本的同時提高性能是一個好主意,如果冷啟動問題在 2019 年可以得到解決,那么它將變得越來越流行。

平臺即服務 / 后端即服務
亞馬遜、谷歌和 Azure 將在 2019 年爭奪服務器市場,它們當中的每一個都提供了全托管的服務。

AppSync、Amplify、App Services、App Engine 等服務將繼續發展,但由于程序員很難放棄如此多的控制權(除非是小型的個人項目),所以它們并不會真正有大起色。

2019 年,Azure 將主導企業市場,AWS 將主導一般的開發者市場,而谷歌將主導機器學習市場。

機器學習
2019 年,你需要學習并了解如何通過以下 API 使用機器學習模型:

Google Cloud AI;

亞馬遜機器學習;

Azure 機器學習;

除了之前列出的平臺即服務和后端即服務,還會有更多的服務出現,這些大公司提供的機器學習 API 和模型將在 2019 年成為一個更重要的趨勢。你應該學會在未來的項目中使用其中一些(不用擔心,它們使用起來沒有那么難,就像使用大多數其他 API 一樣)。

2019 年,我們將可以看到機器學習 API 在 Web 上的應用,而不是從頭開始構建自己的機器學習模型。因為與上述大型科技巨頭不同,大多數人或公司無法為機器學習提供足夠的資源或數據。

WebAssembly
WebAssembly 集將繼續緩慢改進,但仍然只有一小部分開發者會使用它(主要用于游戲、圖像處理)。你可以先了解它,在幾年后等它成為主流時你就是這方面的專家了。

以上是我的個人意見,不管怎樣,學習新東西絕不是一個壞主意。

但不論技術風向如何變化,葡萄城一直都秉承著為開發者著想,賦能開發者的企業理念,同時為開發者提供技術領先、功能可靠的一站式開發工具、解決方案及技術服務。


本文是由葡萄城技術開發團隊發布,轉載請注明出處:葡萄城官網

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43042.html

相關文章

  • 更新不動全棧發者 2019 應該學些什么

    摘要:但是,有一件事是肯定的年對全棧開發者的需求量很大。有一些方法可以解決這個問題,例如模式,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。谷歌正在這方面努力推進,但不要指望在年會看到任何突破。 對于什么是全棧開發者并沒有一個明確的定義。但是,有一件事是肯定的:2019 年對全棧開發者的需求量很大。在本文中,我將向你概述一些趨勢,你可以嘗試根據這些趨勢來確定你可能要投入的...

    NervosNetwork 評論0 收藏0
  • 更新不動全棧發者 2019 應該學些什么

    摘要:但是,有一件事是肯定的年對全棧開發者的需求量很大。有一些方法可以解決這個問題,例如模式,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。谷歌正在這方面努力推進,但不要指望在年會看到任何突破。 對于什么是全棧開發者并沒有一個明確的定義。但是,有一件事是肯定的:2019 年對全棧開發者的需求量很大。在本文中,我將向你概述一些趨勢,你可以嘗試根據這些趨勢來確定你可能要投入的...

    sutaking 評論0 收藏0
  • 2017年前端該學些什么(譯)

    摘要:原文鏈接前端圈快速發展的今天,我們習慣于去嘗試最新的技術并在互聯網上討論它們的優劣。整理了一系列年值得學習的部分。在這兒,我特別推薦以下的課程所著的五本對我最有意義的編程書你喜歡我的推薦嗎你想在年學點什么 原文鏈接 前端圈快速發展的今天,我們習慣于去嘗試最新的技術并在互聯網上討論它們的優劣。我并不是說我們不應該這么做,我只是覺得我們是不是應該慢下來,看看那些不常變的東西:它們能夠很好的...

    hatlonely 評論0 收藏0
  • ABAP開發人員未來應該學些什么

    2007年1月我大學畢業進入SAP Chengdu從事開發工作,到今天已經整整11年了。 這張圖在ABAP開發圈子里曾廣為流傳: showImg(https://segmentfault.com/img/remote/1460000013278194); 為了避免這種窘境發生在ABAPer身上,我們應該做點什么呢? 2017年剛開始的時候,我曾經在SAP community寫過一篇文章: 作為一個...

    pakolagij 評論0 收藏0
  • ABAP開發人員未來應該學些什么

    摘要:這張圖在開發圈子里曾廣為流傳為了避免這種窘境發生在身上,我們應該做點什么呢年剛開始的時候,我曾經在寫過一篇文章作為一個應用開發人員,一個程序員應該學些什么額外的知識這篇文章一度被管理員置頂,吸引了將近千的點擊量。 2007年1月我大學畢業進入SAP Chengdu從事開發工作,到今天已經整整11年了。 這張圖在ABAP開發圈子里曾廣為流傳: showImg(https://segmen...

    stackfing 評論0 收藏0

發表評論

0條評論

ormsf

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<