百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

开发小程序的五种方式对比,跨端?低代码?原生?还是云开发?

liuian 2024-12-22 19:35 29 浏览

目前“小程序”的开发与应用呈现“井喷”之势,作为小程序的鼻祖,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。

相关推荐

快速上手maven

Maven的作用在开发过程中需要用到各种各样的jar包,查找和下载这些jar包是件费时费力的事,特别是英文官方网站,可以将Maven看成一个整合了所有开源jar包的合集,我们需要jar包只需要从Mav...

Windows系统——配置java环境变量

怎么配置java环境变量呢?首先是安装好jdk然后我的电脑右键选择属性然后选择左侧高级系统设置高级然后点环境变量然后在用户变量或系统变量中配置,用户变量指的是只有当前用户可用,系统变量指的是系统中...

ollama本地部署更改默认C盘,Windows配置环境变量方法

ollama是一个大语言模型(LLM——LargeLanguageModel),本地电脑安装网上也要很多教程,看上去非常简单,一直下一步,然后直接就可以使用了。但是我在实操的时候并不是这样,安装完...

# Windows 环境变量 Path 显示样式更改

#怎样学习Java##Windows环境变量Path显示样式更改##1、传统Path环境变量显示:```---》键盘上按【WIN+I】打开系统【设置】---》依次点击---》【系统...

如何在Windows中创建用户和系统环境变量

在Windows中创建环境变量之前您应该了解的事情在按照本指南中所示的任何步骤创建指向文件夹、文件或其他任何内容的用户和系统变量之前,您应该了解两件事。第一个也是最重要的一个是了解什么是环境变量。...

Windows 中的环境变量是什么?

Windows中的环境变量是什么?那么,Windows中的环境变量是什么?简而言之,环境变量是描述应用程序和程序运行环境的变量。所有类型的程序都使用环境变量来回答以下问题:我安装的计算机的名称是什么...

【Python程序开发系列】谈一谈Windows环境变量:系统和用户变量

这是我的第350篇原创文章。一、引言环境变量(environmentvariables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作...

系统小技巧:还原Windows10路径环境变量

有时,我们在Windows10的“运行”窗口中执行一些命令或运行一些程序,这时即便没有指定程序的具体路径,只输入程序的名称(如notepad.exe),便可以迅速调用成功。这是因为Windows默认...

Windows10系统的“环境变量”在哪里呢?

当我们在操作系统是Windows10的电脑里安装了一些软件,要通过配置环境变量才能使用软件时,在哪里能找到“环境变量”窗口呢?可以按照下面的步骤找到“环境变量”。说明:下面的步骤和截图是在Window...

系统小技巧:彻底弄懂Windows 10环境变量

每当我们进行系统清理时,清理软件总能自动找到Windows的临时文件夹之所在,然后加以清理,即便是我们重定向了TEMP目录也是如此。究其原因,是因为清理软件会根据TEMP环境变量来判断现有临时文件夹的...

MySQL 5.7 新特性大全和未来展望

本文转自微信公众号:高可用架构作者:杨尚刚引用美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存...

MySQL系列-源码编译安装(v8.0.25)

一、前言生产环境建议使用二进制安装法,其优点是部署简单、快速、方便,并且相对"yum/rpm安装"方法能更方便地自定义文件存放的目录结构,方便用脚本批量部署,方便日后运维管理。在生产...

MySQL如何实时同步数据到ES?试试这款阿里开源的神器!

前几天在网上冲浪的时候发现了一个比较成熟的开源中间件——Canal。在了解了它的工作原理和使用场景后,顿时产生了浓厚的兴趣。今天,就让我们跟随我的脚步,一起来揭开它神秘的面纱吧。简介canal翻译为...

技术老兵十年专攻MySQL:编写了763页核心总结,90%MySQL问题全解

MySQL是开放源码的关系数据库管理系统,由于性能高、成本低、可靠性好,成为现在最流行的开源数据库。MySQL学习指南笔记领取方式:关注、转发后私信小编【111】即可免费获得《MySQL进阶笔记》的...

Mysql和Hive之间通过Sqoop进行数据同步

文章回顾理论大数据框架原理简介大数据发展历程及技术选型实践搭建大数据运行环境之一搭建大数据运行环境之二本地MAC环境配置CPU数和内存大小查看CPU数sysctl machdep.cpu...