JavaScript為什么成了眾多小程序的首選?
從13年百度率先提出輕應用的概念以來,支付寶,微信等好多大流量App都借助自己的平臺,推出了小程序。小程序的優(yōu)勢很明顯:輕量、無需安裝、隨用隨走、性能又可以媲美原生的應用,更重要的是可以充分發(fā)揮各自平臺的優(yōu)勢,帶來更精彩、更豐富的用戶體驗。
而開發(fā)小程序,就不得不提JavaScript與Node.js。
JavaScript是什么?
JavaScript其實跟Java也沒什么關系,它的官方名稱為ECMAScript,是一種解釋性的腳本語言,可以嵌入HTML,然后在瀏覽器中運行。HTML大家應該都知道,是一個網(wǎng)頁的描述文件,它是靜態(tài)的,而JavaScript能夠為這些靜態(tài)的頁面添加動態(tài)內容,所以在前端開發(fā)中必不可少。
早期的JavaScript之所以流行,是因為其功能強大,在不需要服務器的情況下就能在客戶端大有建樹,使得瀏覽器中的網(wǎng)頁不再呆板死寂!但也正因為JavaScript的動態(tài)性,網(wǎng)站的安全性能無法得到有效的保障,所以也詬病不少!
2009年,隨著封裝了Chrome V8引擎的Node.js發(fā)布,使得JavaScript又獲得了新生,和PHP,Python等語言一樣,成了服務器端開發(fā)的利器。時至今日,各種基于JavaScript的框架層出不窮,不僅在前端開發(fā)中風采不減,而且在混合開發(fā)(Hybrid)領域大放異彩,涌現(xiàn)了React Native,Angular UI等優(yōu)秀框架。
為什么是JavaScript?
小程序開發(fā),大家為什么不約而同的選擇了JavaScript?
首先,與它與生俱來的優(yōu)勢是分不開的,即跨平臺、面向對象、事件驅動等。
其次,就是Node.js的帶來強大的服務器環(huán)境支持。Node.js的單線程、異步I/O、事件驅動等特點可以解決應用的高并發(fā),加上強大的V8引擎來解釋JavaScript,正好適合小程序的業(yè)務特點。
所以,在平臺端搭建小巧的Node.js服務器,然后用JavaScript開發(fā)小程序,就成了現(xiàn)有平臺們的***。
小程序的基礎架構
探索各大平臺的小程序開發(fā),不難發(fā)現(xiàn),基本上都是由4類文件組成:
一是用來描述頁面信息的XML文件(相當于Web中的HTML文件);
二是用來美化頁面的XCSS文件(CSS樣式文件,X在不同平臺可能有不一樣的字母);
三是用來處理事件的JavaScript文件(標準的JS文件);
四是用來聲明配置(路徑、信息等)的JSON文件(或其它的用來描述配置信息的文件,但以JSON居多,畢竟大家都熟悉,和JavaScript最般配)。
其實小游戲和小程序的框架是類似的,只不過小程序中可能不需要太多的頁面,所以有些會省去頁面文件和CSS文件,主要是基于H5的Canvas(同時支持2D和3D WebGL)來開發(fā)。
為什么不用H5?
很多開發(fā)過H5應用的朋友也會納悶,為什么平臺的小程序不直接用H5,而是都自立門戶,定義自己的規(guī)范呢?
首先,是各自平臺的展現(xiàn)形式不一樣,即所用的控件有很大的不同,H5并不能在不同的平臺更好的適配,反而會降低用戶體驗滿意度。
其次,每個平臺都有自己的特有的API體系,H5開發(fā)也不能做到適配所有。
總之,平臺的差異性,資源的差異性,決定了規(guī)范的差異性,與其適配折中,不如自定規(guī)矩,然后發(fā)揮更大的優(yōu)勢!
探索頭條小程序
今日頭條的小程序一直在秘密的進行著。這兩天有點空閑,看了看API,跟其它平臺相比,并沒有特別的不同。
頭條小程序充分結合了其場景:大流量入口(搜索、微頭條、我的頁面)、內容匹配(個人首頁、文章詳情頁、小視頻詳情頁)、廣告投放(廣告、頻道、錢包)等。
但是在數(shù)據(jù)存儲、文件存儲、云端開發(fā)等環(huán)節(jié)還相對薄弱,畢竟頭條的云端產(chǎn)品還不曾露面(不知道會不會做?),由于其還沒有正式上線,在內測版體驗還算不錯,值得期待!
小程序的未來
小程序依托平臺的魅力,已經(jīng)展現(xiàn)了其特殊的優(yōu)勢。如何與自家平臺的特色相關聯(lián),平臺也是想盡了方法,用盡了策略。
現(xiàn)階段,大家對小程序的接受還是有限,大家最擔心的是小程序帶來的平臺臃腫和混亂。
不管擔憂也罷,不習慣也罷,小程序都會成為一種發(fā)展趨勢。借助云計算和5G的發(fā)展,小程序一定會帶來突破性的發(fā)展。
想學編程的朋友們,不要一天到晚盯著大數(shù)據(jù)、人工智能了,從JavaScript開始也是個不錯的選擇哦!