1. 程式人生 > >微信小程序開發和h5的區別

微信小程序開發和h5的區別

分享 his 事件綁定 share 之間 cookie json doc jquer

1. 開發小程序時,每個頁面一定要在app.json文件中註冊,頁面文件夾和其包含的四個文件的名字要保持一致。

2. 小程序發起的都是HTTPS網絡請求,在開發調試的過程中可以不校驗協議和TLS版本,但在實際上線後必須進行HTTPS協議通信。

3. 小程序可以進行組件化開發以及數據綁定,所有對於DOM的操作都是基於數據驅動的,並沒有直接進行DOM操作的做法,換言之,小程序內沒有document對象,原生js和jQuery裏的DOM操作思維要舍棄掉。

4. 小程序的網絡請求wx.request()是不自帶Cookies的,這和瀏覽器上的網絡請求不同,因此基於Cookies實現的會話管理不適用於小程序。

5. 小程序的腳本文件中,內置對象是page,而非傳統瀏覽器裏的window,因此所有基於window對象來寫的庫(例如jQuery)都不適用於小程序。

6. 小程序提供模板功能,模板擁有自己的作用域,它只能使用從data屬性傳入的數據。

7. 每一個頁面文件夾下的.json文件是用來寫配置項的,如果該頁面無需添加相關配置,.json文件也要寫上一對大括號(“{ }”),否則會報錯。

8. 在同一個tab裏的頁面可以跳轉,並且允許攜帶參數。不同tab的頁面之間無法跳轉,使用wx.navigateTo()接口會報錯。同時,tab之間的跳轉可以用wx.switchTab()實現,但是路徑後不能帶參數。

9. 腳本文件裏data的數據,在更新的時候要通過this.setData()方法來更新,而不能直接用“=”來做。

10. 在組件標簽裏,可以通過“data-屬性值”的方式綁定我們需要的數據,然後在事件內置event對象裏進行獲取。

11. 小程序裏也存在事件的冒泡,具體的冒泡事件可以參考官方文檔,如果希望事件向上冒泡,則使用bind來綁定事件,若希望阻止事件冒泡,就使用catch來進行事件綁定。

12. 小程序支持文件引用,有import和include兩種方式,import有作用域,也就是引入的目標文件裏import的模板不會被引入;而include等於是將目標文件除<template />以外的整個代碼進行引入。

13. wx.login()和wx.getUserInfo()是兩個獨立的接口,前者可以實現用戶登錄,這個過程是悄無聲息的,不需要用戶授權,登錄後可以拿到用戶的openid和session_key;而wx.getUserInfo()可以拿到用戶的具體信息,這個過程需要獲得用戶的授權,開發時也必須考慮用戶拒絕授權的場景。

14. 目前小程序可以分享給微信好友和微信群,但小程序默認是沒有這個功能的,只有在Page裏定義了onShareAppMessage事件處理函數,點擊小程序右上角才可以看到分享按鈕。

15. 微信小程序還在不斷的成長中,定期會有相關的API修改和增加、以及廢棄,開發者需要及時關註每一次重大的版本更新,同時對於一些新出的API要進行兼容處理,考慮兼容的場景,因為某些API只在高版本的微信app裏有效。

轉自:https://zhuanlan.zhihu.com/p/26497571

微信小程序開發和h5的區別