2017年將讓我們的生活更加接近經典科幻小說所描繪的未來世界,人工智能、虛擬現實以及量子計算都將逐漸成為主流。在本文中,讓我們來看看2017年軟件開發領域的四個發展趨勢:
客戶端服務器混合系統增加
在2017年,我們將看到更多軟件系統以不同比例混合本地運行與云計算。在傳統Web編程中,瀏覽器連接到后端服務器,由后端服務器進行所有實際處理。而在傳統應用編程中,這些程序在本地運行(例如在手機或者筆記本電腦中),在設備端完成所有工作。OneNote或者Firefox等應用在本地運行,而Amazon或Gmail等Web服務則在云端服務器運行。
有些系統是混合系統:既不是純應用也不是純服務。有些計算在本地完成,有些則在云端進行。例如,Xbox One游戲可利用控制臺中大量的本地處理能力,同時還可結合Xbox Live的大型多人游戲組件。
這種系統并不是新事物,在任何具有“連接”模式與“離線”模式的應用中都可看到這種模式,例如GMaps或者Outlook。云計算和本地之間的鴻溝變得越來越不明顯。隨著設備和服務中計算能力的增強(以及寬帶的增加),企業將創建越來越多的混合系統。
在2017年,我們將繼續看到這一趨勢,筆者預測,云計算和本地計算之間的區別將進一步模糊。對于必須在每臺設備和瀏覽器運作的功能,開發者將繼續構建web應用,利用跨平臺組件。
而對于極端響應或實時功能,則必須在本地運行以避免網絡延遲。功能要求(以及團隊專業知識)將指明最佳架構,展望未來,大部分系統都將以這種方式混合。
大數據變得更大
可用于大數據計算的信息正在增加,強大的云計算工具和機器學習算法將允許開發人員更有效地利用這些數據。每天我們都在生成更多的數據:可穿戴設備發射生物特征數據、網站記錄每個用戶點擊、客戶行為記錄等。大數據工具(Python或者Scala等函數式編程語言)讓我們能夠應對這些挑戰。
另外,機器學習系統在數據分析中的運用有著顯著增加。與過去只是證明或反駁具體因果假設的技術不同,這些機器學習技術可帶來意想不到的發現。今年我們將會從大數據分析中得到更多有用可操作的結果,我們也將需要更多專業的數據工程師和分析師。
VR成為主流
2017年將會是虛擬現實技術成為主流的一年,增強現實(AR)也取得快速進步,這意味著對VR/AR特定技能將有著更多需求。
當VR變成主流時,最值得關注的是消費者采用這種新技術而同時繼續使用目前“平面”UI的過渡期。到那時,最佳產品將是可同時提供3D或2D用戶界面體驗的產品。對于VR在短期內的快速發展,大多數3D應用將需要在必要時映射回2D。否則,這可能會帶來分裂用戶群的風險。例如Skype這樣的應用:它是會分裂成兩種產品(一個完全針對VR用戶,另一個則用于其他用戶),還是混合兩種功能的產品?設計同時適用于VR和非VR用戶的界面將是很大的挑戰。
VR的增長也意味著我們將看到開發技能將從游戲開發世界轉移到其他類型的軟件。對于大多數應用不適用的照明和照相機移動等將在VR中變得至關重要。開發人員將可使用Unreal Engine或Unity等游戲引擎來為VR設備編寫軟件,例如Oculus Rift、HTC Vive、谷歌Daydream和Cardboard。對于大多數應用,軟件開發過程都將需要改變,讓應用可適應VR的第一步就是增加3D效果。盡管如此,在應用轉換成3D版后,設備特定代碼數量會相對較小(盡管缺乏VR硬件標準)。如果軟件行業適應這一趨勢,我們將會看到VR進入日常生活中。
量子計算讓設備變得更小
有些人感嘆摩爾定律正在減慢,因為晶體管開始以納米和原子作為單位。然而,谷歌和微軟正在招聘量子計算專家參與工程項目,他們可能很快會生產真正的量子計算機。量子計算機可比基于晶體管的計算更高速地進行計算,這將帶來更小更強大的設備。設備可能會變得非常小,我們可能會看到有些公司(例如蘋果和微軟)生產出可穿戴的超級設備,完全替代手機、平板電腦和筆記本電腦。
這么多新興技術逐漸進入主流,這是非常令人興奮的事情。開發人員應該為量子計算、大數據以及混合現實等技術做好準備,學習新的語言、增強分布式系統技能,或者開始閱讀3D設計,開始學習新的知識。