乾貨:小程序開發過程當中遇到的問題,這裏有答案

1. 關於小程序註冊及提交html

小程序的開發,須要申請帳號,完善信息,提交代碼,審覈發佈等流程。它們是能夠和小程序代碼的編寫同步進行,因此小程序更加偏向是一個開發者工具,而不是像訂閱號或者服務號那樣的運營工具。前端

先說帳號申請,閱讀過官方文檔的應該清楚,小程序目前,只支持兩種類型的帳號。第一種是企業,這個只須要註冊帳號,而後綁定對公帳號便可。還有一種是一些相似政府企業,沒法使用對公帳戶打款。也就是說第一種企業只要註冊就可使用,而第二種註冊完須要認證才行,而且目前不支持我的帳號。git

第二步就是完善信息,這裏很簡單,惟一須要特別注意的是,基本信息中,選擇小程序的服務範圍的時候,必定要特別謹慎,不能隨意修改。由於這樣容易形成數據混亂,好比你選的分類是打車,而用戶搜完以後,發現你實際上是作的美食,這就尷尬了。web

作好以後就能夠去代碼開發而且上傳,上傳代碼只能是管理員帳號才行。這裏須要注意的第一點,是小程序不支持代碼的合併和修改,因此,當你準備上傳代碼的時候,必定要肯定,這是個完整的包,若是須要合併和修改,須要在其餘相似git這樣的平臺進行。第二點是當你提交審覈的時候,儘可能不要在小程序頁面裏面出現例如test之類的文字,以及測試數據,儘量作到完善,不然有可能會影響你的信用分。json

2. 關於小程序技術開發小程序

2.1 關於小程序的數據結構和視圖渲染微信小程序

小程序和其餘前端很是不同的一個地方,就是渲染方式、執行方式以及執行時間,都是由小程序本身自定的,而且能夠在後臺進行編譯。瀏覽器

如下圖爲例,appservice管理的是數據,視圖層管理的是渲染,數據和視圖層是徹底分離的。這種視圖結構中,你的腳本是沒辦法直接操控視圖的,因此使用習慣了jQuery的人,這裏就比較遺憾了,是徹底不能用。第一是由於它是跑在兩個獨立線程中,另外一個是由於開發者寫的腳本文件,都是跑在jscode當中的,因此有不少dom是沒有的。安全

2.2 關於小程序的開發者組件服務器

爲了方便開發者,微信官方推出了一系列的小程序組件,這些組件會有一些本身的功能,好比說一些button和cheakbox等等,會有本身微信的樣子,因此說,即便是一些ui資源很弱的團隊,也能夠開發出來很不錯的小程序。

因爲html對於組件的支持比較差,因此這些組件基本上都是微信本身自定義的。在技術上,微信吸收了web-component的精髓,研發了wx-component,研發的時候,假如你熟悉前者,你就會發現,他們的接口是很類似的。

其實瞭解技術的人都清楚,這麼作一套自定義組件,是很是耗時耗力的,微信之因此會作,一個是由於方便web和native之間的切換,另外一個是能夠和本身的自定義框架很好的結合起來。

2.3 關於小程序的unionID

若是開發者擁有多個移動應用,網絡應用,和公衆帳號(包括小程序),可經過unionid來區分用戶的惟一性。由於只要是同一個微信開放平臺帳號下的移動應用,網站應用和公衆帳號(包括小程序),用戶的unionid是惟一的。換句話說,同一用戶,對同一個微信開放平臺下的不一樣應用,unionid是相同的。

因此就能夠用這個unionid把公衆號的一些用戶,以及以前你開發過的微信生態下的應用,和小程序裏面的用戶創建起聯繫,你會發現,他們都是同一批人。

2.4.關於小程序的cooike不生效問題

不少開發者會問,爲何某些set-cookie之類的不會生效,這裏實際上是由於,小程序開發並非在一個瀏覽器的環境中把請求發了出去,因此服務器發回來的返回頭,小程序是沒法理解的。小程序的請求是jscode經過native發出去的,因此他們並不理解,可是之後可能會優化理解。

處於安全須要,須要服務器支持Https。而後TLS(Transport Layer Security)版本須要支持到1.2,即最新版本,它能夠在不支持TLS的環境中模擬。可是若是真機運轉的話,仍是須要把服務器版本升級到最新。

在app.json中聲明的頁面,須要有相應的Page()函數進行註冊。開發者常常遇到,在app.json寫了a頁面,可是沒有建立a.js文件,那就會出錯,而且若是你建立了a.js,沒有在裏面生成page()的函數,那也會出錯。

「H5程序俱樂部」是一個專一微信小程序學習交流,相關外包/招聘需求信息發佈的微信公衆號。
圖片描述

「H5程序俱樂部」微信號:wxappclub 或者 微信掃一掃關注
圖片描述

相關文章
相關標籤/搜索