丁香五月亚洲,日女人在线,太阳城色网,韩日AV在线秒放

一文搞定小程序開發(fā)4個模式,9個框架(小程序開發(fā)有哪些框架)

在工作中,分別使用微信小程序官方原生語法和跨端框架完成了幾個小程序的開發(fā),從上線效果看基本都滿足了預期目標。不同開發(fā)方式和不同框架各自有其優(yōu)缺點,在實際項目開發(fā)過程中,應該根據實際的項目需求以及團隊人員情況做綜合選擇。

本篇文章全面分析小程序相關框架和技術選型相關技術細節(jié)。

一、小程序概述

要對小程序有一個整體的了解,就需要了解移動互聯(lián)網在國內的發(fā)展歷程。從2007年移動互聯(lián)網開始在國內發(fā)展,到2015年進入移動互聯(lián)網產品廣泛應用階段,各種移動端開發(fā)技術層出不窮。

移動端開發(fā)經歷了:原生APP(Native APP)、Web APP、混合APP(Hibernate APP)這幾種開發(fā)方式,發(fā)展到目前這個階段,混合APP開發(fā)占據主流。從某種角度看,微信小程序也屬于混合APP開發(fā)模式。

早期移動端的戰(zhàn)場上,web與app還在借助自己各自優(yōu)勢占據市場。騰訊于2017年1月9日推出一個很巧妙的方案,那就是介于web與app之間的小程序。

微信小程序是小程序的一種,英文名是Wechat Mini Program,是一種不需要下載安裝即可使用的應用;小程序可以在微信內被便捷地獲取和傳播,同時具有出色的使用體驗。

通常大家所說的小程序指微信小程序,實際上除了微信小程序外,還有支付寶百度、頭條、飛書、QQ、快手、釘釘、淘寶等個各種平臺的小程序。

二、小程序開發(fā)方式

在微信小程序開發(fā)中,開發(fā)者可以根據自身情況和項目需要,選擇不同的開發(fā)方式,包括:原生開發(fā)、WebView開發(fā)、框架開發(fā)和低代碼開發(fā)等。

1、原生開發(fā)

每一種小程序官方都推出了對應的語法和開發(fā)工具。采用此種方式開發(fā),同一個產品需要開發(fā)不同版本,比如你要實現(xiàn)一個外賣小程序,既要涵蓋微信小程序又要涵蓋支付寶小程序,那么需要根據各自平臺的語法和工具來開發(fā)2個不同的版本。

以微信小程序為例,原生開發(fā)采用的是WXML、WXSS和JavaScript等技術。要進行微信小程序開發(fā),首先,需要先去官網了解其語法、項目結構、發(fā)布流程等基本內容。

其次,需要下載微信開發(fā)者工具,在其中創(chuàng)建項目,選擇原生開發(fā)模式。微信開發(fā)者工具提供了豐富的代碼編輯器、調試工具和運行環(huán)境等,可以幫助開發(fā)者進行快速開發(fā)和調試。

原生開發(fā)方式優(yōu)點:

  • 性能最優(yōu)

啟動,調試,打包,加載資源等,一切基本的編譯,毫無疑問最快。因為相比其它方式,少了很多輔助性的編譯時間。

  • 擁有微信功能第一資源

如可視化,熱更新,性能檢測等,這些都是其他方式無法享受的小程序福利

  • 調試清晰

無論是樣式的定位,或者是具體js的代碼定位,原生的更能快速定位到問題。

原生開發(fā)方式缺點:

  • 擴展能力弱
  • 不支持scss,自定義eslint等
  • 寫法不友好
  • 單向綁定,沒有雙向綁定。而方式較獨立,與常用的框架不一致。
  • 方法不支持直接傳遞參數。只能通過data-id的方式傳遞參數。寫法跟常用前端框架不一致且相對較繁瑣。
  • 文件較多

這里對比其他框架,無論vue還是react都可以用一個文件,解決html js css。而小程序需要4個文件來支持,有時候項目大了顯得特別的繁瑣。

2、WebView開發(fā)

此種模式采用原生語法搭建小程序項目框架,然后再頁面中放置WebView用于渲染H5頁面,其它頁面邏輯通過H5頁面實現(xiàn)。

優(yōu)勢:

  • 脫離微信體系
  • 這是一個很大的缺陷,同時也是一個很大的優(yōu)勢。脫離了微信的體系,那也意味著只是一個webview的展示。這時候也已經脫離了微信本身,不再受一些展示性的限制之類。
  • 動態(tài)發(fā)布

這點其實很香,直接越過了微信的審核。想什么時候上線,直接更新web服務器即可。

  • 開發(fā)調試脫離

此時也已經是H5頁面,開發(fā)也可以直接在常規(guī)瀏覽器調試,無需依賴微信調試工具。

缺點:

  • 無法調用微信api
  • 已經脫離微信的體系,那也意味著小程序的一切功能,都無法使用。如分享,支付,統(tǒng)計等。
  • 首次加載較慢
  • 小程序是借助了微信本身內部的封裝,而H5是完完全全自己的實現(xiàn)。所以,毫無疑問,同樣的功能,H5文件是更大的。這也是為什么說首 次加載較慢。
  • 無法有原生功能

所有原生功能寄托在微信中間層上,將失效。如藍牙,拍照,獲取手機信息等

3、框架開發(fā)

除了原生開發(fā),微信小程序還提供了一些框架來簡化開發(fā)過程,這些框架都基于微信小程序原生開發(fā)技術,提供了更加便捷的開發(fā)方式。

這種開發(fā)模式,并不是小程序的出現(xiàn)才有的。隨著技術的發(fā)展,hybird已不再有當年的火爆,他們很多都轉戰(zhàn)"小程序"。

這類框架包括:WePY、Mpvue、Taro、Uni-app、chameleon、Megalo、kbone、Remax等等(當然其中有些框架已經停更了,后續(xù)進行分析)。

這類框架要么是通過大家熟悉的語法對原生語法進行包裝減低上手難度;要么是通過跨端技術,一次開發(fā)編譯到多平臺發(fā)布,提升開發(fā)效率。

優(yōu)勢:

  • 學習成本低

如react生態(tài)低成本進入taro,vue生態(tài)低成本進入uni。無需適應,小半小時即可參與開發(fā)

  • 多端編譯

一份最高支持:h5移動端,各類小程序,快應用等。有些還支持生成app

  • 自帶工程化

如支持scss,eslint,vuex等

  • 方法的擴展

框架基本都對自身對wx.api進行了一次封裝。此外還進行了擴展以及修改。如uni實現(xiàn)了data對頁面的綁定,不需要再setDate。同理taro也采用了setState的方案。

  • 拓展的組件庫

無論uni,還是taro,或者其他,基本都對官方的ui庫進行二次封裝,其功能都有自己的特色,或者對其組件進行了擴展。

缺點:

  • 依賴第三方

該問題可大可小。特別是非有聲望的公司維護的框架,沒準過一段時間就不維護了。如幾年前比uni更火爆的的mpvue已不維護。不維護的那天,也就意味著你的項目,重構!

  • 無法調試

由于本身已經是編譯后的文件,此時想再通過斷點調試,你甚至不清楚原來寫的代碼編譯后在哪里。

  • 轉義效率低

寫完原生小程序代碼,就需要編譯一下才能才虛擬機上看到效果。而用第三方,還需編譯為原生。寫完代碼之后:你的代碼(第三方) –> 轉義為原生(原生)–>再編譯讓虛擬機允許。這多了個過程,所以效率變低。

  • 雙平臺bug

原生小程序的bug,該問題近幾年也相對好轉,但問題還是依然存在。各大論壇搜索"小程序的坑",總有一堆文章讓你體驗。然而用第三方,你還要接受第三方的bug。你需要容納雙平臺的bug。

在接受小程序官方的“bug”的同時,還需要同時接受第三方的"bug"。

  • 編譯后工程化文件置空

此外,編譯后文件歷史等置空的問題。如快速頁面讀取配置,編譯之后又置空。

4、低代碼平臺

低代碼或零代碼平臺,無需編寫代碼,通過官網提供平臺拓展組件即可快速完成小程序搭建。此類平臺有:阿里宜搭、騰訊微搭、意派Coolsite360等。

此類平臺無需編碼或只需要少量編碼,減低小程序制作門檻,但大部分都需要收費。

三、小程序開發(fā)框架

隨著微信、支付寶等開放平臺的壯大,移動應用生態(tài)市場的蓬勃發(fā)展,例如小程序已經成為各個企業(yè)和開發(fā)者的重要選擇。為了提高小程序的開發(fā)效率和代碼重用性,許多第三方開發(fā)框架應運而生。

一文搞定小程序開發(fā)4個模式,9個框架(小程序開發(fā)有哪些框架)

1、uni-app

uni-app 是一個使用 Vue.js 開發(fā)跨平臺應用的框架,支持微信小程序、支付寶小程序、百度小程序、字節(jié)跳動小程序、H5 網頁應用等多個平臺。

它采用了一套統(tǒng)一的組件規(guī)范和開發(fā)語法,開發(fā)者可以通過一套代碼同時生成多個平臺的應用。

uni-app提供了豐富的組件庫和插件生態(tài)系統(tǒng),開發(fā)者可以快速搭建小程序界面并擴展功能。

uni-app 還具有良好的性能和跨平臺兼容性,可以在不同平臺上保持一致的用戶體驗。

2、Taro

京東的親兒子,類 React 開發(fā)風格,名字來自于實力最強的奧特曼。

Taro 是一款多端統(tǒng)一開發(fā)框架,可以同時開發(fā)微信小程序、支付寶小程序、百度小程序等多個平臺的應用。

它采用類 React 的開發(fā)語法,支持 JSX 和組件化開發(fā),使得代碼的編寫更加簡潔和可維護。

Taro 的一個主要優(yōu)勢是它能夠一次編寫代碼,同時生成多個平臺的應用,大大提高了開發(fā)效率。

3、Mpvue

美團的親兒子,框架直接基于 Vue 核心,修改了 runtime 和 compiler 使程序可以在微信小程序環(huán)境中運行。該項目已停止維護,但仍然可用。

Mpvue 是一個基于 Vue.js 的小程序開發(fā)框架,通過使用 Vue.js 的語法進行開發(fā)。

對于熟悉 Vue.js 的開發(fā)者來說,上手 Mpvue 非常容易。

它提供了類似 Vue 的開發(fā)體驗和功能,如組件化、數據綁定和計算屬性等。

此外,Mpvue 支持微信小程序和百度小程序,讓開發(fā)者能夠同時覆蓋多個平臺。

4、WePY

騰訊的親兒子,類 Vue 開發(fā)風格?;谛〕绦蛟M件實現(xiàn)組件化開發(fā),是對小程序原有能力的封裝和優(yōu)化。該項目已停止維護,但仍然可用。

WePY 是一款類 Vue 語法的小程序組件化開發(fā)框架,它與 Vue.js 的語法相似,提供了類似的組件化開發(fā)方式。

WePY 支持微信小程序和支付寶小程序,使得開發(fā)者能夠更好地復用代碼和組件。

與此同時,WePY 還提供了許多擴展能力和開發(fā)工具,如代碼熱重載、模板編譯優(yōu)化等,大大提高了開發(fā)效率。

然而,由于 WePY 不支持其他小程序平臺,對于需要覆蓋多個平臺的開發(fā)者來說,可能需要考慮其他選擇。

5、Megalo

網易親兒子,類似vue語法編寫小程序,跨H5和小程序兩端。該項目已停止維護,但仍然可用。

Megalo 是一個使用 Vue.js 開發(fā)微信小程序的框架,兼容大部分 Vue.js 的語法和特性。

開發(fā)者可以利用 Vue.js 的強大生態(tài)系統(tǒng)進行開發(fā),并享受 Vue.js 帶來的開發(fā)便利性。

Megalo 支持原生的微信小程序 API,開發(fā)者可以直接使用微信小程序的能力。

然而,Megalo 目前僅支持微信小程序,對于需要覆蓋其他小程序平臺的開發(fā)者來說,可能需要考慮其他選擇。

6、Remax

阿里螞蟻金服的親兒子,使用原生React來構建小程序,運行時框架,從Remax2.0開始支持Web應用的構建。該項目已停止維護,但仍然可用。

Remax 是一個使用 React 開發(fā)小程序的框架,支持微信小程序、支付寶小程序、字節(jié)跳動小程序、QQ 小程序等多個平臺。

開發(fā)者可以借助熟悉的 React 生態(tài)系統(tǒng)進行開發(fā),并享受 React 帶來的開發(fā)效率和組件化能力。

Remax 還支持原生小程序的能力,開發(fā)者可以直接使用小程序的 API。

然而,對于不熟悉 React 的開發(fā)者來說,上手 Remax 可能需要一定的學習成本。

7、Chameleon

滴滴親兒子,跨端解決方案,基于Chameleon框架開發(fā)項目,一份代碼可以運行于所有小程序平臺 ( 微信、支付寶、百度、頭條、qq )、H5、客戶端以及快應用。

青桔單車就是用它來實現(xiàn)的,該項目已停止維護,但仍然可用。

Chameleon/k??mi?l??n/,簡寫CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應不同環(huán)境的跨端整體解決方案。一次開發(fā),多端運行,一端所見即多端所見。缺點是在使用跨平臺開發(fā)的同時,需要考慮不同平臺的差異性和兼容性。

8、kbone

騰訊親兒子,kbone 是一個致力于微信小程序和 Web 端同構的解決方案。

微信小程序的底層模型和 Web 端不同,我們想直接把 Web 端的代碼挪到小程序環(huán)境內執(zhí)行是不可能的。kbone 的誕生就是為了解決這個問題,它實現(xiàn)了一個適配器,在適配層里模擬出了瀏覽器環(huán)境,讓 Web 端的代碼可以不做什么改動便可運行在小程序里。

它模擬了一套dom和bom接口,用以兼容現(xiàn)有的前端體系,只能用于Web兼容微信小程序,無法滿足其他平臺小程序的開發(fā)。

9、Nanachi

Nanachi( 娜娜奇),去哪兒親兒子,基于 React 的多端小程序轉譯框架,完美兼容 React 生命周期。該項目已停止維護。

在對框架進行選擇時,除了結合自身業(yè)務需求外,由于技術更新迭代很快,還要綜合考慮每個框架更新維護的頻率,社群的活躍程度。

小編挨個查看官網發(fā)現(xiàn),目前只有uniapp和Taro仍然在保持更新,所以商業(yè)項目建議選擇其一。從技術棧角度考慮,如果熟悉react就選擇taro,熟悉vue就選擇uni-app。

雖然很多項目已經停止運行了,它們都曾經輝煌過,也為國內it的發(fā)展做出共享。并且其代碼都在github上開源,可以作為研究之用。

四、小結

在選擇小程序第三方開發(fā)框架時,我們需要綜合考慮開發(fā)者技術棧、項目需求和目標平臺等因素。

綜上,如果采用原生開發(fā)直接按官方語法即可;如果采用跨端開發(fā),目前有2個選擇:Taro 是一個多端統(tǒng)一開發(fā)框架,適合需要覆蓋多個平臺的開發(fā)者;uni-app 是一個跨平臺框架,適用于同時開發(fā)多個小程序平臺的項目。

當然隨著技術向前發(fā)展,技術更新非常之快,有可能有新的后起之秀

無論選擇哪個框架,都能夠提高開發(fā)效率、減少重復工作,并獲得豐富的組件庫和工具支持。

版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年5月9日 上午11:24
下一篇 2024年5月9日 上午11:35

相關推薦

  • 項目管理系統(tǒng) project

    項目管理系統(tǒng) 項目管理系統(tǒng)是一種用于管理項目的工具,可以幫助企業(yè)、團隊和組織更好地規(guī)劃和執(zhí)行項目,提高項目質量和效率。本文將介紹項目管理系統(tǒng)的一些基本原理和功能,以及如何選擇合適的…

    科研百科 2024年7月14日
    20
  • 成功的項目管理是如何煉成的—項目管理到底該管啥(什么是成功的項目管理)

    曾經有人說過,我國長城和埃及金字塔因建設工程浩大,周期漫長,資源密集,還有具體要達成的明確的目標,可以稱得上是世界上最早的項目管理,只是那個時候更多的是依靠人的經驗和智慧,還沒有現(xiàn)…

    科研百科 2022年10月30日
    341
  • 高中生心理學科研項目高中生心理學科研項目

    高中生心理學科研項目 高中生心理學科研項目是一種針對高中生進行的心理學研究項目,旨在幫助高中生深入了解心理學的基本概念和方法,并培養(yǎng)他們的研究能力和創(chuàng)新思維。 在高中生心理學科研項…

    科研百科 2024年9月9日
    1
  • 邊境旅游的科研項目

    邊境旅游科研項目:探索神秘的邊境文化 隨著全球化的發(fā)展,邊境旅游成為了一種受歡迎的方式,人們可以通過邊境線前往遙遠的地方,探索神秘的文化,享受獨特的風景。在這個項目中,我們將探索邊…

    科研百科 2025年3月7日
    3
  • 國有企業(yè)海外黨建

    國有企業(yè)海外黨建 近年來,國有企業(yè)海外黨建已成為中國國有企業(yè)發(fā)展的重要領域之一。隨著全球化的不斷推進,國有企業(yè)在海外市場的影響力越來越大,海外黨建也越來越受到重視。海外黨建不僅是國…

    科研百科 2024年10月18日
    12
  • 科研項目財務記賬規(guī)范

    科研項目財務記賬規(guī)范 隨著科技的不斷進步,科研項目已經成為當今社會發(fā)展的重要支柱之一。在科研項目中,財務管理也越來越受到重視。為了規(guī)范科研項目的財務管理,制定一份科研項目財務記賬規(guī)…

    科研百科 2025年3月6日
    4
  • 科研項目購買的設備

    科研項目購買的設備 在科研項目中,購買適當的設備是至關重要的一步。這些設備能幫助我們完成研究任務,提高生產效率,減少成本。本文將介紹一些常見的科研項目購買設備的種類和特點。 1. …

    科研百科 2025年3月6日
    1
  • 科研項目參與人限項怎么辦科研項目參與人限項怎么辦

    科研項目參與人限項是一種普遍存在的現(xiàn)象,通常是指在科研項目中,每個參與者只能提出有限項的問題或想法。這種限制可能會對科研項目的完整性和深度產生負面影響,因此需要采取措施來應對這種情…

    科研百科 2024年9月4日
    2
  • 大學生無人機科研項目

    大學生無人機科研項目:探索未來天空的飛行器 隨著科技的不斷進步,大學生無人機科研項目已經成為當前科技領域中備受關注的話題。在這個項目中,學生們將使用自己的技能和創(chuàng)造力,探索未來天空…

    科研百科 2024年8月10日
    4
  • 科研項目摘要模板

    科研項目摘要模板 本文介紹了一種基于深度學習的計算機視覺模型,該模型可以對圖像進行自動分類和目標檢測。我們采用了卷積神經網絡(CNN)作為模型的核心,并針對圖像的特征進行了優(yōu)化。通…

    科研百科 2025年2月15日
    4
中文一区在线| 香蕉三级网| 欧美日本亚洲国产另类| 五月婷婷色综合天天| 亚洲成人极品| 又粗又黄又爽视频免费看| 91免费福利视频| AV区精品| yjizz视频国产网站在线播放| 精品婷婷伊人一区三区三| 无码中出亚洲东京热| 欧美区一区二区| 久久久AV波多野一区二区| 国精产品一区一区三区mba桃花| 中字无码簧片在线| 亚洲无码在线免费视频| AV性网| 免费乱码欧美综合欧美日| 久久国产乱子伦精品免费不卡| 亚洲无码二区天堂| 99国产超薄丝袜足j在线直播| 国产高潮一级在线流白浆| 日韩综合在线资源| 人妻自拍偷拍欧美日韩| 国产欧洲亚洲日产一区二区三区 | 免费无码视频在线播放| 欧美第一色| 一本在线热| 看无码专区视频| 亚洲欧美日韩在线精品一区二区| 亚洲国产精品综合| 日韩久久久电影| 综合图区 一区 在线| 欧美亚洲日韩中文2020| 人妻偷拍无码中文字幕| 91精产三产区| 午夜免费成人在线电影| 国产亚洲二区在线观看| 亚洲毛片免费网址| 中文字幕亚洲精品15| 午夜不卡一区|