新聞中心
軟件開發(fā)行業(yè)繼續(xù)向前邁進(jìn)。 在2017年,我們看到了新版本的流行編程語(yǔ)言、框架和工具,這給了我們更多的力量,并且改變著我們的工作方式。 跟上一切潮流很難,因此在每年年底,讓我們來談一談未來的十二個(gè)月什么才可能是最重要最值得學(xué)習(xí)的。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)金州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
一、首先,我們先來談些D(大)S(勢(shì))S(所)Q(趨)
1. Progressive Web Apps(漸進(jìn)式Web應(yīng)用 PWA)
也許你還不知道,2016年一種叫做PWA的概念已經(jīng)悄然興起,現(xiàn)在我們就來深入了解一下它的內(nèi)涵。
在生活中你有沒有在沒有網(wǎng)或者幾乎沒有網(wǎng)的情況下打開過淘寶知乎或者B站,那些本應(yīng)該是商品文章視頻的地方可能沒有圖片,但是也能完成一點(diǎn)簡(jiǎn)單的功能,比如顯示商品名文章名視頻名。這時(shí)你被某個(gè)商品吸引,發(fā)現(xiàn)自己沒開網(wǎng),打開網(wǎng)后就可以進(jìn)到商品購(gòu)買頁(yè)了。但是沒有網(wǎng),哪里來的數(shù)據(jù)呢?這一點(diǎn)就很好地體現(xiàn)了PWA的外殼型和離線性,先渲染一些類似于邊框的東西,并且由于其服務(wù)器架構(gòu),用戶即使沒有網(wǎng)或者弱網(wǎng)也可以秒開一些東西我們認(rèn)為,在2018年,PWA將變得更加重要,值得調(diào)查。
2. 人工智能+機(jī)器人,炒作還是未來?
現(xiàn)在每個(gè)人都在談?wù)摍C(jī)器人。從運(yùn)行它們的平臺(tái)到構(gòu)建它們的框架,整個(gè)互聯(lián)網(wǎng)社會(huì)都在嘗試制造自己的機(jī)器人。 機(jī)器人可以稱得上是下一個(gè)猶如今日手機(jī)APP一樣重量級(jí)的的開發(fā)項(xiàng)目,如果你加快腳步,你也許可以趕上潮流。但這也不是沒有風(fēng)險(xiǎn)的,一旦人們厭倦了它,機(jī)器人可能會(huì)被降級(jí)到一些無聊的角色,如自動(dòng)客戶支持。但是,我們可以夢(mèng)想!
人工智能是2016年的流行語(yǔ)。語(yǔ)音識(shí)別和圖像分類只是該技術(shù)的兩種面向用戶的應(yīng)用,其機(jī)器達(dá)到甚至超過人類的性能。有很多創(chuàng)業(yè)公司將AI和機(jī)器學(xué)習(xí)應(yīng)用到新領(lǐng)域。許多開源項(xiàng)目被發(fā)布,比如谷歌的Tensor Flow和微軟的認(rèn)知工具包。
3. 前端框架合并
在JavaScript社區(qū),看到一個(gè)有趣的現(xiàn)象幾乎每周都會(huì)有新的工具出現(xiàn),但是在2016年,這些新工具并沒有在應(yīng)用上取代那些舊的。相反,我們看到流行的框架交換想法和納入新手提出的創(chuàng)新。 所以在2017年,你選擇的主要JS框架無關(guān)緊要,它們的功能大多是相似的。
4. 云
各地的公司和開發(fā)商都在將自己拋向“云”端。 這種虛擬化的計(jì)算機(jī)基礎(chǔ)架構(gòu),可根據(jù)需要提供,并可從控制面板完全配置。 三大云提供商是AWS,Google Cloud和Azure。由于他們持續(xù)的競(jìng)爭(zhēng)價(jià)格一直在下降,這吸引了更多的小公司和個(gè)人開發(fā)商涌入。因此,無論你工作在BAT還是創(chuàng)企,熟悉云工作流程將是2018年的一筆不錯(cuò)的投資。
5. 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)在過去的十二個(gè)月中已經(jīng)爆炸式增長(zhǎng)。 AlphaGo對(duì)決李世乭比賽在3月將機(jī)器學(xué)習(xí)推進(jìn)大眾的視野。 從原始數(shù)據(jù)中學(xué)習(xí)的智能計(jì)算機(jī)系統(tǒng)正在改變我們與移動(dòng)設(shè)備交互的方式。表面看來,機(jī)器學(xué)習(xí)將是2017年更大贏家。
6. VR&AR
虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)已經(jīng)存在了一段時(shí)間,但最終該技術(shù)已經(jīng)成熟,足以提供引人注目的體驗(yàn)。比如前一陣子淘寶試水的VR購(gòu)物,或者網(wǎng)上熱賣的LeapMotion和kinect等游戲設(shè)備,都標(biāo)志著VR/AR設(shè)備的遠(yuǎn)大前景。 Facebook(Oculus Rift),Google(Daydream)和Microsoft(Windows Holographic)都有虛擬現(xiàn)實(shí)平臺(tái),各大公司對(duì)于第三方開發(fā)者打出了歡迎的態(tài)度。
學(xué)習(xí)其中之一:
云部署,機(jī)器學(xué)習(xí)庫(kù),VR開發(fā)。
二、編程語(yǔ)言——安身立命之本
1. JavaScript
繼續(xù)其令人難以置信的創(chuàng)新步伐。為了配合Web瀏覽器的快速發(fā)布計(jì)劃,JS標(biāo)準(zhǔn)每年就會(huì)更新一次。下一個(gè)版本,ES2017,預(yù)計(jì)將于2017年中期完成。它將帶來許多JS開發(fā)人員的夢(mèng)想特征——異步/等待,用于處理異步函數(shù)。什么,新功能學(xué)不懂?那么也許你可以從基本的JS類庫(kù)學(xué)起。
2. TypeScript
TypeScript 2.1于2016年年底發(fā)布,為舊瀏覽器帶來了異步/等待,并改進(jìn)了類型推斷。 TypeScript是一種編譯為JavaScript的靜態(tài)類型語(yǔ)言。它增加了強(qiáng)大的功能,如經(jīng)典的OOP模型和可選的靜態(tài)類型,使大代碼庫(kù)更容易維護(hù)。它是編寫Angular 2應(yīng)用程序的首選語(yǔ)言,我們建議你嘗試。
3. C#
C#7.0預(yù)計(jì)在2017年推出。當(dāng)他們推出開源Visual Studio代碼編輯器和.Net Core時(shí),微軟讓每個(gè)人驚訝不已,讀到這里你可能就會(huì)問了,一個(gè)新版本更新了一個(gè)框架和一個(gè)編輯器而已,何談驚訝不已呢?拋下“秒天秒地秒空氣”的VS不說(2016年微軟發(fā)布了Mac版VS),單單談.Net Core這個(gè)大家不太熟悉的框架就可以知道這一代的C#有多厲害了。
眾所周知,Java幾乎可以算是目前應(yīng)用最廣泛的編程語(yǔ)言,它之所以應(yīng)用廣泛,能被安卓選為設(shè)計(jì)語(yǔ)言就是因?yàn)槠淇缙脚_(tái)性。而.Net Core就是將C#原來的架構(gòu).Net Framework和表現(xiàn)優(yōu)秀的編輯器Mono(個(gè)人體驗(yàn)而言Mono代碼提示和報(bào)錯(cuò)都是相當(dāng)優(yōu)秀的),整合到跨平臺(tái)上實(shí)現(xiàn),并且在GitHub上嘗試開源。這一點(diǎn)直接觸動(dòng)了Java的核心競(jìng)爭(zhēng)力,因此才能算是令人瞠目結(jié)舌?,F(xiàn)在的C#不僅在Windows上運(yùn)行,還可以跑在Linux、Unix、MacOS甚至BSD上,我們相信,2017年對(duì)于所有C#程序員來說將是令人興奮的一年。
4. Python
Python 3.6于12月發(fā)布。它正在鞏固其作為開發(fā)人員,IT專業(yè)人員和科學(xué)家的腳本語(yǔ)言的首選地位。它適用于自動(dòng)化,Web開發(fā),機(jī)器學(xué)習(xí)和科學(xué)計(jì)算。當(dāng)你想寫一個(gè)簡(jiǎn)單的爬蟲程序來獲取信息時(shí),現(xiàn)在Python理應(yīng)是你的第一選擇。至于Python 2/3版本的問題已經(jīng)爭(zhēng)論多年,在社區(qū)的努力下,但是現(xiàn)在你可以輕松地選擇3并享受完整的庫(kù)支持。對(duì)于那些需要額外的性能,他們可以看看PyPy,并可以選用JIT啟用Python運(yùn)行時(shí)。
5. Ruby
Ruby 2.3今年早些時(shí)候發(fā)布了一些性能改進(jìn)。 Ruby也是一個(gè)通用腳本語(yǔ)言的好選擇,但是當(dāng)與Rails配對(duì)時(shí)可能會(huì)更加大放異彩。 Ruby 3×3的倡議被宣布,這將試圖使即將推出的Ruby 3版本比當(dāng)前版本快3倍,為在更多的上下文中使用Ruby提供了基礎(chǔ)。
6. PHP
PHP 7.1是在12月發(fā)布的,并對(duì)該語(yǔ)言進(jìn)行了小小的增強(qiáng)。這基于去年版本7.0中的主要性能改進(jìn),將PHP轉(zhuǎn)變?yōu)闃?gòu)建Web應(yīng)用程序的快速平臺(tái)。我們認(rèn)為當(dāng)你需要開發(fā)一個(gè)Web應(yīng)用的時(shí)候,PHP將是一個(gè)不錯(cuò)的選擇。
7. Java
Java 9預(yù)計(jì)在2017年,并將帶來歡迎的新功能,如評(píng)估代碼,HTTP 2.0支持和新的API的repl。對(duì)于有才能的Java開發(fā)人員和使用該語(yǔ)言的廣泛的令人興奮的項(xiàng)目有強(qiáng)烈的需求。如果Java不是你的菜,有一些基于JVM的語(yǔ)言,如Kotlin和Scala,你可以試試。
8. Swift
Swift 3今年早些時(shí)候發(fā)布。這是蘋果對(duì)現(xiàn)代編程語(yǔ)言的愿景(喬布斯尸骨未寒。。。),它簡(jiǎn)化了iOS和macOS上的應(yīng)用程序開發(fā)。 Swift是開源的,吸引了大量的社區(qū)參與維護(hù)開發(fā)。版本4計(jì)劃于2017年,將改進(jìn)語(yǔ)言和介紹服務(wù)器API,使其成為編寫網(wǎng)絡(luò)應(yīng)用程序和后端的一個(gè)不錯(cuò)的選擇。
如果你正在尋找更令人興奮的東西,你可以嘗試Crystal and Elixir,它們結(jié)合了一個(gè)友好的類似ruby的語(yǔ)言平臺(tái)。或者你可以看看一個(gè)功能語(yǔ)言如Haskell或Clojure。另外兩種可以選擇的快速語(yǔ)言應(yīng)該是Rust和Go。
2018年語(yǔ)言方向建議:
學(xué)習(xí)一個(gè)或多個(gè):JS(ES2017),TypeScript,C#,Python,Ruby,PHP7,Java / Kotlin / Scala。
三、前端(9K)到全棧(10k+)
1. Web
Web平臺(tái)最近取得了兩個(gè)重大進(jìn)展——Web Assembly 和 Service Workers,他們打開快速和高效的Web應(yīng)用程序的門,彌合與本地編譯應(yīng)用程序的差距。Service Workers尤其是漸進(jìn)式Web應(yīng)用程序(上文中提到的PWA)的啟用技術(shù),并為Web平臺(tái)的通知提供支持,將來還會(huì)有更多的API。
2. Angular.js 2
Angular.js 2今年發(fā)布。該框架由Google支持,非常受企業(yè)和大公(Gu)司(Ge)的歡迎。它具有大量的功能,使從網(wǎng)絡(luò)到桌面和移動(dòng)應(yīng)用程序的寫作成為可能。框架是用TypeScript編寫的,這也是編寫應(yīng)用程序的推薦語(yǔ)言。有很多要學(xué)習(xí)的內(nèi)容,但我們認(rèn)為在2017年學(xué)習(xí)Angular 2將是一筆不錯(cuò)的投資。
3. Vue.js
Vue.js也看到了今年的2.0版本。它借鑒了Angular,React和Ember的好主意,并將它們放入一個(gè)易于使用的包中。它也比前兩個(gè)更輕量級(jí)并且更快。我們建議你今年試試,從我們的一個(gè)Vue.js教程開始。http://igeekbar.com/igeekbar/post/109.htm
4. Ember
Ember是JavaScript框架的另一個(gè)選擇。它支持?jǐn)?shù)據(jù)綁定,自動(dòng)更新模板,組件和服務(wù)器端呈現(xiàn)。與其競(jìng)爭(zhēng)對(duì)手相比,它的一個(gè)好處是它更成熟和穩(wěn)定。打破變化的頻率要低得多,社區(qū)也會(huì)降低兼容性。這使得框架成為長(zhǎng)期應(yīng)用程序的不錯(cuò)選擇。
另外兩個(gè)值得一看的框架是Aurelia和React。去年,React的生態(tài)系統(tǒng)變得越來越復(fù)雜,因此很難為初學(xué)者推薦。但經(jīng)驗(yàn)豐富的開發(fā)者可以將庫(kù)與GraphQL,Relay,F(xiàn)lux和Immutable.js組合成一個(gè)全面的完整堆棧解決方案。
沒有前端編譯可以繞開Bootstrap,Bootstrap4目前處于Alpha版本,預(yù)計(jì)在2017年發(fā)布。值得注意的變化是新的通用卡組件和flexbox網(wǎng)格,這個(gè)現(xiàn)代化的框架,使工作環(huán)境更加簡(jiǎn)單快樂。
5. SASS和LESS
SASS和LESS仍然是當(dāng)今最流行的兩種CSS預(yù)處理器。雖然vanilla CSS最終得到了對(duì)變量的支持,SASS和LESS仍然優(yōu)于對(duì)mixins,函數(shù)和代碼組織的支持。如果你還沒有,請(qǐng)查看我們的SASS和LESS快速入門指南。
2018年前端框架方向建議:
學(xué)習(xí)以下一個(gè)或多個(gè):Angular 2,Vue.js,Ember,Bootstrap,LESS / SASS。
四、后端
后端有很多選擇,所有這一切都取決于你對(duì)編程語(yǔ)言或特定性能需求的偏好。Web開發(fā)中的持續(xù)趨勢(shì)是遠(yuǎn)離后端,將該層轉(zhuǎn)換為由前端和移動(dòng)應(yīng)用程序使用的API。但是,一個(gè)完整的堆??蚣芡ǔ8?jiǎn)單,更快地開發(fā),并且仍然是許多web應(yīng)用程序的有效選擇。
1. Node.js
Node.js是在瀏覽器外運(yùn)行JS的主要方式。它看到了今年的許多新版本,增加了性能和增加覆蓋整個(gè)ES6標(biāo)準(zhǔn)。Node具有構(gòu)建快速API,服務(wù)器,桌面應(yīng)用程序甚至機(jī)器人的框架,以及創(chuàng)建可以想象的各種模塊的龐大社區(qū)。在Node.js的框架中你可能想研究:Express,Koa,Next,Nodal。
2. PHP
什么?PHP,我沒逗你。PHP首先是一種Web語(yǔ)言,并且有大量的Web框架可供選擇。由于其出色的文檔和未來,Laravel已經(jīng)形成了一個(gè)活躍的社區(qū)。 Zend Framework發(fā)布了第3版,這標(biāo)志著這種面向業(yè)務(wù)的框架的極大升級(jí)。 Symfony在今年也看到了很多新的版本,使它成為一個(gè)完整的堆棧解決方案,一個(gè)更好的選擇。
3. Ruby
對(duì)于Ruby,Rails框架是首選。版本5.0于2016年發(fā)布,為Web套接字,API模式提供支持。 Sinatra也是小應(yīng)用程序的不錯(cuò)選擇,版本2.0預(yù)計(jì)2017年有時(shí)。
4. Python
Python以Django和Flask的形式有了自己的全棧/最小框架組合。 Django 1.10在8月發(fā)布,引入全文搜索Postgres和一個(gè)大修的中間件層。
5. Java
Java生態(tài)系統(tǒng)還有流行的Web框架可供選擇。 Play和Spark是兩個(gè)固定的選擇,,他們也可以與Scala一起使用。
6. Phoenix
對(duì)于愛好者來說,Phoenix也是一種后端可選項(xiàng),這是用Elixir編寫的,并試圖成為一個(gè)功能完整、性能卓越的Rails替代品。如果Elixir是你想在2017年學(xué)習(xí)的語(yǔ)言之一,試試Phoenix吧。
2018年后端方向建議:
學(xué)習(xí)其中之一:全棧后端框架,一個(gè)微框架。
五、數(shù)據(jù)庫(kù)
1. MySQL
MySQL 8.0將是數(shù)據(jù)庫(kù)的下一個(gè)主要版本。預(yù)計(jì)2017年某個(gè)時(shí)候,它將給系統(tǒng)帶來很多改進(jìn)。 MySQL仍然是最受(mian)歡迎(fei)的數(shù)據(jù)庫(kù)管理系統(tǒng),整個(gè)行業(yè)都受益于這些新版本。
2. PostgreSQL
PostgreSQL 9.6于9月發(fā)布。它帶來更好的全文搜索,加快了數(shù)據(jù)庫(kù)系統(tǒng)的并行查詢和更高效的復(fù)制,聚合,索引和排序。 Postgres用于大規(guī)模,太字節(jié)規(guī)模的數(shù)據(jù)集,以及繁忙的網(wǎng)絡(luò)應(yīng)用程序,這些優(yōu)化在大數(shù)據(jù)和海量數(shù)據(jù)時(shí)代都是是受歡迎的。
3. NoSQL
對(duì)于NoSQL粉絲,我們可以推薦CouchDB。它是一個(gè)快速和可擴(kuò)展的JSON存儲(chǔ)系統(tǒng),它公開了一個(gè)REST-ful HTTP API。數(shù)據(jù)庫(kù)易于使用,性能卓越。 PouchDB是一個(gè)精神對(duì)應(yīng)的CouchDB,完全在瀏覽器中工作,可以與Couch同步。這允許你在離線準(zhǔn)備的網(wǎng)絡(luò)應(yīng)用程序中使用Pouch,并在互聯(lián)網(wǎng)連接可用后自動(dòng)同步。
4. Redis
Redis是我們最喜歡的鍵值存儲(chǔ),它具有輕量級(jí),快速的特點(diǎn),并且功能繁多。你可以將其用作智能內(nèi)存替代方法,作為NoSQL數(shù)據(jù)存儲(chǔ)或進(jìn)程消息傳遞和同步通道。它提供了大量的數(shù)據(jù)結(jié)構(gòu)可供選擇,并且即將到來的4.0版本將有一個(gè)模塊系統(tǒng)和改進(jìn)的復(fù)制。
2018年數(shù)據(jù)庫(kù)方向建議:
學(xué)習(xí)其中之一:MySQL,Postgres,CouchDB,Redis。
六、開發(fā)工具
1. Yarn
Yarn是由Facebook開發(fā)的Node.js的替代包管理器。它是對(duì)npm命令行工具的升級(jí),提供更快捷的安裝,更好的安全性和穩(wěn)定的項(xiàng)目構(gòu)建。它仍然使用npm包注冊(cè)表作為其后端,因此你可以訪問優(yōu)秀的JavaScript模塊。 Yarn與npm使用的package.json格式兼容,而且相較于npm,二者最大的差別可能就是快速安裝了吧。
2. Visual Studio Code和Atom
兩個(gè)最受歡迎的開源代碼編輯器 - Visual Studio Code和Atom在過去12個(gè)月中為我們呈現(xiàn)到了不可思議的創(chuàng)新成果。首先是網(wǎng)絡(luò)構(gòu)建項(xiàng)目,如果你還是一個(gè)“單打獨(dú)斗”的程序員也許你并不需要網(wǎng)絡(luò)項(xiàng)目,但如果你不能提前養(yǎng)成一個(gè)好的版本控制習(xí)慣,當(dāng)你進(jìn)入大型項(xiàng)目組時(shí),你可能會(huì)成為需要在回家的路上半路跑回公司次數(shù)最多的那個(gè)人。語(yǔ)法檢查可以幫助你提前減少BUG。編輯器有可用的語(yǔ)言檢查,linting和重構(gòu)工具的大量語(yǔ)言的插件。
3. Git
Git是最流行的源代碼版本控制系統(tǒng)。它是無服務(wù)器的,你可以將計(jì)算機(jī)上的任何文件夾轉(zhuǎn)換為存儲(chǔ)庫(kù)。如果你想共享代碼,你有很多選擇,如GitLab,
4. Bitbucket和Github
Bitbucket和Github,僅舉幾例。對(duì)于2017年,我們建議你熟悉git命令行,因?yàn)樗鼤?huì)比你想象的更方便。
桌面應(yīng)用程序還沒有死。即使網(wǎng)絡(luò)應(yīng)用程序變得越來越有能力,有時(shí)你需要強(qiáng)大的功能和API,這是網(wǎng)絡(luò)平臺(tái)根本不可用。使用諸如Electron和NW.js之類的工具,你可以使用Web技術(shù)編寫桌面應(yīng)用程序。借此,你可以如魚得水地在操作系統(tǒng)中盡量發(fā)揮npm的各個(gè)模塊的功能。
5. DevOps
軟件團(tuán)隊(duì)組織的最新趨勢(shì)是讓開發(fā)人員負(fù)責(zé)自己的軟件部署。也稱為DevOps,這導(dǎo)致更快的發(fā)布和更快地修復(fù)生產(chǎn)中的問題?,F(xiàn)在公司也越來越看重那種即會(huì)運(yùn)營(yíng)又會(huì)寫代碼的程序員(或者說有可能在35歲之后能和公司一起走下去的員工),因此熟悉能夠?qū)崿F(xiàn)這一目標(biāo)的技術(shù)將是一個(gè)巨大的進(jìn)步。我們推薦的一些工具是Ansible和Docker。擁有Linux命令行和基本系統(tǒng)管理技能的經(jīng)驗(yàn)也將使你看起來更優(yōu)秀。
2018年發(fā)發(fā)工具方向建議:
嘗試一個(gè)或多個(gè)這些:Yarn,Git,Visual Studio,Electron,Ansible,Docker。
新聞名稱:2018年即將到來,大牛們已經(jīng)開始關(guān)注的那些新的語(yǔ)言、框架和工具
網(wǎng)頁(yè)網(wǎng)址:http://www.5511xx.com/article/dpidsoo.html


咨詢
建站咨詢
