多平臺小程序開發(fā)框架(小程序開源框架)
本篇文章給大家談?wù)劧嗥脚_小程序開發(fā)框架,以及小程序開源框架對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
微信小程序開發(fā)需要的知識點(diǎn)
1. 微信小程序開發(fā)知識點(diǎn)
2. 微信小程序開發(fā)知識點(diǎn)
微信小程序開發(fā)知識點(diǎn) 1.開發(fā)小程序需要掌握哪些知識點(diǎn)
開發(fā)小程序需要掌握以下幾方面:
1、小程序的功能是否齊全
小程序是一種工具,如果這個(gè)工具少一些功能,那這個(gè)工具就是廢的,用不了。小程序一般分為餐飲小程序、電商小程序、企業(yè)展示小程序、游戲 小程序,每個(gè)種類的小程序都有一些特定的功能,比如餐飲小程序需要點(diǎn)餐、排好、預(yù)約、支付、外賣等功能,你開發(fā)的小程序里是否這些功能都 有。所以在你做小程序之前,你需要想清楚自己的小程序是用來做什么的?需要哪些功能?
2、小程序的用戶體驗(yàn)如何
包括頁面設(shè)計(jì)十分美觀、響應(yīng)速度十分快、功能既簡潔又安全,還有一些小程序,加載半天圖片出不來,這樣的用戶體 驗(yàn)肯定好不了。
3、性價(jià)比是否高
營銷圈最大的問題在于,產(chǎn)品和價(jià)格不標(biāo)準(zhǔn)化,同樣的小程序,有的公司報(bào)價(jià)¥1000,有的報(bào)價(jià)¥10000,企業(yè)根本弄不清楚1000元和10000元的小 程序差異在哪里。選擇貴的覺得不劃算,選擇便宜的又怕小程序不好用,猶豫不決。
2.微信小程序開發(fā)注意事項(xiàng)重點(diǎn)有哪些
1、做好產(chǎn)品定位
在小程序開發(fā)之前,一定要考慮清楚,做小程序的原因是什么?想要通過小程序?qū)崿F(xiàn)什么?然后結(jié)合行業(yè)特征、企業(yè)特色、產(chǎn)品賣點(diǎn)、目標(biāo)人群等,做好小程序的定位工作,事先對小程序面向的人群、年齡段、行為特征等等做一個(gè)詳細(xì)的分析,以便更好的確定小程序的風(fēng)格、功能等,提升用戶的使用體驗(yàn)。
2、確定好需求
在定位工作做完之后,接下來的工作就是確定一下需求。例如,功能、頁面、內(nèi)容、圖片等。在確定好這些需求之后,應(yīng)當(dāng)把需求都整理成一份文檔,方便后期與開發(fā)人員溝通、交流。
3、提交需求
在確定好開發(fā)方式之后,接下來的工作,就是將前面已經(jīng)整理好的需求文檔交給相關(guān)人員。在提交完需求時(shí),應(yīng)當(dāng)與相關(guān)人員確認(rèn)所有細(xì)節(jié),以免影響開發(fā)進(jìn)度。
4、開發(fā)過程中注重用戶體驗(yàn)
3.微信小程序開發(fā)注意事項(xiàng)重點(diǎn)有哪些
1、做好產(chǎn)品定位在小程序開發(fā)之前,一定要考慮清楚,做小程序的原因是什么?想要通過小程序?qū)崿F(xiàn)什么?然后結(jié)合行業(yè)特征、企業(yè)特色、產(chǎn)品賣點(diǎn)、目標(biāo)人群等,做好小程序的定位工作,事先對小程序面向的人群、年齡段、行為特征等等做一個(gè)詳細(xì)的分析,以便更好的確定小程序的風(fēng)格、功能等,提升用戶的使用體驗(yàn)。
2、確定好需求在定位工作做完之后,接下來的工作就是確定一下需求。例如,功能、頁面、內(nèi)容、圖片等。
在確定好這些需求之后,應(yīng)當(dāng)把需求都整理成一份文檔,方便后期與開發(fā)人員溝通、交流。3、提交需求在確定好開發(fā)方式之后,接下來的工作,就是將前面已經(jīng)整理好的需求文檔交給相關(guān)人員。
在提交完需求時(shí),應(yīng)當(dāng)與相關(guān)人員確認(rèn)所有細(xì)節(jié),以免影響開發(fā)進(jìn)度。4、開發(fā)過程中注重用戶體驗(yàn)。
4.零基礎(chǔ)學(xué)習(xí)微信小程序開發(fā),之前需要學(xué)習(xí)哪些知識,謝謝
非計(jì)算機(jī)基礎(chǔ)不建議學(xué)習(xí),因?yàn)榈饶銓W(xué)會(huì)了,兩年時(shí)間也過去了。
1、微信官方為小程序提供了大量的接口api,開發(fā)小程序需要有基本的Javascript,HTML,CSS的基礎(chǔ)。
2、小程序開發(fā),常見使用“MINA”框架
Apache Mina Server 是一個(gè)網(wǎng)絡(luò)通信應(yīng)用框架,也就是說,它主要是對基于TCP/IP、UDP/IP協(xié)議棧的通信框架(當(dāng)然,也可以提供JAVA 對象的序列化服務(wù)、虛擬機(jī)管道通信服務(wù)等),Mina 可以幫助我們快速開發(fā)高性能、高擴(kuò)展性的網(wǎng)絡(luò)通信應(yīng)用,Mina 提供了事件驅(qū)動(dòng)、異步(Mina 的異步IO 默認(rèn)使用的是JAVA NIO 作為底層支持)操作的編程模型。
這個(gè)框架為微信小程序的運(yùn)行提供了豐富的組件和API。要學(xué)會(huì)和掌握小程序的框架結(jié)構(gòu)、數(shù)據(jù)綁定機(jī)制、模板、數(shù)據(jù)緩存、常用組件和API等相關(guān)知識。
微信小程序開發(fā)知識點(diǎn) 1.開發(fā)小程序需要掌握哪些知識點(diǎn)
開發(fā)小程序需要掌握以下幾方面:
1、小程序的功能是否齊全
小程序是一種工具,如果這個(gè)工具少一些功能,那這個(gè)工具就是廢的,用不了。小程序一般分為餐飲小程序、電商小程序、企業(yè)展示小程序、游戲 小程序,每個(gè)種類的小程序都有一些特定的功能,比如餐飲小程序需要點(diǎn)餐、排好、預(yù)約、支付、外賣等功能,你開發(fā)的小程序里是否這些功能都 有。所以在你做小程序之前,你需要想清楚自己的小程序是用來做什么的?需要哪些功能?
2、小程序的用戶體驗(yàn)如何
包括頁面設(shè)計(jì)十分美觀、響應(yīng)速度十分快、功能既簡潔又安全,還有一些小程序,加載半天圖片出不來,這樣的用戶體 驗(yàn)肯定好不了。
3、性價(jià)比是否高
營銷圈最大的問題在于,產(chǎn)品和價(jià)格不標(biāo)準(zhǔn)化,同樣的小程序,有的公司報(bào)價(jià)¥1000,有的報(bào)價(jià)¥10000,企業(yè)根本弄不清楚1000元和10000元的小 程序差異在哪里。選擇貴的覺得不劃算,選擇便宜的又怕小程序不好用,猶豫不決。
2.微信小程序開發(fā)注意事項(xiàng)重點(diǎn)有哪些
1、做好產(chǎn)品定位在小程序開發(fā)之前,一定要考慮清楚,做小程序的原因是什么?想要通過小程序?qū)崿F(xiàn)什么?然后結(jié)合行業(yè)特征、企業(yè)特色、產(chǎn)品賣點(diǎn)、目標(biāo)人群等,做好小程序的定位工作,事先對小程序面向的人群、年齡段、行為特征等等做一個(gè)詳細(xì)的分析,以便更好的確定小程序的風(fēng)格、功能等,提升用戶的使用體驗(yàn)。
2、確定好需求在定位工作做完之后,接下來的工作就是確定一下需求。例如,功能、頁面、內(nèi)容、圖片等。
在確定好這些需求之后,應(yīng)當(dāng)把需求都整理成一份文檔,方便后期與開發(fā)人員溝通、交流。3、提交需求在確定好開發(fā)方式之后,接下來的工作,就是將前面已經(jīng)整理好的需求文檔交給相關(guān)人員。
在提交完需求時(shí),應(yīng)當(dāng)與相關(guān)人員確認(rèn)所有細(xì)節(jié),以免影響開發(fā)進(jìn)度。4、開發(fā)過程中注重用戶體驗(yàn)。
3.微信小程序開發(fā)注意事項(xiàng)重點(diǎn)有哪些
1、做好產(chǎn)品定位
在小程序開發(fā)之前,一定要考慮清楚,做小程序的原因是什么?想要通過小程序?qū)崿F(xiàn)什么?然后結(jié)合行業(yè)特征、企業(yè)特色、產(chǎn)品賣點(diǎn)、目標(biāo)人群等,做好小程序的定位工作,事先對小程序面向的人群、年齡段、行為特征等等做一個(gè)詳細(xì)的分析,以便更好的確定小程序的風(fēng)格、功能等,提升用戶的使用體驗(yàn)。
2、確定好需求
在定位工作做完之后,接下來的工作就是確定一下需求。例如,功能、頁面、內(nèi)容、圖片等。在確定好這些需求之后,應(yīng)當(dāng)把需求都整理成一份文檔,方便后期與開發(fā)人員溝通、交流。
3、提交需求
在確定好開發(fā)方式之后,接下來的工作,就是將前面已經(jīng)整理好的需求文檔交給相關(guān)人員。在提交完需求時(shí),應(yīng)當(dāng)與相關(guān)人員確認(rèn)所有細(xì)節(jié),以免影響開發(fā)進(jìn)度。
4、開發(fā)過程中注重用戶體驗(yàn)
4.開發(fā)微信小程序具體內(nèi)容有哪些
內(nèi)容有很多;
小程序的體驗(yàn)和使用效果毋庸置疑的,我說說開發(fā)小程序步驟:
注冊小程序
需要一個(gè)營業(yè)執(zhí)照,個(gè)體戶執(zhí)照也可以。
如果有公眾號,可以直接復(fù)用公眾號資料,申請小程序。這個(gè)方便快捷。
如果沒有公眾號點(diǎn)著里:微信公眾平臺.
等待小程序注冊審核,一天就可以通過。
完善小程序基本資料,例如logo 名稱 行業(yè)等。
開發(fā)小程序
早期開發(fā)小程序比較麻煩,需要上傳代碼,各種各樣的配置,太麻煩了?,F(xiàn)在用授權(quán)第三方服務(wù)商方式,容易很多。第三方小程序服務(wù)商:做小程序全面,也同時(shí)提供微商城,和微商城數(shù)據(jù)都是打通的,訂單 會(huì)員 等通用的,制作價(jià)格3000~8000不等,比較劃算。
運(yùn)行小程序
可以把小程序放到附近小程序里面,或是發(fā)送小程序碼,以及分享小程序給好友和群。小程序只是一種載體,具體怎么運(yùn)營還需要很多心思的,請看運(yùn)營秘籍,會(huì)啟發(fā)你很多思路。
5.微信小程序的開發(fā)類型有哪些
一、微信業(yè)務(wù):
1. 錢包:手機(jī)充值、理財(cái)、生活繳費(fèi)、城市服務(wù)等幾十個(gè)應(yīng)用場景應(yīng)該都會(huì)用這種體驗(yàn)更好的方式實(shí)現(xiàn)。
2. 騰訊系:滴滴出行、火車票機(jī)票、酒店、京東、美麗說、大眾點(diǎn)評、58到家等服務(wù)也會(huì)用微信小程序?qū)崿F(xiàn),優(yōu)勢太大不多說。
3. 游戲:據(jù)了解微信的游戲中心也可以使用微信小程序?qū)崿F(xiàn)。
二、第三方業(yè)務(wù)(也就是那200個(gè)內(nèi)測號):
雖然說微信小程序開發(fā)不適合媒體類內(nèi)容,但是微信還是發(fā)給了愛范兒一個(gè)內(nèi)測號,說明微信也不確定到底適合什么樣的場景。
三、還有一種方式就是CopytoWeixin,也就是C2W。
內(nèi)容拓展:
微信小程序,簡稱小程序,縮寫xcx,英文mini program。是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。
小程序的推出并非意味著微信要來充當(dāng)應(yīng)用分發(fā)市場的角色,而是“給一些優(yōu)質(zhì)服務(wù)提供一個(gè)開放的平臺。”一方面,小程序可以借助微信聯(lián)合登錄,和開發(fā)者已有的 App 后臺的用戶數(shù)據(jù)進(jìn)行打通,但不會(huì)支持小程序和 App 直接的跳轉(zhuǎn)。
隨著小程序正式上線,用戶可以通過二維碼、搜索等方式體驗(yàn)到開發(fā)者們開發(fā)的小程序了。用戶只要將微信更新至最新版本,體驗(yàn)過小程序后,便可在發(fā)現(xiàn)頁面看到小程序TAB,但微信并不會(huì)通過這個(gè)地方向用戶推薦小程序。
小程序提供了顯示在聊天頂部的功能,這意味著用戶在使用小程序的過程中可以快速返回至聊天界面,而在聊天界面也可快速進(jìn)入小程序,實(shí)現(xiàn)小程序與聊天之間的便捷切換。
安卓版用戶還可將小程序添加快捷方式至桌面。
小程序開發(fā)用什么框架
小程序的開發(fā)都是通過各自的開發(fā)工具進(jìn)行開發(fā),有它獨(dú)有的語法規(guī)則。沒有什么框架,不過可以使用ui框架來改變頁面樣式 例如:Mintui Wux WeApp iView WeApp
如何快速開發(fā)個(gè)微信小程序
無論是前端開發(fā),還是后端開發(fā),時(shí)間長了,你總會(huì)能總結(jié)出它的一些規(guī)律的,對于前端開發(fā)主要就兩條,頁面展現(xiàn),邏輯處理。如果是全流程開發(fā)的話,那就是,如何創(chuàng)建項(xiàng)目,頁面如何實(shí)現(xiàn),數(shù)據(jù)獲取和邏輯處理如何實(shí)現(xiàn),如何打包上線。移動(dòng)端或者前端,基本開發(fā)流程就這個(gè)四個(gè)步驟。所以在在前端方面去學(xué)習(xí)新一門開發(fā)技術(shù),只要你解決了這四個(gè)問題,那一切就OK了,下面我就講一下,我在學(xué)習(xí)微信小程序開發(fā),如何用這四步法快速上手開發(fā)的
學(xué)習(xí)一門新技術(shù)先看下它的開發(fā)文檔 小程序介紹
然后呢就是開始一些準(zhǔn)備的步驟,微信公眾平臺提供我們開發(fā)管理的功能 微信工作平臺
賬號注冊
小程序信息配置
請看 小程序開發(fā)步驟
小程序項(xiàng)目的創(chuàng)建
到此第一個(gè)問題我們就算完成了,接下來解決小程序界面如何搭建。
然后最重要的,微信提供自己的開發(fā)者工具,不需要用chrome什么調(diào)試, 微信開發(fā)者工具 提供wxapi的調(diào)用測試能力,這些在chrome里面是測試不了的
框架的視圖層由 WXML 與 WXSS 編寫,由組件來進(jìn)行展示。
將邏輯層的數(shù)據(jù)反應(yīng)成視圖,同時(shí)將視圖層的事件發(fā)送給邏輯層。
WXML(WeiXin Markup language) 用于描述頁面的結(jié)構(gòu)。
WXS(WeiXin Script) 是小程序的一套腳本語言,結(jié)合 WXML,可以構(gòu)建出頁面的結(jié)構(gòu)。
WXSS(WeiXin Style Sheet) 用于描述頁面的樣式。
小程序的頁面是由wxml 和wxss這兩個(gè)文件來實(shí)現(xiàn)的,wxml結(jié)構(gòu)如何寫請參考 微信小程序組件
wxss是負(fù)責(zé)樣式控制的,基本類似于css,支持flex布局,所以要想上手構(gòu)建微信小程序的界面,最好要熟悉html ,css.
還有最重要的就是生命周期了
//index.js
Page({
? data: {
? ? text: "This is page data."
? },
? onLoad: function(options) {
? ? // 頁面創(chuàng)建時(shí)執(zhí)行
? },
? onShow: function() {
? ? // 頁面出現(xiàn)在前臺時(shí)執(zhí)行
? },
? onReady: function() {
? ? // 頁面首次渲染完畢時(shí)執(zhí)行
? },
? onHide: function() {
? ? // 頁面從前臺變?yōu)楹笈_時(shí)執(zhí)行
? },
? onUnload: function() {
? ? // 頁面銷毀時(shí)執(zhí)行
? },
? onPullDownRefresh: function() {
? ? // 觸發(fā)下拉刷新時(shí)執(zhí)行
? },
? onReachBottom: function() {
? ? // 頁面觸底時(shí)執(zhí)行
? },
? onShareAppMessage: function () {
? ? // 頁面被用戶分享時(shí)執(zhí)行
? },
? onPageScroll: function() {
? ? // 頁面滾動(dòng)時(shí)執(zhí)行
? },
? onResize: function() {
? ? // 頁面尺寸變化時(shí)執(zhí)行
? },
? onTabItemTap(item) {
? ? // tab 點(diǎn)擊時(shí)執(zhí)行
? ? console.log(item.index)
? ? console.log(item.pagePath)
? ? console.log(item.text)
? },
? // 事件響應(yīng)函數(shù)
? viewTap: function() {
? ? this.setData({
? ? ? text: 'Set some data for updating view.'
? ? }, function() {
? ? ? // this is setData callback
? ? })
? },
? // 自由數(shù)據(jù)
? customData: {
? ? hi: 'MINA'
? }
})
微信提供的界面組件很多,沒必要一下子全學(xué)會(huì),會(huì)用一兩個(gè)就行,其他的遇到需要的時(shí)候現(xiàn)查先做,這樣又節(jié)約學(xué)習(xí)時(shí)間,又能夠加深理解。到此第二個(gè)問題我們解決了,下面看第三個(gè)問題,數(shù)據(jù)邏輯如何處理。
數(shù)據(jù)定義
數(shù)據(jù)展現(xiàn)
邏輯處理是通過js文件來操作的
一個(gè)服務(wù)僅僅只有界面展示是不夠的,還需要和用戶做交互:響應(yīng)用戶的點(diǎn)擊、獲取用戶的位置等等。在小程序里邊,我們就通過編寫?JS?腳本文件來處理用戶的操作。
view{{ msg }}/view
button bindtap="clickMe"點(diǎn)擊我/button
點(diǎn)擊?button?按鈕的時(shí)候,我們希望把界面上?msg?顯示成?"Hello World",于是我們在?button?上聲明一個(gè)屬性:?bindtap?,在 JS 文件里邊聲明了?clickMe?方法來響應(yīng)這次點(diǎn)擊操作:
Page({
? clickMe: function() {
? ? this.setData({ msg: "Hello World" })
? }
})
響應(yīng)用戶的操作就是這么簡單,更詳細(xì)的事件可以參考文檔? WXML - 事件 ?。
此外你還可以在 JS 中調(diào)用小程序提供的豐富的 API,利用這些 API 可以很方便的調(diào)起微信提供的能力,例如獲取用戶信息、本地存儲、微信支付等。在前邊的 QuickStart 例子中,在?pages/index/index.js?就調(diào)用了?wx.getUserInfo?獲取微信用戶的頭像和昵稱,最后通過?setData?把獲取到的信息顯示到界面上。更多 API 可以參考文檔? 小程序的API ?。
現(xiàn)在幾乎每個(gè)應(yīng)用都需要從后端獲取數(shù)據(jù),那么小程序如何獲取呢,當(dāng)然是通過網(wǎng)路操作了。我們封裝了小程序的網(wǎng)絡(luò)操作
const app = getApp()
const request = (url, options) = {
? return new Promise((resolve, reject) = {
? ? wx.request({
? ? ? url: `${app.globalData.host}${url}`,
? ? ? method: options.method,
? ? ? data: options.method === 'GET' ? options.data : JSON.stringify(options.data),
? ? ? header: {
? ? ? ? 'Content-Type': 'application/json; charset=UTF-8'
? ? ? ? // 'x-token': 'x-token'? // 看自己是否需要
? ? ? },
? ? ? success(request) {
? ? ? ? if (request.data.error_code === 0) {
? ? ? ? ? resolve(request.data)
? ? ? ? } else {
? ? ? ? ? reject(request.data)
? ? ? ? }
? ? ? },
? ? ? fail(error) {
? ? ? ? reject(error.data)
? ? ? }
? ? })
? })
}
const gets = (url, options = {}) = {
? return request(url, { method: 'GET', data: options })
}
const post = (url, options) = {
? return request(url, { method: 'POST', data: options })
}
const put = (url, options) = {
? return request(url, { method: 'PUT', data: options })
}
// 不能聲明DELETE(關(guān)鍵字)
const remove = (url, options) = {
? return request(url, { method: 'DELETE', data: options })
}
module.exports = {
? gets,
? post,
? put,
? remove
}
如何使用請看下圖
數(shù)據(jù)獲取
數(shù)據(jù)展現(xiàn)如下圖
數(shù)據(jù)展現(xiàn)
到此,第三個(gè)問題我們就解決的了下面看第四個(gè)問題。
小程序發(fā)布文檔說明
小程序發(fā)布步驟
到此四個(gè)問題都解決了。
總結(jié):本文內(nèi)容是很簡單的,借用了大部分官方文檔,其實(shí)本文目的不是教你學(xué)小程序開發(fā),而是分享一下在學(xué)習(xí)一項(xiàng)新事物我的方法和思路,互聯(lián)網(wǎng)技術(shù)變化是很快的,我覺得一個(gè)人的能力,不僅僅是你技術(shù)有多好,你要明白技術(shù)是用來干什么的,技術(shù)是用來解決現(xiàn)實(shí)生活中的問題的,一個(gè)好的程序員,不是技術(shù)能力,而是解決問題的能力,解決問題不可能只用一種技術(shù),這就要求你的學(xué)習(xí)能力要強(qiáng),針對不同的問題,使用不同的技術(shù),哪怕使用的技術(shù)你不熟悉,但它是解決問題最好的方法,那就要求你有快速學(xué)習(xí)并解決問題的能力。
學(xué)習(xí)一項(xiàng)新技術(shù),我們要先抓住主線,把流程搞通了,以后再在工作中慢慢的熟悉和豐富對它細(xì)節(jié)的一些認(rèn)知,所以學(xué)一項(xiàng)東西前多問自己幾個(gè)問題,我學(xué)什么,我為什么學(xué),我怎么學(xué),等。先思考后學(xué)習(xí),一定會(huì)讓你事半功倍。
對于怎么學(xué)習(xí)微信小程序開發(fā),我問了自己上面的四個(gè)問題,每個(gè)問題,我只需要了解大體內(nèi)容,四個(gè)問題都解決了,然后整個(gè)流程也就通了,以后也就是慢慢的對每個(gè)問題內(nèi)容的細(xì)節(jié)慢慢的熟悉和了解了,其實(shí)花了不到一下午的時(shí)間,我就搞出了一個(gè)簡單的demo出來了,了解的內(nèi)容基本已經(jīng)覆蓋微信小程序日常開發(fā)80%的內(nèi)容了。以上就是我的一點(diǎn)學(xué)習(xí)心得。
最后 小程序Demo
Demo截圖
首頁
我的
點(diǎn)擊我的任意條目,數(shù)據(jù)是從第三方聚合平臺提供的api獲取的
最后目前有很多的多端開發(fā)框架,背景大多是都是因?yàn)樾〕绦蜷_發(fā)的盛行
其他還有很多例如
阿里的rax
我們自己的ditto
php小程序前端轉(zhuǎn)化為h5
對于h5中生成海報(bào)大家都不陌生 最常見的方法是前端生成 用html2canvas 但是弊端就是畫質(zhì)太差 網(wǎng)上很多方法 但是依然不是很管用 最近做的h5中 用了php來生成 畫質(zhì)簡直美得不行 1)采用熟練的JSP框架,每人一天可以改造2個(gè)頁面左右,計(jì)劃投入2人,風(fēng)險(xiǎn)最小雖然開發(fā)方法類似網(wǎng)頁,但實(shí)際上是一種只能運(yùn)行在微信自己開發(fā)的瀏覽器中的特殊網(wǎng)頁,它所能夠使用的所有功能都必須由微信瀏覽器提供;
H5頁面:這是真正的網(wǎng)頁應(yīng)用,運(yùn)行在通用瀏覽器中,各種瀏覽器雖然在細(xì)微上有所差別,但總的來說是一致的,微信瀏覽器同時(shí)也是一種通用瀏覽器,能夠支持真正的網(wǎng)頁應(yīng)用。
因此我們才有可能在微信小程序和H5頁面之間進(jìn)行跳轉(zhuǎn),但這種跳轉(zhuǎn)是受到微信瀏覽器的嚴(yán)格控制的,因此我們有必要了解這些控制包括哪些。
H5頁面所在的域名:假設(shè)你需要調(diào)轉(zhuǎn)的H5頁面URL為,那么這里所說的域名就是,另外你沒有看錯(cuò),這個(gè)URL必須是https,如果你還沒有為你的網(wǎng)站加上SSL,那么就先去申請一個(gè)證書吧(注意必須是公開申請的證書,不能是自簽名的,微信不認(rèn)哦?。?/p>
好了,這些都準(zhǔn)備好了,讓我們開始開發(fā)一個(gè)小例子。
由于web-view組件是一個(gè)全屏組件,不能和其它小程序組件合用,因此需要獨(dú)立占據(jù)一個(gè)頁面,所以我們到例子就是在小程序的A頁面加一個(gè)鏈接,跳轉(zhuǎn)到B頁面,然后在B頁面使用web-view組件來加載H5頁面。
2)采用主流分布式Vue框架,時(shí)間未知,風(fēng)險(xiǎn)未知;
首先自我介紹下,本人是一名JAVA開發(fā)工程師,平時(shí)喜歡研究相關(guān)主流技術(shù)和挑戰(zhàn)自己。對此我還是比較傾向于第二種解決方案,但是第二種解決方案無疑是最復(fù)雜,最耗時(shí),最未知,風(fēng)險(xiǎn)最大。公司內(nèi)沒有人愿意承接。于是我抱著學(xué)習(xí)和研究的態(tài)度以及對主流技術(shù)的向往,我找到我們領(lǐng)導(dǎo)我是這樣說的:我還是比較建議公司采用第二種方案。1)這無疑是給我們進(jìn)行敲門磚及學(xué)習(xí)的機(jī)會(huì);2)這是公司提升前端技術(shù)能力與主流技術(shù)看齊的機(jī)會(huì)。最后公司同意了我建議,采用方案二,有我來承接此事,進(jìn)行牽頭負(fù)責(zé)。
中間心酸過程忽略,剛接下來第一天就后悔了,VUE用都沒用過,還怎么玩。于是我花了大量的時(shí)間,看了大量文獻(xiàn),我這里使用到是Vue 2 + Vant 2 + axios + router。原來并不是什么網(wǎng)址拿來就可以設(shè)置跳轉(zhuǎn)的,你的小程序中就不能直接跳轉(zhuǎn)到百度上去,小程序能夠跳轉(zhuǎn)的域名必須在業(yè)務(wù)域名中進(jìn)行注冊,總算這次是在小程序開發(fā)號里面設(shè)置了,但注意在服務(wù)號的設(shè)置里也有業(yè)務(wù)域名這個(gè)設(shè)置,不要搞混了(話說微信起名也太沒有想象力了,簡直是一坨漿糊)。這時(shí)候控制權(quán)已經(jīng)從小程序轉(zhuǎn)移到了H5頁面,但微信頁面跳轉(zhuǎn)內(nèi)部的機(jī)制比較復(fù)雜,涉及到了OAuth認(rèn)證之類的,所以這個(gè)錯(cuò)誤已經(jīng)是H5頁面報(bào)的了,這就需要到H5頁面關(guān)聯(lián)的服務(wù)號中去進(jìn)行設(shè)置,這次設(shè)置的項(xiàng)目叫做網(wǎng)頁授權(quán)域名,在公眾號設(shè)置的功能設(shè)置里由于小程序官方?jīng)]有提供外部H5網(wǎng)頁直接跳轉(zhuǎn)到小程序的api,所以目前只支持小程序內(nèi)嵌H5,并且只有內(nèi)嵌的H5才能跳回小程序在微信開發(fā)中工具里返回“{"base_resp":{"ret":-1}}”時(shí),需要點(diǎn)左上角“設(shè)置”--“項(xiàng)目設(shè)置”--勾選“不校驗(yàn)合法域名、web-view(業(yè)務(wù)域名)、TLS 版本以及 HTTPS 證書” 源碼中驗(yàn)證使用的是session 來校驗(yàn)驗(yàn)證碼是否正確。我這邊前端是小程序無法存session改用框架自帶的緩存。
這里講一點(diǎn)轉(zhuǎn)Taro的調(diào)試經(jīng)驗(yàn),有報(bào)錯(cuò)的文件先拎出來放在一邊,因?yàn)閑s5,6語法差異,很多js文件轉(zhuǎn)es6是不支持的,所以會(huì)報(bào)錯(cuò),建議是先把所有報(bào)錯(cuò)的文件注釋,或者改成es6寫法再轉(zhuǎn)。我這邊是去掉了很多的文件才轉(zhuǎn)成功了的。這里需要自己一步一步調(diào)試解決報(bào)錯(cuò),轉(zhuǎn)成功之后根目錄多出來一個(gè)taroConvert的文件夾這說明已經(jīng)轉(zhuǎn)Taro成功了,接下來就是運(yùn)行以及二次開發(fā)。
進(jìn)入taroConvert文件夾(二次開發(fā)就在這個(gè)文件里面,小程序代碼不用管了),執(zhí)行命令 npm install 或者cnpm install 先拉取所有依賴。
可以看一下package.json文件的運(yùn)行命令以及安裝的依賴,我這里是要運(yùn)行H5的,輸入命令 npm run dev:h5打開H5開發(fā)模式,這個(gè)步驟有可能會(huì)有個(gè)nerv.js不存在的報(bào)錯(cuò),可以安裝一下,然后在你文件src下面的的app.js import一下。
執(zhí)行命令 import Nerv from 'nervjs',這個(gè)報(bào)錯(cuò)就會(huì)解決。其它的頁面代碼報(bào)錯(cuò)可以自己調(diào)試。開啟成功的話瀏覽器中會(huì)打開127.0.0.1:8082的窗口運(yùn)行項(xiàng)目。
多平臺小程序開發(fā)框架的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于小程序開源框架、多平臺小程序開發(fā)框架的信息別忘了在本站進(jìn)行查找喔。