在編程世界吁津,流行的是科學棚蓄,嚴謹和精確的準則。這不是說編程是一種缺乏趨勢的行業(yè)碍脏。不同的是梭依,由于編程重視的是高效,用戶化和使用方便典尾,因此編程技術(shù)需要不斷更新?lián)Q代役拴。那么,在即將到來的2017年和未來的幾年內(nèi)钾埂,會有哪些新技術(shù)出現(xiàn)河闰,成為新的潮流,又有哪些技術(shù)的熱潮會漸漸消退呢褥紫?下面所列出的10種技術(shù)姜性,摘自infoworld.com的一位編輯Peter Wayner撰寫的文章21 hot programming trends -- and 21 going cold。本文旨在與大家一起討論這個話題髓考。
1. JavaScript MV 框架成為熱門部念,JavaScript文件遇冷
很久以前,我們寫JavaScript代碼來彈出一個消息窗口或檢查表格中含有@符號的電子郵件地址。不過現(xiàn)在有了HTML Ajax應(yīng)用程序儡炼,它們非常精細妓湘,因此很少人從零開始寫代碼了。現(xiàn)在比較簡單的方法是:使用一個有詳細說明的框架和寫一點膠水代碼來執(zhí)行商業(yè)邏輯∥谘現(xiàn)在有很多框架多柑,如Kendo, Sencha,jQuery Mobile楣责,AngularJS竣灌,Ember, Backbone, Meteor JS等等,所有這些框架都是為了處理Web應(yīng)用程序以及頁面事件和內(nèi)容而準備的秆麸。另外初嘹,還有一些為智能手機和平板電腦提供的跨平臺框架,其中包括nativescript沮趣,PhoneGap和Sencha Touch等屯烦,它們可以用來創(chuàng)建源自HTML5技術(shù)的app。
在livecoding.tv上房铭,一位開發(fā)者使用Phonegap開發(fā)一款HTML5 App
2. SVG + JavaScript on Canvas受歡迎驻龟,F(xiàn)lash風光不再
Flash風光了很多年,很多有才華的編程大師建立了一個Flash代碼堆垛來處理復(fù)雜的過渡和動畫缸匪。不過翁狐,現(xiàn)在JavaScript層具有很多相同的能力。瀏覽器的制造商和開發(fā)者都在為Flash的結(jié)束而歡呼凌蔬。JavaScript可以與DOM層更好地整合在一起露懒,DOM層來自一些新的格式,例如SVG(可縮放矢量圖形)砂心。SVG和HTML包含了一大堆標簽懈词,Web開發(fā)者使用起來往往更方便,現(xiàn)在還有了大的APIs辩诞,讓你可以在畫布對象上詳細地繪畫圖形坎弯,通常還會提供視頻卡來幫助你使用。當把它們結(jié)合起來使用译暂,你還有什么理由要用Flash呢抠忘?
3. 游戲框架比本土游戲開發(fā)更受歡迎
以前,游戲開發(fā)意味著要請大量開發(fā)人員秧秉,他們從零開始用C語言寫所有代碼褐桌。這需要投入巨資。現(xiàn)在象迎,大多數(shù)游戲開發(fā)者放下了他們多年前的驕傲資本荧嵌,現(xiàn)在他們使用庫呛踊,如Unity, Corona, 或LibGDX來建立系統(tǒng)。他們不會再寫像庫說明那么多的C代碼了啦撮。我們的游戲不再是用手工寫代碼完成谭网,而是由相同的引擎來制作而成的。這也許讓人覺得慚愧赃春,不過愉择,大多數(shù)開發(fā)者都對此感到很欣慰,因為他們不需要被迫去處理細節(jié)织中,這樣他們可以專注于游戲玩法锥涕,情節(jié),人物和藝術(shù)狭吼。
Livecoding.tv 上的直播者使用 Unity 及其它庫來開發(fā)各種游戲
4. 單一網(wǎng)頁的Web apps盛行层坠,網(wǎng)站遇冷
制作傳統(tǒng)網(wǎng)站的時候,網(wǎng)站設(shè)計人員要花幾個小時來制作網(wǎng)站地圖刁笙,以令網(wǎng)站導航變得簡單破花。新的Web應(yīng)用程序是從前端到有大量內(nèi)容的大數(shù)據(jù)庫。當Web應(yīng)用程序需要信息時疲吸,它就從數(shù)據(jù)庫中提取信息并將信息注入到本地的模具中∽浚現(xiàn)在沒有必要使用Web附加設(shè)備所需要的所有東西來標記數(shù)據(jù),以便創(chuàng)建一個網(wǎng)頁了摘悴。數(shù)據(jù)層是完全獨立于演示和格式層峭梳。移動計算的興起是另一個因素:單頁的,響應(yīng)式設(shè)計的網(wǎng)頁烦租,它工作起來就像一個app——所有這些都更好晕城,以避免混亂的App商店筒繁。
5. 移動Web apps比本土移動Web apps更具競爭力
APP開發(fā)者可以寫不同版本的app來應(yīng)用于不同的系統(tǒng):Android,iOS眼姐,Windows 8者蠕,甚至BlackBerry OS或是其它任何一個系統(tǒng)窃祝。每一個版本的app需要由一個獨立的,懂得不同編程語言的團隊來開發(fā)踱侣。然而粪小,每一個平臺上的app商店在把app交到用戶手中之前,可能會提出種種合理不合情的要求抡句。這是開發(fā)者不希望看到的探膊。開發(fā)者可以創(chuàng)建一個HTML app,把它放在一個網(wǎng)站上待榔,在所有平臺上運行逞壁。如果出現(xiàn)了什么變化流济,你不需要返回app商店去請求獲得一個迅速的錯誤檢查和修復(fù)。現(xiàn)在腌闯,HTML層越來越快绳瘟,而且它在速度較快的芯片上運行,這種方法可以使移動Web app更好地與本土app競爭姿骏,甚至是與更復(fù)雜的交互式app競爭糖声。
6. Android大熱, iOS遇冷
幾年前,蘋果專賣店門前排起的“人龍”還記得吧分瘦?時代在改變蘸泻,雖然iPhone和iPad仍然擁有忠實粉絲,他們喜歡豐富嘲玫、復(fù)雜的用戶界面悦施,但原始銷售數(shù)據(jù)依然對Android有利。甚至有報道說趁冈,超過80%的手機是Android的歼争。原因可能很簡單,因為成本渗勘。當iOS的設(shè)備成本仍然很高的時候沐绒,Android正在以大量競爭洶涌而來,那就是用五分之一的價格來生產(chǎn)平板電腦旺坠。省錢永遠是一種誘惑乔遮。不過,另一個因素可能是開源的效果取刃。任何人都可以在市場上競爭蹋肮。
7. Web界面興起,IDEs熱潮消退
很久以前璧疗,人們用的是命令行編譯器坯辩,然后有人把編輯器和其它工具整合在一起,創(chuàng)造了IDE”老溃現(xiàn)在又輪到IDE的熱潮消退了漆魔,因為有了基于瀏覽器的工具出現(xiàn)。它們通常是一個工作系統(tǒng)却音,可以讓你編輯代碼改抡。如果你不喜歡WordPress的功能,它配備了一個內(nèi)置的編輯器系瓢,讓你可以即時更改代碼阿纤。微軟的Azure允許你在它的入口寫JavaScript膠水代碼。雖然這些系統(tǒng)不能提供最好的調(diào)試環(huán)境夷陋,并且在編輯生產(chǎn)代碼時可能會有一些危險欠拾,但這個創(chuàng)意是不錯的胰锌。
你可以嘗試Cloud9,Aptana清蚀,和Mozilla WebIDE匕荸,但要堅持探索。Web界面正在變得越來越強大枷邪。有可能會出現(xiàn)這樣的情況榛搔,在微軟的Azure網(wǎng)站上建立一個完整的大數(shù)據(jù)分析項目。
8. 大熱的是Node.js, 遇冷的是JavaEE, Ruby on Rails
服務(wù)器的世界一直在線程模型上長盛不衰东揣,它讓程序員在使用操作系統(tǒng)時可以有種種行為践惑,如固執(zhí),低效或是放任嘶卧。無論是由程序員編碼而造成的愚蠢的循環(huán)或是浪費的計算尔觉,操作系統(tǒng)都可以在線程之間切換來平衡性能。
Node連同JavaScript一起回調(diào)編程模型芥吟,它的代碼的確運行得很快侦铜,比任何人預(yù)期的還快。它曾經(jīng)可能是一種無實用價值的語言钟鸵,只是被用于警告消息框钉稍。但意外地,由于創(chuàng)建新線程的開銷變得明顯棺耍,Node.js騰飛了贡未。當程序員表現(xiàn)得不好時,問題就會出現(xiàn)了蒙袍,但責任在很大程度上是對他們有好處的俊卤。顯然,限制資源往往可以令程序員更快地寫代碼害幅。Node.js還有利于瀏覽器和服務(wù)器之間的和諧消恍。運行在瀏覽器和服務(wù)器上的相同代碼可以讓開發(fā)人員更方便地移動和復(fù)制功能。因此以现,Node.js層已經(jīng)成為互聯(lián)網(wǎng)上最熱門的棧哺哼。
9. PHP7.0速度提升,舊版PHP淡出
在過去叼风,PHP是一種簡單的方法來淘汰一些動態(tài)網(wǎng)頁。如果你需要一點點的變化棍苹,你可以在HTML標簽之間嵌入簡單的代碼无宿。Web開發(fā)者有了它就基本足夠了,但它的緩慢足以令程序員中的中堅分子看不起它枢里。一些喜愛PHP的程序員在Wordpress和Facebook等地方都在爭相利用即時編譯器孽鸡,這種曾創(chuàng)造出Java如此高性能解決方案的技術(shù)來執(zhí)行比以前更快的PHP代碼□逦纾現(xiàn)在的工具如HipHop,虛擬機和PHP7.0提供的速度可能是舊版本的2倍彬碱。這會給Node.js和java帶來挑戰(zhàn)豆胸。
10. 在線即時教育成趨勢,四年傳統(tǒng)教育不再是主流
以計算機為媒介的課程已經(jīng)不是新玩意了巷疼,每個人正在享受著觀看視頻講座的好處晚胡。但這不僅是教育的一種本質(zhì),網(wǎng)上課程技術(shù)的背后是它顛覆了教育產(chǎn)業(yè)技術(shù)的復(fù)雜性嚼沿;它還可以讓你靈活地支配自己的學習時間和地點估盘。這正在改變我們的生活動態(tài),因為我們不再需要投資四年的時間以及負擔高額的學費去學習一系列課程了骡尽。當你需要獲得新信息的時候遣妥,你的需要可以即時得到滿足