android工程師學習微信小程序筆記① 小程序與普通網頁開發的區別

前言

作爲一個傳統出身的Android開發搬磚工程師,由於工作需要以及歷史推進,最近一年的工作都在寫小程序。作爲習慣於總結經驗的我來說,在研究官方文檔之餘還是覺得應該寫寫筆記,作爲學習記錄。所以接下來一段時間都會寫寫一些關鍵記錄。

小程序與普通網頁開發的區別

​小程序的主要開發語言是 JavaScript ,小程序的開發同普通的網頁開發相比有很大的相似性。對於前端開發者而言,從網頁開發遷移到小程序的開發成本並不高,但是二者還是有些許區別的。

  • 網頁開發渲染線程和腳本線程是互斥(沒開發過網頁,查了一下資料是說 GUI渲染線程 和 JS引擎線程,GUI渲染線程和JS引擎線程是互斥的,當js引擎執行時GUI線程會被掛起;如果JS執行時間如果過長,這樣就會造成頁面渲染不連貫,導致頁面渲染加載阻塞),GUI更新會被保存在一個隊列中等到js引擎空閒時立即執行)的,這也是爲什麼長時間的腳本運行可能會導致頁面失去響應。
    而在小程序中,二者是分開的,分別運行在不同的線程中。

  • 網頁開發者可以使用到各種瀏覽器暴露出來的 DOM API,進行 DOM 選中和操作。
    小程序的邏輯層和渲染層是分開的,邏輯層運行在 JSCore 中,並沒有一個完整瀏覽器對象,因而缺少相關的DOM API和BOM API。這一區別導致了前端開發非常熟悉的一些庫,例如 jQuery、 Zepto 等,在小程序中是無法運行的。同時 JSCore 的環境同 NodeJS 環境也是不盡相同,所以一些 NPM 的包在小程序中也是無法運行的。

  • 網頁開發者需要面對的環境是各式各樣的瀏覽器,PC 端需要面對 IE、Chrome、QQ瀏覽器等,在移動端需要面對Safari、Chrome以及 iOS、Android 系統中的各式 WebView 。而小程序開發過程中需要面對的是兩大操作系統 iOS 和 Android 的微信客戶端,以及用於輔助開發的小程序開發者工具,小程序中三大運行環境也是有所區別的
    在這裏插入圖片描述

  • 網頁開發者在開發網頁的時候,只需要使用到瀏覽器,並且搭配上一些輔助工具或者編輯器即可。小程序的開發則有所不同,需要經過申請小程序帳號安裝小程序開發者工具配置項目等等過程方可完成。

必看文檔

小程序開發文檔
在這裏插入圖片描述
小程序開發指南
在這裏插入圖片描述
目前主要是看這兩個文檔進行學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章