从接触小程序到现在,已经一年了。小程序从原来只有微信一家,到现在各种平台都推出了小程序,这种百家争鸣的繁荣景象,很好的反应出小程序在这几年的发展速度之快。为什么小程序能够发展的如此迅速,让各大厂商都争相进军小程序呢?
以下是我的个人见解,欢迎大家讨论交流。
一、微信小程序与传统 App 的对比
优点:
1. 开发成本
成本与收益永远是商家最关注的两个核心问题。一般传统 APP 的开发费用普遍都是 5 万以上左右,对于部分大型企业客户的收费基本是在 10 万以上。目前,微信端小程序收费不高,基本可在万元内。事实上,两者后台调用的数据库并无区别,只是传统 APP 的前端更花一些功夫罢了。传统 App 分有 Android 和 IOS 开发,而小程序开发更加接近于 Web 开发。总体而言,传统 APP 的开发成本要高出微信小程序很多。
2. 推广成本
相信大家也见过,有一类的兼职就是 App 推广,推荐一个人下载安装 App 就能得到 6-10 元的回报。而小程序并不需要这样,即点即用。主要的推广模式是靠分享推广,所以你肯定见过这样的套路:在玩某些小程序游戏的时候,如果你死了,小程序会提示你分享到一个群里就可以复活,这样由用户自发的推广,可以说是 0 成本,但是又是高收益的。
3. 安装方式
传统 APP 应用需要用户自行下载安装,微信小程序则只需要用户简单扫描一下微信二维码或自生(开发出来的)即可轻松实用,对于大量具有线下经营实体的商家而言,无疑更为合适,对于用户来说,也更简单方便。
4. 空间占用
传统 APP 安装到手机之后,或多或少会占用一定的手机空间。同时,商家为了强化自身的 APP 应用价值,开始罔顾用户需求,不断给 APP 增添各种附加功能,从而导致 APP 的体积和占用空间不断增大。诸君可曾见,哪个 APP 是越升级,体积越小?占用空间越小的?
那小程序是否会占用手机空间呢?答案是肯定的。
小程序所占用的手机存储空间,主要有以下两个部分:
- 首次加载小程序时,微信从服务器上下载的小程序本体。
- 小程序在运行过程中,存放至本地的数据。
首先是小程序本地的大小,做过小程序开发的应该都知道,微信对小程序的体积做了限制,只有 2 MB 以内的小程序,才能提交到微信审核。也就是说,如果你无法提交代码大小超过 2MB 的小程序。
其次是小程序存放在本地的数据,这个微信限制在 10MB 以内。
一个小程序可占用存储空间的上限,大约是 12 MB。
5. 卸载残留
由于传统 APP 都需要用户下载安装,基于利益角度考量,用户在卸载的时候,传统 APP 依然或多或少地有部分内容残留在用户手机里面。
小程序删除时,微信会帮你把本地的小程序本体和本地数据删除
6. 升级维护
传统 App 升级需要用户自行下载,安装进行升级。而小程序升级省去了用户操作,开发者把要升级的版本上传到微信后台,微信后台会帮你完成所有的升级工作。
目前市场上主流的移动端系统为 Android、Ios,这意味着,App 开发商不得不考虑跨平台性,必须得开发两端的 APP。而小程序是运行在微信之上,微信本身已经处理好的跨平台性让开发者不需要考虑跨平台的问题。
缺点:
1. 不适用于复杂应用
2MB 的大小限制注定了小程序开发太复杂的应用,你不可能在小程序上面开发一款即时通讯应用。当然你开发是可以开发,只是过不了微信的审核罢了。
那有什么应用是适合用小程序开发的呢?
查询工具这类交互性要求不强的应用是最适合用小程序开发的。
这类应用本身只提供一个核心的功能,如果用传统 APP 开发,那就显地有点杀鸡用牛刀了。微信小程序就很适合这类应用。举个很形象了例子吧!超级课程表这 APP 大家都用过吧,它最核心的功能就是提供全国大学的课程表查询。它还开发了很多其他我没用过的功能。绝大部分的大学生,都是只需要他这个查询课程表的功能,所以如果用小程序开发这个应用,首先解决的跨平台的问题、其次还解决了空间占用的问题(超级课程表在我手机中占用的空间为 136MB)、还有就是用户即点即用,不需要下载安装。
2. 入口少
目前小程序的入口主要有两种,一是分享推广、二是用户搜索。这里要说的入口少指的是第二点,用户搜索的入口。
什么意思呢?大家如果想要安装一款 APP 首先要去哪里?应用商店。那小程序呢?你得打开微信,搜索你想要的相关关键字。这样的缺点是,用户比较难找到一款优质的小程序,因为并没有一个好小程序应用商店对小程序进行分类排名和评分来保障应用的质量。一个好的应用商店对应用的质量提升是很有保障的,爱奇艺很多人都用过吧,是否很烦它那烦人的广告呢?其实如果你从谷歌应用商店下载的爱奇艺,是没有广告的,因为有广告的 APP 根本过不了谷歌应用商店的审核。
总的来说,小程序优点在于更低的成本,而缺点就是只适用于“小”场景,对于大型的应用就不合适了。
二、微信小程序的开发方式
前端
原生小程序开发
微信为小程序开发自创了一套标签语言,如果有做过小程序开发和熟悉 Vue 开发的应该知道,原生小程序的开发与 Vue 的开发有很多相似的地方。
腾讯官方开发框架
微信官方自己推出了一套小程序开发框架Wepy
(名字听起来怪怪的),这个框架就让小程序开发更接近于 Vue,官方介绍说是类 Vue 开发风格。
由于本人没有Wepy
的开发经验,这里也不过多阐述其优劣。
第三方开发框架
目前主流的第三方小程序开发框架主要有Taro
(京东)和Mpvue
(美团),这里不对比他们的优劣,这就和对比React
和Vue
的优劣一样,是没意义的。两者都是很优秀的开发框架,选择哪一个主要看你对于React和Vue的选择。
后端
常规后端开发
你可以用Java/C++/Go任何语言进行后端开发,这和Web的后端开发无异,同样是通过http/websocket进行前后端交互。
小程序云开发
这里重点讲讲小程序云开发,这是小程序去年年底推出的功能,目的是弱化后端概念。开发者无需搭建服务器、使用微信小程序平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
最近云开发已经开放了在其他端调用的能力,这意味着云开发不再是只能在小程序中调用。也就是说你可以同时使用常规后端开发和云开发作为你们产品的后端服务。这意味着小程序和Web之间彻底的打通,你可以直接在Web页面中访问到小程序云开发中的数据。例如自己做一个小程序的统计分析的可视化页面、实现Web客服等。
三、技术并非决定项目成败的关键
以前我认为一个产品的成败很大程度上是取决于技术,技术才是产品的核心竞争力。但是后来我发现,并不是这样的。
虽然说技术方面是一个项目中非常重要的一环,但是并不是意味着技术实现了,项目就能成功。技术是可控的,然而还有很多不可控的因素,一个项目的成与败也往往取决于这些因素。
例如团队的管理、项目的运营、市场的需求、盈利的模式等等。一个项目如果没有得到没有好的管理,那么这个产品做不出来。一个产品投产后如果没有运营,那么没有人知道这个产品的存在,没有曝光量。一个产品如果没有市场需求,那么就没有人用这个产品。一个产品如果没有良好的盈利模式,那么这个产品坚持不了多久就会走向衰亡。
当一个产品一个团队解决了核心的技术难题,并且有着合理的团队管理、运营、满足市场寻求、健康的盈利模式之后,基本上可以定义为成功了。缺少其中任何一环,都是很难走向成功。
还有一个就是。现在小程序在风口上,二android ios 已经过了很多年了。现在很多公司都有小程序试错。第一版都是开发小程序。有数据量了才去开发app。有些公司可能很长时间都没有app.比如小打卡,很久没有关注了,不知道现在有没有app