自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2019年你應(yīng)該知道的編程語言、框架和工具

開發(fā) 前端
回顧 2018 年,我們看到了更多新興的流行語言、框架和工具,它們改變著我們的工作方式,讓我們看到更多的可能。但在這個行業(yè),緊隨潮流是很難的。

在過去的一年里,軟件開發(fā)行業(yè)繼續(xù)大踏步地向前邁進?;仡?2018 年,我們看到了更多新興的流行語言、框架和工具,它們改變著我們的工作方式,讓我們看到更多的可能。但在這個行業(yè),緊隨潮流是很難的。所以在每年年底,我們都會給你提供一些建議,它涉及什么是最重要的,以及你在未來一年中應(yīng)該學習什么。

大趨勢

漸進式 Web Apps

在 2017年里,我們見證了 Progressive Web App 概念的蓬勃興起。它意味著 Web 應(yīng)用程序可以離線工作,并能提供原生移動應(yīng)用的體驗。它們可以添加到你的智能設(shè)備的主屏幕上,甚至可以給你發(fā)送推送通知,從而彌補與原生移動應(yīng)用程序的差距。我們認為,在 2018 年,漸進式 Web Apps 將變得更加重要,也值得我們?nèi)ヌ骄?。在這里查看相關(guān)概述。

聊天機器人

從運行聊天機器人的平臺到構(gòu)建其的框架,現(xiàn)在每個人都在談?wù)撍?。而社區(qū)里也正忙于此活動。(閱讀我們的介紹)機器人是一款新興的移動應(yīng)用程序,它讓我們感到興奮。如果你快點的話,還可以趕得上這波浪潮。然而一旦新鮮感消失,那么它只會承擔一些無聊的角色,例如自動化的客服支持。但是,相信我們可以實現(xiàn)夢想。

前端框架的合并

在 JavaScript 社區(qū),隨著令人難以置信的框架和工具的混合,每周都會出現(xiàn)新的東西。直到最近,人們希望舊工具將被新工具所取代,但這不是 2018 年我們所想看到的。相反,我們看到了流行框架交換的想法,以及納入新誕生框架中的創(chuàng)新元素。所以在 2019 年,你該選擇哪個 JS 框架無關(guān)緊要,因為它們的功能大多是可以比較的。

云端

就目前的形勢看,眾多的公司與開發(fā)者們都在積極地擁抱“云”。云是可根據(jù)不同的需求,并通過控制面板來完全配置的虛擬化計算機基礎(chǔ)設(shè)施。目前三大云提供商為亞馬遜 AWS、Google Cloud 和 微軟 Azure. 由于它們的競爭價格一直在下跌,使得小公司和個人開發(fā)者也可以將云納入其預(yù)算中,所以熟悉云工作流程將是 2019 年的一筆不錯的投資。

機器學習

機器學習(ML)在去年一年中呈現(xiàn)爆炸式的增長。三月份 AlphaGo 與李世石的精彩對決,也讓它成為了焦點。從原始數(shù)據(jù)中學習的智能計算機系統(tǒng),正在改變我們與移動設(shè)備的交互方式??礃幼樱瑱C器學習將在 2019 年成為更大的影響因素。

2019年你應(yīng)該知道的編程語言、框架和工具

編程語言

JavaScript 繼續(xù)邁著令人難以置信的創(chuàng)新步伐在前進。由于 Web 瀏覽器的快速發(fā)布計劃,JS 的標準定為了每年更新。故“ES2017”預(yù)計將在 2017 年中期完成,它也將帶來 JS 開發(fā)者夢寐以求的新特性——用于處理異步函數(shù)的аsync/аwait。同時要感謝 Babel ,因為你現(xiàn)在可以在每個瀏覽器中編寫 ES2017 了。

TypeScript 2.1 于 2018 年年底發(fā)布,它將為舊瀏覽器帶來Async/Await異步解決方案,并改進了類型推斷。TypeScript 是一種編譯為純 JavaScript 的靜態(tài)類型語言。它增強了經(jīng)典的 OOP 模型和可選的靜態(tài)類型,使大代碼庫更易于維護。同時,它也是編寫 Angular 2 應(yīng)用程序的首選語言,我們建議你可以嘗試下。 這是關(guān)于它的快速入門指南。

C#7.0 預(yù)計在 2020 年發(fā)布,作為一門優(yōu)秀的編程語言,它也將得到更大的改進。當微軟推出開源的 Visual Studio 代碼編輯器和 .Net Core 時,這一舉動讓眾人都感到驚訝萬分。它們不僅可以在 Linux、Windows 和 macOS 操作系統(tǒng)中運行,而且你可以在 C# 中編寫快速、高效的應(yīng)用程序(在這里閱讀更多)。同時,這兩種工具也都形成了充滿活力的社區(qū)。相信,它們將在 2020 年會給我們帶來更多的驚喜。

Python 3.6 版本將于 12 月發(fā)布。它正在鞏固自身在開發(fā)人員、IT 專業(yè)人員和科學家在腳本語言選擇中的地位。它適用于自動化、Web開發(fā)、機器學習和科學計算。雖然 Python 2.X 與 3.X 版本的割裂,對于社區(qū)來說是一個長達數(shù)年的斗爭,但是就目前而言,你可以自信地選擇 Python 3 并享受完整的庫支持。而對于那些需要額外性能的朋友,建議你們看看 PyPy,一個可啟用 Python 運行時 JIT 的替代品。

Ruby 2.3 已在今年早些時候發(fā)布了,并帶來了一些性能上的改進。同時,Ruby 也是學習通用腳本語言的一個好選擇,但是只有當它和 Rails 相配合的時候才能發(fā)揮出其最大的功效。伴隨 Ruby 3×3 計劃的宣布,也促使了即將到來的 Ruby 3 版本比當前版本的運行速度快 3 倍。而你也可以在更多的情景中,打開使用 Ruby 的大門。

PHP 7.1 版本已在 12 月發(fā)布,并對該語言進行了小范圍的增強。這個版本基于了去年 7.0 版本主要性能的改進,將 PHP 轉(zhuǎn)變?yōu)闃?gòu)建 Web 應(yīng)用程序的快速平臺。如果你打算學習,我們推薦你看看 PHP 之道中的優(yōu)秀實踐。

Java 9 預(yù)計在 2020年發(fā)布,它將帶來一些備受開發(fā)者們所歡迎的新功能,例如評估代碼的 repl、HTTP 2.0 的支持以及一些新的 API . 對于有才能的 Java 開發(fā)人員和廣泛使用該語言進行項目研發(fā)的人來說,他們對這些新特性是有強烈需求的。如果 Java 不是你的“菜”,這里還有一些基于 JVM 的編程語言,像 Kotlin 和 Scala,你也可以了解下。

Swift 3 已經(jīng)在今年早些時候發(fā)布了。簡化 iOS 和 MacOS 上應(yīng)用程序的開發(fā),是蘋果公司對現(xiàn)代編程語言的愿景。由于 Swift 是開源的,所以也涌現(xiàn)了大量的社區(qū)。Swift 4 計劃于 2019年9月發(fā)布,此版本將會改進語言并引入服務(wù)器 API,致力使其成為編寫 Web 應(yīng)用程序和后端的不錯選擇。

如果你在尋找一些讓你感到興奮的東西,你可以嘗試下 Crystal 和 Elixir。它們都擁有類似與 Ruby 的友好語法以及卓越的性能,或者你也可以看看類似于 Haskell 或 Clojure 這類函數(shù)式語言。另外兩種快速編程語言,我們推薦給你 Rust 和 Go 語言。

挑一個或多個學習: JS (ES2018)、TypeScript、C#、Python、Ruby、PHP7、Java/Kotlin/Scala.

 

2019年你應(yīng)該知道的編程語言、框架和工具

前端開發(fā)

前端

近期 Web 平臺取得了兩個重大的進展:Web Assembly 字節(jié)碼技術(shù)和 Service Workers 技術(shù)。它們打開了快速、高效的 Web 應(yīng)用程序的大門,并且有效的彌補了編譯本地應(yīng)用上的差距。Service Workers 是針對漸進式 Web App 的啟動技術(shù),它為 Web 平臺提供了通知上的支持,將來也會有更多的 API。

Angular.js 2 在今年也已經(jīng)發(fā)布了。該框架由 Google 進行維護,受到了眾多企業(yè)和大公司的青睞。它所具備眾多的功能,也為從網(wǎng)絡(luò)到桌面以及移動應(yīng)用程序中編寫任何東西成為了可能。而它的框架也是用 TypeScript 所編寫的,這也是寫應(yīng)用程序推薦的編程語言。雖然學習它還需要閱讀更多的內(nèi)容,但我們認為在 2019 年學習 Angular 2 將是一個很不錯的投資。

在今年我們也看到了 Vue.js 2.0 版本的發(fā)布,它借鑒了 Angular,React 和 Ember 中好的想法,并且比前兩個框架更輕量、更快速。我們建議你今年要試一試,你可以從我們的 Vue.js 教程開始。

Ember 是 JavaScript 框架的另一個不錯的選擇。它支持數(shù)據(jù)雙向綁定,并能夠自動更新模板、組件以及服務(wù)器端渲染。與其他競爭者相比,使用它的好處是它更加成熟與穩(wěn)定,而其框架的重大更改頻率之低,社區(qū)重視向后的兼容性,也使得此框架成為開發(fā)較長生命周期的應(yīng)用程序的不二之選。

另外兩個值得一提的框架是 Aurelia 和 React。在過去的一年里 React 的生態(tài)系統(tǒng)變得越來越復(fù)雜,因此很難推薦給初學者。但經(jīng)驗豐富的開發(fā)者可以將庫與 GraphQL、Relay、Flux 和 Immutable.js 組合成一個全面完整的全棧解決方案。

沒有提及 Bootstrap 的前端終歸是不完整的。而 Bootstrap 4 目前也正處于 Alpha 階段,預(yù)計在 2017 年發(fā)布。值得關(guān)注的變化是新的通用卡片組件和 Flexbox 網(wǎng)格(查看與常規(guī)網(wǎng)格的對比),這使得框架更加現(xiàn)代化,并且讓用戶使用它進行工作時更加得舒心。

SASS 和 LESS 仍然是當前流行的兩種 CSS 預(yù)處理器。盡管 Vanilla CSS 已經(jīng)實現(xiàn)了對變量的支持,但對 mixins、函數(shù)和代碼組織上的支持,SASS 和 LESS 依然更勝一籌。如果您還沒有了解它們,可以看看我們的 SASS 和 LESS 快速入門指南。

挑一個或多個學習:Angular 2、Vue.js、Ember、Bootstrap、LESS/SASS。

2019年你應(yīng)該知道的編程語言、框架和工具

后端開發(fā)

后端

后端有眾多的選擇,但所有的選擇都取決于你對編程語言或特定性能需求的偏好上。Web 開發(fā)中的一個持續(xù)趨勢是遠離后端的業(yè)務(wù)邏輯,并將該層轉(zhuǎn)換為由前端和移動應(yīng)用程序使用的 API 上。但一個全棧的框架通常是能夠更簡單、快速的應(yīng)用于開發(fā),并且它仍然是 Web 應(yīng)用程序最有效的選擇。

Node.js 是在瀏覽器之外運行 JS 的主要方式。在今年,我們也看到了它發(fā)布了許多新的版本。除了提升了性能外,也添加了對整個 ES6 規(guī)范的覆蓋。Node 具有構(gòu)建快速 API、服務(wù)器、桌面應(yīng)用程序甚至機器人的框架,同時它可以創(chuàng)建想象到的各種模塊的龐大社區(qū)。這里有一些你可能想研究的框架:Express、Koa、Next、Nodal.

PHP 是一種擁有大量 Web 框架可供你選擇的 Web 開發(fā)語言。由于其擁有出色的文檔和功能,Laravel 已建成了一個活躍的社區(qū)。Zend Framework 發(fā)布了第 3 版,這標志著面向業(yè)務(wù)框架的巨大升級。在今年,我們也看到了 Symfony 發(fā)行了很多新的版本,使它成為了全棧解決方案中更好的選擇。

對于 Ruby 來說,Rails 框架是首選的。Rails 5.0 版本已于今年發(fā)布,并為 Web Sockets、API 模型等方面提供了支持。對于小型應(yīng)用程序而言,Sinatra 也是一個不錯的選擇,Sinatra 2.0版本預(yù)計在 2017 年發(fā)布。

Python 有著以 Django 和 Flask 為組合的全棧/迷你型框架。Django 1.10 已在今年 8 月發(fā)布了,它為 Postgres 引入了全文搜索和一個重大修改的中間件層。

Java 的生態(tài)系統(tǒng)中,依舊有很多流行的 Web 框架可供你選擇。Play 和 Spark 便是兩個必備的選擇,同時它們也可以與 Scala 一起使用。

對于編程愛好者來說,你還可以選擇 Phoenix,它是用 Elixir 編寫的,它試圖成為一個具有卓越的性能,并能完整替代 Rails 功能的框架。如果 Elixir 是你想在 2019 年學習的語言之一,不妨嘗試下 Phoenix .

學習其中之一:全棧后端框架、一個微框架 。

2019年你應(yīng)該知道的編程語言、框架和工具

數(shù)據(jù)庫

PostgreSQL 在今年已經(jīng)發(fā)行了兩個完整的版本——9.5和9.6.它們帶來了我們從 MySQL 就開始期盼的 UPSERT (aka ON DUPLICATE KEY UPDATE)功能,以及更好的全文搜索和速度改進功能,這多虧了并行查詢,更高效的復(fù)制、聚合、索引和排序。Postgres 適用于大規(guī)模、TB 級規(guī)模的數(shù)據(jù)集以及繁忙的 Web Apps,這些優(yōu)化都是很受歡迎的。

MySQL 8.0 將是數(shù)據(jù)庫的下一個主要版本。預(yù)計在 2017 年發(fā)布,它將給系統(tǒng)帶來更多的改進。MySQL 仍然是受歡迎的數(shù)據(jù)庫管理系統(tǒng),整個行業(yè)都受益于這些新的版本。

對于 NoSQL 的粉絲們,我們推薦 CouchDB。它是一個快速、可擴展的 JSON 存儲系統(tǒng),同時公開了一個 REST-ful HTTP API.此數(shù)據(jù)庫易于使用,同時性能卓越。與 CouchDB 對應(yīng)的是 PouchDB ,它可以完全在瀏覽器中工作,并且可以與 Couch 同步數(shù)據(jù)。所以你可以在離線應(yīng)用程序上使用 PouchDB ,聯(lián)網(wǎng)后它會自動同步數(shù)據(jù)。

Redis 是我們最喜歡的鍵-值存儲型數(shù)據(jù)庫。它體積小、快速并且有豐富的特性。作為 NoSQL 數(shù)據(jù)存儲或進程消息和同步通道,你可以使用它作為智能分布式高速緩存系統(tǒng)的可替代方案。它提供了大量的數(shù)據(jù)結(jié)構(gòu)可供選擇,并且在即將到來的 4.0 版本中會有一個模塊系統(tǒng),并將改進復(fù)制功能。

學習其中之一:Postgres、MySQL、CouchDB、Redis。 

2019年你應(yīng)該知道的編程語言、框架和工具

編程工具

工具

Yarn 是由 Facebook 開發(fā)的 Node.js 包管理器。它是對 npm 命令行工具的升級,并提供了更快速地安裝,更好的安全性以及確定性的構(gòu)建。它仍然使用 npm 包注冊表作為其后端,因此您甚至可以訪問同一個 JavaScript 模塊的生態(tài)系統(tǒng)。Yarn 與 npm 使用的 package.json 格式是兼容的,區(qū)別在于前者能實現(xiàn)快速安裝。

作為兩個最受開發(fā)者歡迎的開源代碼編輯器——Visual Studio Code 和 Atom ,在過去一年中,我們看到了它們進行了很多不可思議的創(chuàng)新。這兩個項目都是使用 Web 技術(shù)構(gòu)建的,社區(qū)中也吸引了大量的粉絲。編輯器具備高擴展,提供了諸如語法檢查、linting 和重構(gòu)工具的相關(guān)插件。

作為最流行的源代碼版本控制系統(tǒng),Git 當之無愧。雖然它無服務(wù)器,但你可以將計算機上的任何文件夾轉(zhuǎn)換為存儲庫。如果你想共享代碼,像 GitLab、Bitbucket 和 GitHub 都是不錯的選擇。在 2018 年,我們建議你熟悉 git 命令行,因為它會比您想象的更加方便。

桌面應(yīng)用程序依然沒有消失。即使 Web App 變得越來越強大,有時你依然會需要強大的功能和 API,這是 Web 平臺無法提供的。你可以使用諸如 Electron 和 NW.js 之類的工具,利用 Web 技術(shù)來創(chuàng)建桌面應(yīng)用程序,同時你也可以完全訪問操作系統(tǒng)和 npm 可用的廣度模塊。要了解這些工具的更多信息,請閱讀有關(guān) Electron 和 NW.js 的教程。

軟件開發(fā)團隊中的最新趨勢是讓開發(fā)人員負責自己軟件項目中的部署,也稱為 DevOps.這能產(chǎn)生更快地發(fā)布和更迅速地修復(fù)生產(chǎn)中出現(xiàn)的問題。而具有運維經(jīng)驗的開發(fā)人員將得到公司的高度重視,因此從現(xiàn)在開始熟悉能夠?qū)崿F(xiàn)這一目標的技術(shù),將對你來說是一個巨大的提升。我們推薦的工具是 Ansible 和 Docker 。同時,具備 Linux 命令行和基本系統(tǒng)管理技能,也將為你的職場生涯大大的加分。

嘗試一個或多個學習:Yarn、Git、Visual Studio Code、Electron、Ansible、Docker。

2019年你應(yīng)該知道的編程語言、框架和工具

技術(shù)

伴隨著大型公司關(guān)閉數(shù)據(jù)中心,并調(diào)整其整個基礎(chǔ)設(shè)施到云上,我們可以看到云已經(jīng)贏得了整個軟件行業(yè)。目前三個主要的平臺是 AWS, Google Cloud 和 Azure。這三大平臺都有著強大的功能,同時不斷地擴展其功能集,涉及虛擬機、數(shù)據(jù)庫托管、機器學習服務(wù)等。由于價格的迅速下降,小公司和個人開發(fā)者也都可以接觸到云。對于 2017 年,在云上部署一個業(yè)余項目將是一個很好的學習積累。

人工智能是 2018年的流行詞。語音識別和圖像分類只是該技術(shù)在面向用戶應(yīng)用程序的兩個部分,人工智能設(shè)備的性能達到甚至超越了人類的水平。當下眾多的創(chuàng)業(yè)公司也將 AI 和機器學習應(yīng)用到其新的領(lǐng)域,同時許多相關(guān)的開源項目也已經(jīng)發(fā)布,例如谷歌的 Tensor Flow 和微軟的 Cognitive Toolkit。機器學習是一個與數(shù)學非常相關(guān)的主題,對于剛剛開始的人,這里有全面的在線課程供你學習。

虛擬現(xiàn)實(VR)和增強現(xiàn)實(AR)已經(jīng)存在了一段時間,而最終該技術(shù)已經(jīng)成熟到足以提供引人注目的體驗。Facebook(Oculus Rift),Google(Daydream)和 Microsoft(Windows Holographic)都有歡迎第三方開發(fā)者加入的虛擬現(xiàn)實平臺。然而 VR 穿戴設(shè)備依然面臨著艱巨的挑戰(zhàn)。例如如何消除穿戴者惡心的感覺,以及脫離了游戲圈,又如何創(chuàng)造令人信服的使用案例。

 

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2015-07-14 10:11:48

前端框架語言

2019-12-06 17:40:39

程序員編程語言JavaScript

2019-04-24 08:34:46

編程語言PythonJava

2013-05-20 10:14:42

軟件工具項目工具開發(fā)工具

2019-01-08 17:00:39

2017-06-06 11:59:26

Docker工具容器

2020-06-02 10:10:46

React前端組件

2020-02-21 10:30:10

開發(fā)技能代碼

2020-10-18 07:37:24

微前端框架前端

2020-01-12 19:48:13

編程語言RustPython

2021-08-18 06:48:52

編程語言開發(fā)IT

2024-02-04 18:08:23

Linux命令工具

2021-08-18 10:44:18

編程語言FlutterUnity

2022-03-11 07:47:56

防御性編程互聯(lián)網(wǎng)

2019-06-28 15:43:50

編程語言程序員Java

2020-11-25 10:18:20

MySQL

2019-06-13 15:51:39

2020-05-10 16:46:56

前端JavaScript開發(fā)

2013-01-09 13:55:43

2020-04-29 14:30:35

HTTPHTTPS前端
點贊
收藏

51CTO技術(shù)棧公眾號