开发小程序的五种方式对比,跨端?低代码?原生?还是云开发?
liuian 2024-12-22 19:35 39 浏览
目前“小程序”的开发与应用呈现“井喷”之势,作为小程序的鼻祖,2021年微信小程序开发者突破了300万,日活跃用户数(DAU)已经超过4.5亿,微信为开发者支付的广告分成接近百亿。在微信小程序火爆之后,各个互联网厂商相继推出了自己的平台小程序,比如:支付宝小程序、百度小程序、字节跳动小程序、快应用、QQ小程序、360小程序、京东小程序、快手小程序等。小程序相对于APP应用存在若干的优势:
- 免安装,使用方便,占用更少的手机资源
- 容易分享,小程序的内容产出容易进行社群分享传播
- 学习的门槛低,开发成本逐步降低
我们就从开发成本逐步降低,从这一个角度来说明一下目前小程序的若干开发方法。
- 一、原生开发
- 二、结合UI框架开发
- 三、跨端开发方式
- 四、低代码开发
- 五、云开发
- 总结
一、原生开发
优点是:以微信小程序为例,原生开发官方的文档、视频教程、API查找都非常的规范、系统,官方的文档齐全。而且原生开发更接近手机服务底层,一旦出现问题容易定位,并解决问题。缺点是:原生开发的代码量相对比较大,组件少、样式美观度不够,语法的灵活度不够,开发效率相对较低。并且不同平台的小程序语法不同,如果小程序需要适配多个平台,开发成本非常高。
二、结合UI框架开发
为了解决原生开发的代码量大,组件少美观度不足的问题,出现了很多适配小程序的界面UI库。比较典型的有:腾讯的weui、有赞的vantUI。使用了界面UI库之后,代码量明显减少,代码更加简洁,提高了开发效率以及代码的可维护性。
这些组件UI库的文档也都非常的规范化、系统化。只需要简单的几个步骤就可以引入文件、使用组件,大部分操作只需要进行代码搬运即可。
三、跨端开发方式
正如笔者之前所说的,目前已经有非常多的厂商推出了自己的小程序,如:支付宝小程序、百度小程序、字节跳动小程序、快应用、QQ小程序、360小程序、京东小程序、快手小程序等,加上android、IOS、H5移动端页面,如果针对每一个平台开发一套小程序,那么开发成本是非常高的。于是出现了跨端开发的框架,寄希望于写一套代码,就可以自动生成适配多个平台的小程序、H5、android、IOS。这种框架目前还是很多的,大概分为两个派系
- vue语法派系,比如uniapp、chameleon等
- react语法派系,比如阿里的remax,京东的taro
其中由于国内的vue生态比较好,uniapp几乎是复用了vue语法,所以其学习成本相对较低。组件库以及插件非常丰富,深受vue开发者的喜爱。在这里笔者要为uniapp鸣不平,由于很多开发者一直信奉“国外的月亮比较圆”,每每提到uniapp的时候,就会有人跳出来指出“这不行、那不行”,但是笔者的团队已使用uniapp开发了多款跨端移动应用,总体来说还是不错的。只要你不是使用它开发那种和手机硬件高度结合的应用(比如连接各种手机传感器的那种应用),uniapp完全可以满足你的开发需求。之前一直为人诟病的文档不规范的问题,uniapp也在一直地不断完善。最重要的是:uniapp的用户量非常大,一旦出现了问题你可以与大量的开发者交流解决方案。
当然使用跨端开发框架的缺点就是:问题的排查成本高,遇到框架有bug或无法支持的功能时,只能期待官方更新版本。当然,笔者还是要介绍自己的经验:只要你不是使用它开发那种和手机硬件高度结合的应用,问题都不大,都能解决。 当然也不是说,不能开发与手机硬件结合的应用,就像调用手机GPS获取经纬度、拨打电话、罗盘、蓝牙等笔者团队也都开发过,性能上对比andoid、IOS、小程序原生会差一点点,但是总体也是可用的。目前uniapp支持的硬件设备API如下:
四、低代码开发
开发者总是越来越懒惰的,我觉得程序员未来一定是向低代码、人工智能去发展的,未来的开发者只需要写非常少的代码就可以完成今天不敢想象的功能。虽然“低代码”目前在很多领域还是鸡肋,但是在小程序开发的领域,低代码已经具备了相当的可行性,毕竟小程序开发重要的环节就是界面设计。所以,可视化的页面平台,通过拖拽组件、输入配置来改变组件的样式和行为,再自动生成代码。这种小程序的低代码平台应运而生,如腾讯的WeDa。
五、云开发
最后给大家说一下云开发,这种开发方式目前我只知道是“微信小程序”提供的。它解决的主要问题是:目前开发小程序的核心工作仍然是设计与前端实现,很多小程序的开发者都是前端开发者,这就会出现一个问题:前端开发者没有后台数据,无法独立完成开发。“云开发”方式应运而生!
云开发的就是不需要自己搭建后台服务,通过调用操作数据库的云函数即可获取服务端的数据。即使只会前端,也能开发出一个完整的小程序。 当然后端的这些云服务都是需要付费的!
总结
最后不管怎样,小程序开发的核心仍然是前端开发,即:开发界面、交互以及一些数据请求的业务逻辑。需要你掌握最基础的HTML+JS+CSS,虽然不完全一样,但大同小异。目前跨端开发仍然是主流的开发方式,所以最好先掌握一门前端框架,vue或者react。
相关推荐
- psp模拟器ios(psp模拟器ios推荐)
-
psp手机模拟器推荐PPSSPP,作为最流行的开源PSP模拟器,因为其强大的功能和兼容性广受玩家们喜爱。虽然提供了PC和安卓双平台的支持,但是有碍于安卓设备的硬件,移动端PPSSPP的功能并不完整。不...
- 台式机重装系统按f几(重装电脑系统按f几)
-
F8、F9、F10、F11、F12、F2、del。一般用到这几个。下面以联想电脑装WIN10系统为例:1、将制作好的U盘插入要重装系统的电脑,开机画面出现电脑品牌logo时,不停地按“f2键”进入“B...
- win10激活错误代码0x8007007b
-
Win10激活出现0x8007007b解决方法如下1、找到计算机,右键点击属性,确认你的电脑系统是否是windows10。2、鼠标右击桌面,依次点击个性化-主题-桌面图标设置,勾选计算机后依次点击应用...
-
- 4000台式电脑最好的组装配置
-
四千元价格组装电脑主机与五千元组装电脑主机的价格类似,因为电脑主机就几个大部件,电脑主机主板是多少代的产品?主板内存的插槽数?电脑处理器等如果是自己组装,都可以配置到十二代产品,电脑硬盘可以分为256G固态硬盘做系统盘,1T机械硬盘作为工作...
-
2025-11-06 20:05 liuian
- linux是一种什么系统(linux属于什么系统)
-
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。其内核由林纳斯·本纳第克特·托瓦兹于1991年1...
- 手机管理大师免费版(手机管理大师极速版)
-
使用手机“文件管理”打开文件夹时提示访问受限,需要前往“文件”应用查看1.进入手机设置——安全——应用权限——权限/应用2.在手机桌面找到手机管家——权限隐私——应用权限——权限/应用?当然,相对于被...
- 电脑能开机但是进不去桌面怎么办
-
打开任务管理器按Ctrl+Shift+Esc打开任务管理器。文件中运行新任务点击文件,运行新任务。输入指令重启桌面输入explorer.exe,点击确定,等待桌面重启完成就可以了。电脑已经是我们生活中...
- 怎样解除自动关机模式(怎样解除自动开关机)
-
1、打开手机主界面,找到系统自带的“时钟”应用,点击打开它。2、点击进入时钟后,点击右下角的“计时器”。3、进入到计时器后,点击“在计时结束启用雷达”这个选项。4、然后在这里,下拉到最下面,勾选“停...
- 电脑最高配置是什么配置2025
-
一,2023最新主流电脑装机配置如下。二,处理器可以使用十二代的i512400或者i512490f,内存16gb双通道,显卡rtx3060,主板可以使用b660m或者h610m。三,如果十三代酷睿...
- MySQL慢查询优化:从explain到索引,DBA手把手教你提升10倍性能
-
数据库性能是应用系统的生命线,而慢查询就像隐藏在系统中的定时炸弹。某电商平台曾因一条未优化的SQL导致订单系统响应时间从200ms飙升至8秒,最终引发用户投诉和订单流失。今天我们就来系统学习MySQL...
- 一文读懂SQL五大操作类别(DDL/DML/DQL/DCL/TCL)的基础语法
-
在SQL中,DDL、DML、DQL、DCL、TCL是按操作类型划分的五大核心语言类别,缩写及简介如下:DDL(DataDefinitionLanguage,数据定义语言):用于定义和管理数据库结构...
- 闲来无事,学学Mysql增、删,改,查
-
Mysql增、删,改,查1“增”——添加数据1.1为表中所有字段添加数据1.1.1INSERT语句中指定所有字段名语法:INSERTINTO表名(字段名1,字段名2,…)VALUES(值1...
- 数据库:MySQL 高性能优化规范建议
-
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,...
- 下载工具合集_下载工具手机版
-
迅雷,在国内的下载地位还是很难撼动的,所需要用到的地方还挺多。缺点就是不开会员,软件会限速。EagleGet,全能下载管理器,支持HTTP(S)FTPMMSRTSP协议,也可以使用浏览器扩展检测...
- mediamtx v1.15.2 更新详解:功能优化与问题修复
-
mediamtxv1.15.2已于2025年10月14日发布,本次更新在功能、性能优化以及问题修复方面带来了多项改进,同时也更新了部分依赖库并提升了安全性。以下为本次更新的详细内容:...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
