微信小程序为什么不被看好?
我自认为对新技术还是比较有热情的,可对于小程序这个“新技术”,我却完全是被动的。去年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 生态的一个补充和完善,可以说是一个面向小众细分市场的产品。同时,对张小龙和腾讯来说,微信小程序可能更是微信对生态圈建设的一次尝试。
微信小程序为什么不被看好?的更多相关文章
- 我眼中的微信小程序
开始关注微信小程序是从去年8月份开始,当时它还没这么"火",而且当时我个人对其的发展也并不看好. 其一:是因为微信是第三方软件,把我的用户数据和信息挂载在微信上这样真的可靠吗?有朋 ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- 原创:微信小程序入口猜想?
昨天看到一篇文章:是有一个人逆向了微信源码,从中发现了很多关于小程序的未公开内容,然后发布了出来,不过很快作者就删掉了文章,而我也没保留,只是隐约留下来一点点印象,就是作者推测了很多个入口:作者删掉的 ...
- 如何评价微信小程序?
这次我不站张小龙,虽然他说的「用完即走」的道理在,但我并不认为小程序会形成生态. (一) 仅仅从抽象场景上来讲,小程序当然很美好. 对开发者来说,不用费尽心思开发好多平台的 APP 了,不用考虑适配各 ...
- 「前端开发者」如何把握住「微信小程序」这波红利?
由于前两周一直在老家处理重要事情,虽然朋友圈被「微信小程序」刷爆了,但并没有时间深入了解. 昨天回广州之后,第一件事情就是把「微信小程序」相关的文章.开发文档.设计规范全部看了一遍,基本上明白了「微信 ...
- [微信小程序]初试——成绩分析小程序问题总结
文件类型说明 第一次打开微信小程序的开发者工具,就是下面这个样子. 好多已经存在的默认文件 .js .json .wxml .wxss 首先当然要搞懂这些文件都是干什么的 app.js是小程序的脚本代 ...
- 微信小程序使用场景延伸:扫码登录、扫码支付
微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ...
- 微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器(一)
内容: 一.前言 二.相关概念 三.开始工作 四.启动项目起来 五.项目结构 六.设计理念 七.路由 八.部署线上后端服务 同步交流学习社区: https://www.mwcxs.top/page/4 ...
- 浅析微信小程序技术架构(原创)
周末万里虎抽空体验了下微信小程序的DEMO,对小程序的开发有了一个基础的了解与认识,今天就来和大家分享一下我对小程序的看法. 从官方DEMO来看,小程序在技术架构上非常清晰易懂.JS负责业务逻辑的实现 ...
随机推荐
- 【qboi冲刺NOIP2017复赛试题4】 全套题目+题解+程序
作为一个好人(验题人),我给大家奉上下这套题的题解,并且预祝大家这套题能够AK: T1题面:Alice现在有n根木棍,他们长度为1,2,3....n,Bob想把某一些木棍去掉,使得Alice剩下的木棍 ...
- Linux下面安装swoole
需要安装php7 新建一个文件夹,作为存储swoole的文件夹 然后执行下面相对应的命令,这里是我执行的命令 新建文件夹 mkdir swoole 切入到文件夹中,进行下载安装包 wget http: ...
- spring boot的拦截器简单使用
1.spring boot拦截器默认有: HandlerInterceptorAdapter AbstractHandlerMapping UserRoleAuthorizationIntercept ...
- wap尝试调取app(网易新闻为例)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- java.lang 类String
方法摘要1 charcharAt(int index) 返回指定索引处的 char 值. index - char 值的索引.2 string concat( ...
- Spring中使用两种Aware接口自定义获取bean
在使用spring编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单: @Servicepublic clas ...
- 微信小程序、微信公众号、H5之间相互跳转
转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息 ...
- 通过sql实现约束
--手动删除一列 alter table 表名 dropi column 列名 --手动增加一列(后面加列类型) alter table 表名 add 列名 nvarchar(1000) --手动修改 ...
- [日常] MySQL的哈希索引和原理研究测试
1.哈希索引 :(hash index)基于哈希表实现,只有精确匹配到索引列的查询,才会起到效果.对于每一行数据,存储引擎都会对所有的索引列计算出一个哈希码(hash code),哈希码是一个较小的整 ...
- JS 重写alert,使之能输出多个参数
windows._alert = windows.alert; windows.alert = function(){ _alert = (Array.prototype.slice(argument ...