德州惩缀会展服务有限公司|午夜喷潮精品|无码不卡在线视频|国产黄A三级三级看三级|综合AV第一页|午夜福利在线播放|四虎黄片|免费国产91网站|日韩足交|国产愉拍91九色国产愉拍|高清无码免费不卡

2017年你應(yīng)該學(xué)習(xí)的編程語言、框架和工具

2016 年在開發(fā)者圈子中許多新的技術(shù)和概念層出不窮,人工智能、機(jī)器學(xué)習(xí)、Progressive Web Apps 等等,各種語言、框架和工具的更新也是讓人看得眼花繚亂。2017 年,作為開發(fā)者應(yīng)該跟隨潮流還是理性選擇新技術(shù)?
 
2017年你應(yīng)該學(xué)習(xí)的編程語言、框架和工具-DVBCN
 
軟件開發(fā)行業(yè)繼續(xù)向前大步邁進(jìn)。 在 2016 年,我們看到了很多新版本的流行語言、框架和工具。它給了我們更多的支持,也改變了我們的工作方式。緊跟潮流是很難的,所以在每年年底,我們會給你介紹什么是重要的,而且應(yīng)該在未來十二個月內(nèi)學(xué)習(xí)。
 
一、趨勢
 
Progressive Web Apps
 
在 2016 年,我們看到了 Progressive Web App 概念的興起。它代表了脫機(jī)工作的 Web 應(yīng)用程序,并提供類似 Native App 的體驗。它們可以添加到你的智能設(shè)備的主屏幕,甚至可以給你發(fā)送推送通知,彌補了與本地移動應(yīng)用程序的差距。我們認(rèn)為,在 2017 年,PWA 將變得更加重要,更值得探討。
Progressive Web App(PWA) 是 Google 在 Web 平臺開始推廣的一個新概念,可以理解為是盡可能借助目前的新技術(shù)(比如 Service Worker,Push Notification 及其他展現(xiàn)層的新技術(shù))以增強(qiáng) Web App 的體驗和功能,讓 Web App 的體驗無限接近 Native App。PWA 并不只是在移動設(shè)備上使用,有現(xiàn)代瀏覽器存在的地方就可以有 PWA。PWA 也不是 Chrome Only,現(xiàn)代瀏覽器基本都支持。
 
聊天機(jī)器人
 
現(xiàn)在每個人都在談?wù)摿奶鞕C(jī)器人。從運行它們的平臺到構(gòu)建它們的框架,社區(qū)也正在忙于各種活動(閱讀介紹)。機(jī)器人是新的移動應(yīng)用程序,如果你快點的話也可以在大家都感到新奇時趕上浪潮。一旦新奇消退,機(jī)器人可能會被降級到一些無聊的角色,如自動客服。但無論怎樣,我們都可以夢想嘛!
 
前端框架的合并
 
在 JavaScript 社區(qū),有著令人難以置信的框架和工具的混合,幾乎每個星期都會出現(xiàn)新的。直到最近,人們期望舊的工具將被新的替代,但這不是我們在 2016 年看到的。相反,我們看到了流行的框架交換想法以及采納由新誕生的框架提出的創(chuàng)新。所以在 2017 年,該選擇哪個框架作為主要 JS 框架不是很重要,它們的功能大多是可比較的。
 

 
各地的公司和開發(fā)者都在積極地?fù)肀?ldquo;云”。云是虛擬化的計算機(jī)基礎(chǔ)架構(gòu),可根據(jù)需要提供,并可從控制面板中完全配置。目前三大云提供商分別是 AWS,Google Cloud 和 Azure。由于其持續(xù)的競爭價格一直在下跌,因此小公司和個人開發(fā)者也將其納入預(yù)算中。熟悉云工作流程將是 2017 年一筆不錯的投資。
 
機(jī)器學(xué)習(xí)
 
機(jī)器學(xué)習(xí)在過去的十二個月中已經(jīng)呈現(xiàn)爆炸式的增長。通過在今年 3 月份的 AlphaGo vs Lee Sedol 的歷史性比賽,它進(jìn)入了主流。從原始數(shù)據(jù)中學(xué)習(xí)的智能計算機(jī)系統(tǒng)正在改變我們與移動設(shè)備交互的方式。看上去,機(jī)器學(xué)習(xí)將是 2017 年更大的影響因子。
 
二、編程語言
 
學(xué)習(xí)其中的一門或多門:JS(ES2017),TypeScript,C#,Python,Ruby,PHP7,Java/Kotlin/Scala
 
JavaScript
 
JavaScript 繼續(xù)著它令人難以置信的創(chuàng)新步伐。由于 Web 瀏覽器的快速發(fā)布計劃的推動,JS 標(biāo)準(zhǔn)每年都會更新。下一個版本,ES2017 預(yù)計將于 2017 年中期完成。它將帶來許多 JS 開發(fā)人員渴望的特性 — 用于處理異步函數(shù)的 аsync/await 。感謝 Babel,即使在今天,你也可以在每個瀏覽器中編寫 ES2017。
 
TypeScript
 
TypeScript 2.1 于 2016 年年底發(fā)布,為舊瀏覽器帶來了 async/await,并改進(jìn)了類型推斷。TypeScript 是一門編譯為 JavaScript 的靜態(tài)類型語言。它增加了強(qiáng)大的功能,如經(jīng)典的 OOP 模型和可選的靜態(tài)類型,使得巨大的代碼庫更容易維護(hù)。它是編寫 Angular 2 應(yīng)用程序的首選語言,建議各位嘗試。這是關(guān)于它的快速入門指南。
 
C#
 
C# 7.0 預(yù)計在 2017 年發(fā)布,作為一門優(yōu)秀的語言將會有更大的改進(jìn)。當(dāng)微軟推出開源 Visual Studio Code 編輯器 和 .Net Core 時,每個人都感到驚訝。它們都可以在 Linux,Windows 和 macOS 上運行,并允許你用 C# 編寫快速、高效的應(yīng)用程序(點擊這里閱讀更多)。這些工具促成了一個充滿活力的社區(qū)。
 
Python
 
Python 3.6 將于今年 12 月發(fā)布。它正在鞏固其作為開發(fā)人員、IT 專業(yè)人員和科學(xué)家的腳本語言的選擇的地位。它適用于自動化、Web 開發(fā)、機(jī)器學(xué)習(xí)和科學(xué)計算。Python 2/3 的選擇對于社區(qū)來說是一個長達(dá)數(shù)年的斗爭,但是現(xiàn)在你可以自信地選擇 Python 3 并享受完整的庫支持。對于那些需要額外的性能的使用者,他們可以看看 PyPy — 一個可啟用 Python 運行時的 JIT 替代品 。
 
Ruby
 
Ruby 2.3 今年早些時候發(fā)布了,并帶來了性能改進(jìn)。作為通用腳本語言,Ruby 也是一個好選擇。 Ruby 3×3 的倡議已經(jīng)公布,這將使即將到來的 Ruby 3 比當(dāng)前版本快 3 倍,而且會在更多的情景中打開使用 Ruby 的大門。
 
PHP
 
PHP 7.1 是在 12 月發(fā)布的,并帶來了細(xì)小的增強(qiáng)。 這是基于去年 7.0 版本中的主要性能改進(jìn),將 PHP 轉(zhuǎn)變?yōu)闃?gòu)建 Web 應(yīng)用程序的快速平臺。我們建議把 PHP The Right Way 作為良好的做法和構(gòu)建 Web Apps 的現(xiàn)代做法。
 
Java
 
Java 9 預(yù)計在 2017 年發(fā)布,并將帶來備受歡迎的新功能,例如用于評估代碼的 repl、對 HTTP 2.0 的支持和新的 API。有才能的 Java 開發(fā)人員和使用該語言開發(fā)項目的人對于這些特性有強(qiáng)烈的需求。如果 Java 不是你需要的,有一些基于 JVM 的語言,如 Kotlin 和 Scala,可以去了解。
 
Swift
 
Swift 3 于今年早些時候發(fā)布。這是蘋果對現(xiàn)代編程語言的愿景 — 簡化 iOS 和 macOS 上應(yīng)用程序的開發(fā)。Swift 是開源的而且吸引了大量的社區(qū)。版本 4 計劃于 2017 年發(fā)布,將改進(jìn)語言特性和引入服務(wù)器 API,使其成為編寫 Web Apps 和后端的一個不錯選擇。
 
其他
 
如果你正在尋找更令人興奮的東西,可以嘗試 Crystal 和 Elixir,它們結(jié)合了一個友好的類似 Ruby 的語法且有著卓越的性能?;蛘吣憧梢钥纯春瘮?shù)式語言如 Haskell 或 Clojure。另外兩門推薦的快速語言是 Rust 和 Go。
 
三、前端
 
學(xué)習(xí)以下一個或多個:Angular 2,Vue.js,Ember,Bootstrap,LESS/SASS
 
Web 平臺最近取得了兩個重大進(jìn)展 — Web Assembly 和 Service Workers。它們?yōu)闃?gòu)建快速和高效的 Web 應(yīng)用程序打開了大門,而且彌補了與 Native App 之間的差距。Service Workers 尤其是 Progressive Web Apps 的啟用技術(shù),并為 Web 平臺的通知提供支持,將來也還會有更多的 API。
 
Angular 2
 
Angular 2 于今年發(fā)布。該框架由 Google 支持,非常受企業(yè)和大公司的歡迎。它具有大量的功能,使在從網(wǎng)絡(luò)到桌面和移動應(yīng)用程序中編寫任何東西成為可能。框架使用 TypeScript 編寫,這也是在框架中編寫應(yīng)用程序的推薦語言。學(xué)習(xí)它有很多需要閱讀的內(nèi)容,但我們認(rèn)為在 2017 年學(xué)習(xí) Angular 2 將是一個很好的投資。
 
Vue.js
 
Vue.js 今年也發(fā)布了 2.0 版本。它借鑒了 Angular,React 和 Ember 中的好想法,并將它們放入一個易于使用的包中。它也比前兩個更精簡和更快。建議各位都去嘗試一下,可參考入門教程。
 
Ember.js
 
Ember 是 JavaScript 框架的另一個堅定選擇。它支持?jǐn)?shù)據(jù)綁定、自動更新模板、組件和服務(wù)器端渲染。與其競爭對手相比,它的一個好處是更成熟和穩(wěn)定。重大更改的頻率要低得多,而且社區(qū)也重視向后兼容性。這使得該框架成為生命周期長的應(yīng)用的不錯選擇。
 
其他
 
另外兩個值得一看的框架是 Aurelia 和 React。過去的一年中 React 的生態(tài)系統(tǒng)變得越來越復(fù)雜,因此很難向初學(xué)者推薦。但經(jīng)驗豐富的開發(fā)者可以將庫與 GraphQL,Relay,F(xiàn)lux 和 Immutable.js 組合成一個全面的全棧解決方案。
 
沒提到 Bootstrap 的前端匯總是不完整的。Bootstrap 4 目前正處于 Alpha 階段,預(yù)計在 2017 會正式發(fā)布。值得關(guān)注的變化是新的通用卡片組件和 Flexbox 網(wǎng)格,這使得框架更現(xiàn)代化而且讓用戶使用它工作更舒心。
 
SASS 和 LESS 仍然是當(dāng)今最流行的兩種 CSS 預(yù)處理器。雖然 vanilla CSS 最終對變量進(jìn)行了支持,但 SASS 和 LESS 仍然優(yōu)先對 mixins,函數(shù)和代碼組織進(jìn)行支持。 如果還沒有了解它們,可查看這里的 SASS 和 LESS 快速入門指南。
 
四、后端
 
學(xué)習(xí)其中之一:全棧后端框架,一個微框架
 
后端有很多選擇,所有這一切都取決于你對編程語言或特定性能需求的偏好。Web 開發(fā)中的一個持續(xù)趨勢是遠(yuǎn)離后端的業(yè)務(wù)邏輯,并將該層轉(zhuǎn)換為由前端和移動應(yīng)用程序使用的 API。但一個全??蚣芡ǔJ悄芨唵?、更快速地用于開發(fā),并且是許多 Web Apps 的有效選擇。
 
Node.js
 
Node.js 是在瀏覽器外運行 JS 的主要方式。今年我們看到它發(fā)布了許多新版本,提升了性能以及添加對整個 ES6 規(guī)范的覆蓋。Node 具有快速構(gòu)建 API、服務(wù)器、桌面應(yīng)用程序甚至機(jī)器人的框架,以及創(chuàng)建可以想象到的各種模塊的龐大社區(qū)。一些你可能想研究的框架:Express, Koa, Next, Nodal。
 
PHP
 
PHP 首先是一門 Web 語言,并且有大量的 Web 框架可供選擇。由于其出色的文檔和功能,Laravel 構(gòu)造了一個積極的社區(qū)。Zend Framework 發(fā)布了第 3 版,這標(biāo)志著這個面向業(yè)務(wù)的框架的巨大升級。Symfony 在今年也發(fā)布了很多新的版本,使它作為一個全棧解決方案成為一個更好的選擇。
 
Ruby
 
對于 Ruby,Rails 框架是首選。5.0 版本已于 2016 年發(fā)布,為 Web Sockets,API 模式等提供支持。Sinatra 也是小應(yīng)用程序的不錯選擇,2.0 版本預(yù)計 2017 年發(fā)布。
 
Python
 
Python 有以 Django 和 Flask 的形式組合的全棧/最小框架。Django 1.10 在 8 月發(fā)布,為 Postgres 引入了全文搜索和一個大修改的中間件層。
 
Java
 
Java 生態(tài)系統(tǒng)還有流行的 Web 框架可供選擇。Play 和 Spark 是兩個堅定的選擇,作為獎勵,它們可以與 Scala 一起使用。
 
其他
 
對于愛好者,還有 Phoenix 可供選擇,這是用 Elixir 語言編寫的,并試圖成為一個功能完全替代 Rails 的框架而且具有卓越的性能。如果 Elixir 是你想在 2017 年學(xué)習(xí)的語言之一,不妨嘗試 Phoenix。
 
五、數(shù)據(jù)庫
 
學(xué)習(xí)以下其中之一:Postgres,MySQL,CouchDB,Redis
 
PostgreSQL
 
PostgreSQL 今年發(fā)布了兩個完整版本 — 9.5 和 9.6。它們帶來了期待已久的 UPSERT 功能(又名  ON DUPLICATE KEY UPDATE)、更好的全文搜索和速度改進(jìn),這都?xì)w功于并行查詢,更高效的復(fù)制、聚合、索引和排序。Postgres 適用于大規(guī)模、TB 級規(guī)模的數(shù)據(jù)集以及繁忙的 Web Apps,所以這些優(yōu)化都很受歡迎。
 
MySQL
 
MySQL 8.0 將是該數(shù)據(jù)庫的下一個主要版本。正式版預(yù)計 2017 年發(fā)布,將給系統(tǒng)帶來很多改進(jìn)。MySQL 仍然是最受歡迎的數(shù)據(jù)庫管理系統(tǒng),整個行業(yè)都受益于這些新版本。
 
NoSQL
 
對于 NoSQL 的粉絲,推薦 CouchDB。它是一個快速和可擴(kuò)展的 JSON 存儲系統(tǒng),公開了一個 REST-ful HTTP API。這個數(shù)據(jù)庫易于使用,性能卓越。PouchDB 是一個開源的 JavaScript 數(shù)據(jù)庫,完全在瀏覽器中工作??赏ㄟ^ Couch 同步數(shù)據(jù)。在應(yīng)用程序離線的時候,可以將用戶數(shù)據(jù)保存在本地,在網(wǎng)絡(luò)連接可用后自動同步。
 
Redis
 
Redis 是最受歡迎的 Key-Value 數(shù)據(jù)庫。它體積小,快速而且通用性好。作為 NoSQL 數(shù)據(jù)存儲或進(jìn)程消息傳遞和同步通道,你可以將其作為智能內(nèi)存緩存的替代方案。它提供了大量的數(shù)據(jù)結(jié)構(gòu)可供選擇,并且即將到來的 4.0 版本將有一個模塊系統(tǒng)和改進(jìn)的復(fù)制功能。
 
六、工具
 
嘗試其中的一個或多個:Yarn,Git,Visual Studio Code,Electron,Ansible,Docker
 
Yarn
 
Yarn 是由 Facebook 開發(fā)的 Javascript 包管理器。它是對 npm 命令行工具的升級,提供了更快的安裝,更好的安全性和確定性構(gòu)建。它仍然使用 npm 包注冊表作為其后端,因此可以訪問同一個 JavaScript 模塊的生態(tài)系統(tǒng)。Yarn 與 npm 使用的 package.json 格式相兼容。
 
Visual Studio Code 和 Atom
 
兩個最受歡迎的開源代碼編輯器 — Visual Studio Code 和 Atom 在過去 12 個月中進(jìn)行了很多不可思議的創(chuàng)新。這兩個項目都使用網(wǎng)絡(luò)技術(shù)構(gòu)建,并吸引了大量的粉絲群體。編輯器有針對大部分語言的語法檢查,linting 和重構(gòu)工具的插件。
 
Git
 
Git 是最流行的源代碼版本控制系統(tǒng)。它是無服務(wù)器的,你可以將計算機(jī)上的任何文件夾轉(zhuǎn)換為存儲庫。如果你想共享代碼,有很多選擇,像 GitLab,Bitbucket 和 Github(當(dāng)然還有碼云)。2017年,建議熟悉 git 命令行,因為它會在比你想象中更多的場景派上用場。
 
Electron 和 NW.js
 
桌面應(yīng)用程序還沒有死,即使 Web App 變得越來越強(qiáng)大。有時你需要強(qiáng)大的功能和 API,這是網(wǎng)絡(luò)平臺無法提供的。使用諸如 Electron 和 NW.js 之類的工具,可以通過使用 Web 技術(shù)編來寫桌面應(yīng)用程序。你可以完全訪問操作系統(tǒng)和 npm 可用的廣度模塊。要了解這些工具的更多信息,請閱讀有關(guān) Electron 和 NW.js 的教程。
 
DevOps
 
軟件開發(fā)中的最近趨勢是讓開發(fā)人員負(fù)責(zé)自己的系統(tǒng)部署 — 也稱為 DevOps,這能產(chǎn)生更快的發(fā)布和更快地修復(fù)生產(chǎn)中的問題。具有運維經(jīng)驗的開發(fā)人員會受到公司的高度重視,因此從現(xiàn)在開始熟悉能實現(xiàn)這一目標(biāo)的技術(shù)將是巨大的進(jìn)步。推薦的一些工具是 Ansible 和 Docker。擁有 Linux 命令行和基本的系統(tǒng)管理技能也會為助你一臂之力。
 
七、技術(shù)
 
學(xué)習(xí)其中之一:云部署,機(jī)器學(xué)習(xí)庫,VR 開發(fā)
 
云已經(jīng)贏得了整個軟件行業(yè),可以看到大型公司關(guān)閉了他們的數(shù)據(jù)中心而且將其整個基礎(chǔ)設(shè)施遷移到了云上。目前三個主要平臺是 AWS, Google Cloud 和 Azure。這三個平臺都有著功能強(qiáng)大,不斷擴(kuò)展的功能集,包括虛擬機(jī),數(shù)據(jù)庫托管,機(jī)器學(xué)習(xí)服務(wù)等。而且價格也正在迅速下降,所以云是小公司和個人開發(fā)者可以接觸到的。對于 2017 年,部署一個業(yè)余的項目到這些提供商的平臺將會是一次很好的學(xué)習(xí)經(jīng)歷。
 
人工智能
 
人工智能是 2016 年的流行詞。語音識別和圖像分類只是該技術(shù)面向用戶的兩種應(yīng)用,人工智能的機(jī)器達(dá)到甚至超過了人類的性能。當(dāng)下有很多創(chuàng)業(yè)公司將 AI 和機(jī)器學(xué)習(xí)應(yīng)用到新領(lǐng)域,也有許多開源項目發(fā)布,例如谷歌的 Tensor Flow 和微軟的 Cognitive Toolkit。機(jī)器學(xué)習(xí)是一個與數(shù)學(xué)非常相關(guān)的主題,對于剛剛開始的人,這里有全面的在線課程。
 
虛擬現(xiàn)實和增強(qiáng)現(xiàn)實
 
虛擬現(xiàn)實(VR)和增強(qiáng)現(xiàn)實(AR)已經(jīng)存在了一段時間,最終該技術(shù)已經(jīng)成熟到足以提供一個引人注目的體驗。Facebook(Oculus Rift),Google(Daydream)和 Microsoft(Windows Holographic)都有歡迎第三方開發(fā)者加入的虛擬現(xiàn)實平臺。VR 頭戴設(shè)備仍然面臨挑戰(zhàn),如消除惡心的感覺和在游戲之外提供引人注目的用例。

相關(guān)文章
浪潮云DevOps體驗計劃發(fā)布 全面賦能開發(fā)者
浪潮云DevOps體驗計劃發(fā)布 全面賦能開發(fā)者
2019年預(yù)測:關(guān)于存儲、云計算、DevOps、人工智能
2019年預(yù)測:關(guān)于存儲、云計算、DevOps…
CDN+APM、DevOPS、AiOPS,共建運維新生態(tài)
CDN+APM、DevOPS、AiOPS,共建運維新生態(tài)
云計算如何結(jié)合DevOps推動軟件交付成功
云計算如何結(jié)合DevOps推動軟件交付成功
如何構(gòu)建一個私有存儲云
如何構(gòu)建一個私有存儲云
API如何開啟IT基礎(chǔ)設(shè)施的未來
API如何開啟IT基礎(chǔ)設(shè)施的未來
我還沒有學(xué)會寫個人說明!

24小時排行

  • 暫無文章