我为什么不看好微信小程序
我自认为对新技术还是比较有热情的,可对于小程序这个“新技术”,我却完全是被动的。去年9月份的时候,微信小程序开始内测,瞬间引爆朋友圈、知乎等一众分享平台。当时我大概了解了一下,觉得从技术角度上来说没啥新意,也完全没有get到网上那些人激动的点在哪里,于是也就没有花很多精力去深入了解和学习相关知识。到了11月份,我和几个小伙伴去北京参加CSDN 举办的 SDCC,我特意去听了微信专场,滴滴团队的小程序经验分享干货十足,却依然让我觉得这个“新技术”无论是从技术角度还是从用户场景角度,都没什么吸引人的地方。今年1月9日,小程序正式发布,一下子又引爆了一众网络媒体,连我身边很多非IT圈的人都在找我了解讨论小程序的事情。这次我再也坐不住了,毕竟雷布斯说过“只要站在风口猪也能飞起来”,更何况背靠腾讯的张小龙,刮起的很可能是龙卷风。于是我向公司提出申请,注册了一个小程序账号,开始尝试开发一个给公司员工使用的办公助手。接着我就遇到了一些列问题。
程序大小限制
刚刚开始研究不久我就发现,每次预览的时候,微信开发者工具都会提示你编译包的大小是多少。因为微信小程序要求编译包的大小不能超过1MB,1MB大概有多少呢,我给大家举个例子,我们之前用 Vue 开发过一个 OA 系统的手机版,不包括任何第三方依赖,所有代码 zip 压缩之后是400KB。我们的这个手机版 OA 实现了大概 10 个的功能,只有PC版的1/6不到,没有用任何图片资源,所有的图标都是用 font-face 实现的。小程序这个 1MB 的大小限制就注定了你的程序只能是一个简化版,大家可以去看看现在已经上线的微信小程序,如滴滴出行、京东购物、卷皮折扣等等,全都是简化版。
没有消息推送
我们面对的第二个问题就是,微信小程序不能主动进行消息推送。虽说现在很多 app 没事推送各种广告确实挺让人神烦,但是完全不能做任何消息推送也不行啊,毕竟这可是刚性需求。比如我们准备做的 OA 系统,没有消息推送弊端真的非常多,比如,有会议待开,有审批单待签,有论坛帖子@到,所有这些东西都完全无法通知用户了,那么作为一个 OA 系统,连提醒功能都没有,做手机版的意义就已经大打折扣了。同样的,社交类 APP,购物类 APP 都有很多对消息推送存在刚需的场景,小程序里面,这些都实现不了了。
不完善的语法
其实微信小程序的语法和 Vue 是非常相似的,以至于小程序刚刚内测的时候,有人还去知乎上提问说小程序的底层是不是 Vue 实现的。可是,实际看了小程序的开发文档之后你就会发现,小程序的指令实在是太简单了,目前除了数据绑定、条件渲染、列表、模板、事件、引用 之外基本上没有其他的功能了。而反观 Vue 的开发文档,你会发现两者是天壤之别。API 太过繁杂会增加了很多学习成本也不是好事。可是像小程序这么简单的 API,提供的功能肯定是非常有限的,自然也带来了很多开发上的不便。比如,在 Vue 里面,你可以用很多不同的变量往同一个元素上面绑定很多不同的 class,在小程序上就没这么简单了。
没新意的架构
其实没有新意的架构并不能算小程序的缺点,只是模仿优秀者,而且模仿的还很像,这并不是很么坏事。可是,作为腾讯的力推产品,大家自然对它各个方面的期待都更高一些,就好像苹果公司这几年的发布会,虽然也在一只推陈出新,可是毕竟都不是什么划时代的设计或功能,于是大家纷纷表示苹果已经不是原来那个苹果了。对前端开发来说,如果小程序的架构和 Vue、React 都类似,那么我们又为什么要从 Vue 和 React 转来用小程序呢?
不突出的性能
小程序刚刚开始内测的时候,很多人猜测小程序是不是和 ReactNative 以及 Weex 一样把类似 HTML 的各种标签渲染成了手机端原生组件,从而使程序的运行流畅度大大提高。然后目前来看,事实并不是这样,在 Android 手机的开发选项中开启“显示布局边界”之后,你就可以发现,其实小程序说白了还是一个 webview,而且很多人在体验过小程序之后也发现,界面的流畅度和浏览器相比并没有什么明显的提高。
更封闭的体系
小程序的整个体系是封闭的,从代码编辑器到调试环境到运行环境,全都是腾讯出的,而且目前来看全是闭源方案。包括后期的上线审核,可搜索的关键字设置等等方面,全都是腾讯一家说了算,颇有苹果的作风。做过 iOS APP 的同学应该是对苹果的行事风格有体会的,说要下架你的 APP 就下架,招呼都不打,你想去找他沟通,几天没人理你。
上面这些都是我从开发的角度去看小程序的问题。可能很多人会觉得不服,认为光有程序员思维是不行的,很多事情并不仅仅是技术那么简单。那下面我就从运营的角度来说说小程序还有哪些问题。
流量不足
小程序刚刚提出的时候,很多人觉得机会来了,一个很重要的原因就是大家都觉得有微信这个超级流量平台,小程序的流量肯定会非常可观,可是结果大家都看到了。小程序不能在朋友圈分享,只能在聊天场景分享,可是大家回忆一下,一般人在聊天的时候会经常给别人分享 APP 么?另外,小程序没有所谓的应用市场,也就没有排名和榜单,只能搜索,而且除了个别非常知名的 APP 或品牌名称,比如京东,其他的 APP 只能精确搜索。另外,所谓的线下扫描二维码进入小程序,老实说,我想不出来有什么线下场景一定要用户扫描一个二维码进入小程序才能进行下去。如果只是付款,完全可以直接扫码支付,如果是注册会员,完全可以扫码之后只显示一个注册页面。小程序的入口就是这么模糊。
功能太弱
就算有些用户经过重重阻碍,终于扫面二维码进入了小程序,他接着就会发现,小程序的功能由于其编译包大小的限制,往往显得有点力不从心。对比一下京东的原生 APP 和京东的微信小程序,我们不难发现,京东的微信小程序版基本上把京东 APP 里面 80% 的功能都看掉了。如果你是个技术男现在只是想买一条手机数据线,你可能可以在小程序上搜索数据线,查看某条搜索结果的详情,感觉不错就买了。可是如果你要是个妹纸想买条裙子,小程序显然不能满足你反复比较挑选的需求。
微信小程序刚刚推出的时候,有人说微信除了小程序,很多 APP 都可以卸载掉了,还举例说比如天气 APP 和计算器 APP。可在我看来,这两个 APP 都不可能被小程序取代。天气 APP 最重要的就是天气信息的主屏幕提醒,小程序做不到。计算器都是各个手机系统自带的功能,小程序更没有机会。就算手机系统不自带计算器,用户是希望在主屏幕上点一下打开,还是希望先打开微信,然后切换到发现选项卡,再进入小程序栏目,最后选择计算器功能?
“用完即走”
微信小程序提出了一个概念叫“用完即走”。这个想法听起来好像很人性化很替用户着想,可事实上这个需求是非常“小众”的需求,甚至可以说是伪需求。用户只对一些低使用频率,又非用不可的 APP 才有这种需求,比如旅游类 APP。首先旅游类 APP 的使用频率低,用户不太可能每个星期去旅游,另外你不用好像也确实不方便。再比如某些酒店的会员 APP,你在住酒店的时候用它可以带来很多切实的方便和优惠。可大家在深入想想,我们出去旅游的时候,旅游类 APP 是只用一次还是在一小段时间内频繁使用?显然是后者,那我们为什么不在这一小段时间内安装一个旅游的 APP,过了这一段时间之后再删掉?毕竟全功能的 APP 在各个方面来说都更好用。
我觉得,小程序其实从一开始就没有打算去取代现有的原生 APP,它只是对现有 APP 生态的一个补充和完善,可以说是一个面向小众细分市场的产品。同时,对张小龙和腾讯来说,微信小程序可能更是微信对生态圈建设的一次尝试。
我为什么不看好微信小程序的更多相关文章
- 一个程序员对微信小程序的看法
我们公司用两周的时间开发了一款微信小程序,叫<如e支付>,大家可以去体验一下.由于接口都是写好的,所以开发起来很快.我将从4个不同的角度来介绍我对微信小程序的理解. 1.技术的角度 ...
- 微信小程序开发心得
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...
- 微信小程序体验(2):驴妈妈景区门票即买即游
驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...
- 微信小程序(微信应用号)组件讲解
这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...
- 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新
微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...
- 通过微信小程序看前端
前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- 来自于微信小程序的一封简讯
9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...
- 微信小程序前端源码逻辑和工作流
看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...
随机推荐
- 提示:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components.错误
ArcGIS10,然后就使用VS创建一个简单的AE应用程序,然后拖放一个toolbar.LicenseControl以及MapControl控件. 接着编译应用程序,编译成功. 然后单击F5运行程序, ...
- phpstorm 正则匹配删除注释行(替换注释行为空行)
使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服. 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果手动逐行删除显 ...
- ural1553 Caves and Tunnels
Caves and Tunnels Time limit: 3.0 secondMemory limit: 64 MB After landing on Mars surface, scientist ...
- office加载项部署清单签名的证书或其位置不受信任
异常信息: System.Security.SecurityException: 此应用程序中的自定义功能将不起作用,原因是用于为 BIMT写作指导 的部署清单签名的证书或其位置不受信任.请向管理员寻 ...
- SQL面试题——查询课程
题目: 成绩表(Grade),包含字段:GradeID(Int,自增), SNO(int, 学号), CNO(int, 课程号), Score(float,分数) 查询每门课程的平均(最高/最低)分及 ...
- 多机并行计算框架 和CoolHash数据库(可用于多机机器学习)
http://my.oschina.net/fourinone/blog/289122 http://www.oschina.net/p/fourinone
- JSP处理AJAX
register.jsp: <script type="text/javascript"> var req; function validate() { var idF ...
- php单元测试到底是什么东西呢?
前言: 真正写php代码也有3年时间了,勉强算是一个php程序员, 但是,心底却一直没有底气. 都说测试驱动开发,可我连程序开发中什么是单元测试?这种基本的程序员的素养都 还不是很清楚,痛定思痛,决定 ...
- CDOJ 1270 Playfair
模拟题,代码写得比较乱... #include<cstdio> #include<cstring> #include<cmath> #include<queu ...
- 跳舞链 Dancing Links
作为搜索里面的一个大头,终于刷了一部分题目了,跳舞链一般都有现成的模板来套...... 至于跳舞链的学习的话,我觉得http://www.cnblogs.com/grenet/p/3163550.ht ...