做自(zì)由與創造的先行者

小(xiǎo)程序與普通網頁開(kāi)發的區(qū)别

小(xiǎo)程序開(kāi)發手冊

小(xiǎo)程序的主要開(kāi)發語言是 JavaScript ,小(xiǎo)程序的開(kāi)發同普通的網頁開(kāi)發相比有很(hěn)大(dà)的相似性。對(duì)于前端開(kāi)發者而言,從(cóng)網頁開(kāi)發遷移到(dào)小(xiǎo)程序的開(kāi)發成本并不高(gāo),但(dàn)是二者還是有些(xiē)許區(qū)别的。

​網頁開(kāi)發渲染線程和(hé)腳本線程是互斥的,這(zhè)也(yě)是爲什(shén)麽長時(shí)間的腳本運行可能(néng)會(huì)導緻頁面失去響應,而在小(xiǎo)程序中,二者是分開(kāi)的,分别運行在不同的線程中。網頁開(kāi)發者可以使用(yòng)到(dào)各種浏覽器暴露出來(lái)的 DOM API,進行 DOM 選中和(hé)操作(zuò)。而如上(shàng)文(wén)所述,小(xiǎo)程序的邏輯層和(hé)渲染層是分開(kāi)的,邏輯層運行在 JSCore 中,并沒有一個完整浏覽器對(duì)象,因而缺少相關的DOM API和(hé)BOM API。這(zhè)一區(qū)别導緻了(le)前端開(kāi)發非常熟悉的一些(xiē)庫,例如 jQuery、 Zepto 等,在小(xiǎo)程序中是無法運行的。同時(shí) JSCore 的環境同 NodeJS 環境也(yě)是不盡相同,所以一些(xiē) NPM 的包在小(xiǎo)程序中也(yě)是無法運行的。

​網頁開(kāi)發者需要面對(duì)的環境是各式各樣的浏覽器,PC 端需要面對(duì) IE、Chrome、QQ浏覽器等,在移動端需要面對(duì)Safari、Chrome以及 iOS、Android 系統中的各式 WebView 。而小(xiǎo)程序開(kāi)發過程中需要面對(duì)的是兩大(dà)操作(zuò)系統 iOS 和(hé) Android 的微信客戶端,以及用(yòng)于輔助開(kāi)發的小(xiǎo)程序開(kāi)發者工(gōng)具,小(xiǎo)程序中三大(dà)運行環境也(yě)是有所區(qū)别的,如表1-1所示。

表1-1 小(xiǎo)程序的運行環境

運行環境 邏輯層 渲染層
iOS JavaScriptCore WKWebView
安卓 V8 chromium定制内核
小(xiǎo)程序開(kāi)發者工(gōng)具 NWJS Chrome WebView

網頁開(kāi)發者在開(kāi)發網頁的時(shí)候,隻需要使用(yòng)到(dào)浏覽器,并且搭配上(shàng)一些(xiē)輔助工(gōng)具或者編輯器即可。小(xiǎo)程序的開(kāi)發則有所不同,需要經過申請(qǐng)小(xiǎo)程序帳号、安裝小(xiǎo)程序開(kāi)發者工(gōng)具、配置項目等等過程方可完成。體驗小(xiǎo)程序

開(kāi)發者可使用(yòng)微信客戶端(6.7.2 及以上(shàng)版本)掃碼下(xià)方小(xiǎo)程序碼,體驗小(xiǎo)程序。

深圳食尚科技有限公司|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:小(xiǎo)程序代碼構成
上(shàng)一篇:小(xiǎo)程序技術發展史