搜尋
首頁微信小程式小程式開發小程式框架如何選擇
小程式框架如何選擇Jan 27, 2021 am 09:39 AM
小程式

小程式框架如何選擇

導語:

從小程式開始內測一直到現在,各家公司對小程式業務的開發需求越來越大。開發者在使用原生去開發小程式時很難受,尤其是遇上業務比較複雜的項目,如果仍使用原生開發,會變得很難去管理和迭代。

(學習影片分享:程式設計入門

使用原生開發的問題:

  • 小程式本身不支援常用的css預編譯器

  • 不支援ES7以上的高階語法,如async await等特性;

  • ##不支援工程化,如環境、變數等管理

  • 缺少統一的request攔截請求

  • #缺少統一的本機快取讀取管理

#使用框架可以解決的問題:

  • 支援css預編譯器

  • 支援ES7以上語法

  • 支援工程化

  • 大部分框架支援多端,一套程式碼多端重複使用

框架介紹與比較

Wepy

WePY (發音: /'wepi/)是一款讓小程式支援元件化開發的框架,透過預編譯的手段讓開發者可以選擇自己喜歡的開發風格去開發小程式。框架的細節優化,Promise,Async Functions的引入都是為了能讓開發小程式專案變得更簡單,高效

小程式框架如何選擇

Mpvue

#mpvue 是一個使用Vue.js 開發小程式的前端框架。框架基於 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實現,使其可以運行在小程式環境中,從而為小程式開發引入了整套 Vue.js 開發體驗。

主要特性

  • 徹底的元件化開發能力:提高程式碼多用性

  • 完整的Vue.js 開發體驗

  • 方便的Vuex 資料管理方案:方便建立複雜應用程式

  • 快速的webpack 建置機制:自訂建置策略、開發階段hotReload

  • 支援使用npm 外部相依性

  • #使用Vue.js 命令列工具vue-cli 快速初始化專案

  • H5 程式碼轉換編譯成小程式目標程式碼的能力

Taro

Taro 是一套遵循React 語法規格的多端開發解決方案

小程式框架如何選擇

Uni-app

uni-app 是一個使用Vue.js 開發跨平台應用的前端框架。

小程式框架如何選擇

Chamelon

Chameleon/kəˈmiːlɪən/,簡寫CML,中文名卡梅龍;中文意思變色龍,意味著就像變色龍一樣能適應不同環境的跨端整體解決方案。

主要特性

目錄結構:提供規範化的專案結構,適合企業級大型應用的開發。

視圖層:視圖層由CML與CMSS編寫,核心是一個標準 響應式資料驅動視圖更新。

邏輯層:邏輯層由javascript編寫,邏輯層將處理資料後自動更新視圖,提供視圖層的事件回應方法。

多型協定:提供了跨端時各端底層元件與介面統一的解決方案。

規範校驗:為了提高開發的效率與程式碼的可維護性,提供了全面的程式碼規格與校驗。

框架對比

小程式框架如何選擇

star數量記錄於2019-09-17

框架優缺點分析

wepy

優點:微信團隊提供的框架,對微信小程式的支持度高,可工程化開發項目,組件和相關文件內容豐富,論壇和交流社區活躍

缺點:只支持微信小程序,支援端單一,框架本身靜態編譯,動態repeat時會出現比較嚴重的BUG,語法解析有時會出現錯誤,錯誤處理還比較簡單

mpvue

##優點:開源時間最早的多端框架,網路上相關的問題和例子較多,適用於工程化和組件化開發專案

缺點:開發團隊基本上不再維護該框架,使用者數量越來越少,且框架本身存在的各種問題經過長時間的迭代依舊沒有解決

taro

優點:支援端能力豐富,開發團隊維護力度大,論壇和官方的問題解決速度快,本身基於微信小程式API開發,微信小程式的支援能力強大

缺點:本身是檔案的靜態編譯,複雜程式碼的轉換的上會產生問題,對H5和行動端的端相容能力比較差

uni-app

優點:開發團隊主推的框架,論壇和交流社區非常活躍,端的兼容能力異常強大,存在特定IDE去兼容框架代碼的書寫規範

缺點:部分代碼未開源,官方問題反饋速度不及時,編輯器綁定

chameleon

優點:規劃完整,統一的多態協議,漸進式跨端,提供了基礎開發腳手架命令工具,幫助端開發者從開發、聯調、測試、上線等全流程高效的完成業務開發

缺點:開源時間短,相關的資料和問題解決方法較少,端相容能力還待完善

選型分析

現有的小程式框架很多,在專案開發中選型要根據業務和專案本身的實際情況選擇

相容微信小程式

如果只是相容於微信小程序,使用wepy、taro、chameleon都可以,因為這些框架的API都是基於微信小程序的,所以對微信小程序的兼容性基本和原生差不多,vue系的開發者可以選擇wepy、 chameleon,react系的開發者可以選用taro。當然一下開發者為了輕巧的開發可以使用glup做工程化以原生的進行開發,不過框架本身雖然增加了包的大小,但是框架在原生基礎上會封裝一下性能優化的點,如setData的重複渲染等。

不選mpvue的原因是因為mpvue的開發團隊已不再維護,而且mpvue在相容微信小程式的複雜業務上也存在部分問題一直沒有解決。

不選uni-app的原因只有一個,不喜歡使用HBuildX

相容多端

如果是要相容多端的話,可以根據相容端能力的需求選擇taro或是chameleon,chameleon雖然開源時間短,但是統一多型協議這個設計理念確實很不錯。 taro是凹凸實驗室重點推廣的項目,在使用過程中可以發現論壇的反饋和交流群的恢復速度還是很及時的,使用taro可以很好的兼容微信小程序,如果要兼容其他端需要在代碼根據端進行特殊處理

總結

小程式框架選型,不過選擇什麼框架,最後都會編譯成小程式可識別的程式碼運行在微信客戶端,根據業務需求選擇小程序框架要搞清楚小程式原生的能力。最後不得不吐槽一下微信開發文件的粗糙,很多關鍵的點描述的都不是很詳細。

相關推薦:小程式開發教學

以上是小程式框架如何選擇的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金。如有侵權,請聯絡admin@php.cn刪除
使用Python开发微信小程序使用Python开发微信小程序Jun 17, 2023 pm 06:34 PM

随着移动互联网技术和智能手机的普及,微信成为了人们生活中不可或缺的一个应用。而微信小程序则让人们可以在不需要下载安装应用的情况下,直接使用小程序来解决一些简单的需求。本文将介绍如何使用Python来开发微信小程序。一、准备工作在使用Python开发微信小程序之前,需要安装相关的Python库。这里推荐使用wxpy和itchat这两个库。wxpy是一个微信机器

小程序能用react吗小程序能用react吗Dec 29, 2022 am 11:06 AM

小程序能用react,其使用方法:1、基于“react-reconciler”实现一个渲染器,生成一个DSL;2、创建一个小程序组件,去解析和渲染DSL;3、安装npm,并执行开发者工具中的构建npm;4、在自己的页面中引入包,再利用api即可完成开发。

用Python编写简单的聊天程序教程用Python编写简单的聊天程序教程May 08, 2023 pm 06:37 PM

实现思路x01服务端的建立首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理x02客户端的建立客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的规则去输入特定的字符从而实现不同的功能的使用,因此,在客户端这里,只需要去使用两个线程,一个是专门用于接受消息,一个是专门用于发送消息的至于为什么不用一个呢,那是因为,只

Java语言中的微信小程序开发介绍Java语言中的微信小程序开发介绍Jun 09, 2023 pm 10:40 PM

微信小程序是一种轻量级的应用程序,可以在微信平台上运行,不需要下载安装,方便快捷。Java语言作为一种广泛应用于企业级应用开发的语言,也可以用于微信小程序的开发。在Java语言中,可以使用SpringBoot框架和第三方工具包来开发微信小程序。下面是一个简单的微信小程序开发过程。创建微信小程序首先,需要在微信公众平台上注册一个小程序。注册成功后,可以获取到

教你如何在小程序中用公众号模板消息(附详细思路)教你如何在小程序中用公众号模板消息(附详细思路)Nov 04, 2022 pm 04:53 PM

本篇文章给大家带来了关于微信小程序的相关问题,其中主要介绍了如何在小程序中用公众号模板消息,下面一起来看一下,希望对大家有帮助。

PHP与小程序的地理位置定位与地图显示PHP与小程序的地理位置定位与地图显示Jul 04, 2023 pm 04:01 PM

PHP与小程序的地理位置定位与地图显示地理位置定位与地图显示在现代科技中已经成为了必备的功能之一。随着移动设备的普及,人们对于定位和地图显示的需求也越来越高。在开发过程中,PHP和小程序是常见的两种技术选择。本文将为大家介绍PHP与小程序中的地理位置定位与地图显示的实现方法,并附上相应的代码示例。一、PHP中的地理位置定位在PHP中,我们可以使用第三方地理位

小程序中文件上传的PHP实现方法小程序中文件上传的PHP实现方法Jun 02, 2023 am 08:40 AM

随着小程序的广泛应用,越来越多的开发者需要将其与后台服务器进行数据交互,其中最常见的业务场景之一就是上传文件。本文将介绍在小程序中实现文件上传的PHP后台实现方法。一、小程序中的文件上传在小程序中实现文件上传,主要依赖于小程序APIwx.uploadFile()。该API接受一个options对象作为参数,其中包含了要上传的文件路径、需要传递的其他数据以及

PHP与小程序的第三方登录与绑定功能实现PHP与小程序的第三方登录与绑定功能实现Jul 04, 2023 am 08:57 AM

PHP与小程序的第三方登录与绑定功能实现随着互联网的发展和智能手机的普及,小程序成为了移动应用程序开发的热门选择。小程序不仅提供了优秀的用户体验,还具备各种强大的功能。其中,第三方登录与绑定是小程序中常见的功能之一。本文将介绍如何使用PHP与小程序实现第三方登录与绑定的功能,并为读者提供代码示例。第三方登录是指用户可以使用其他平台的账号信息登录到目标平台,而

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。