《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜
《微信小程序七日谈》系列文章:
- 第一天:人生若只如初见;
- 第二天:你可能要抛弃原来的响应式开发思维;
- 第三天:玩转Page组件的生命周期;
- 第四天:页面路径最多五层?导航可以这么玩;
- 第五天:你可能要在登录功能上花费大力气;
- 第六天:小程序devtool隐藏的秘密;
- 第七天:不要捡了芝麻丢了西瓜
本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。
前几篇文章主要记录了开发一款微信小程序应用中的一些问题和解决方案,从2017年1月9号第一批小程序正式发布以来,至今一个月左右的时间,随着人们对于微信小程序讨论热度的慢慢降温,业界趋向于更理性的看待微信小程序。
本文从技术和产品的角度简单记录一下笔者自己一些粗浅的感想。
技术看小程序:又一个轮子而已
其实微信小程序的技术开发难度相比较纯粹的web客户端开发要简单很多,一方面是由于小程序对于常见功能API的统一封装,开发者不用关注客户端兼容性的问题;另一方面,小程序只提供了有限的功能API,并且限制了未提供的功能,这种限制令一个小程序产品在规划功能时局促在有限的范围内,也就间接降低了技术开发的难度。
前端工程师上手微信小程序开发非常容易,基本看俩小时文档就可以了。稍有难度的服务端的开发,由于小程序的一些限制,导致原来web浏览器环境适用的解决方案并不能照搬(比如登录功能),增加了服务端的开发工作量。
总体来说,微信小程序开发的技术难度不高,只是需要时间适应。
产品看小程序:盲人摸象
小波澜:罗辑思维和今日头条
2017年1月15号,距离第一批微信小程序的正式发布不足一周的时间,罗辑思维出品的微信小程序“得到”宣布下架。同一天,今日头条的小程序“今日头条Lite”也被传停止了服务。
朋友圈热传的罗振宇对于小程序的评价 - “我们决定不做了。我们知道小程序是什么了。哈哈,但是不能说。”这句话令很多人猜测小程序自身到底发生了什么。
到底小程序适合什么类型的产品
其实罗辑思维的退出并不是因为小程序发生了什么事情,而是“得到”这个应用的产品类型并不适合用微信小程序的方式承载。
微信小程序的定位是:无需安装、用完即走。而且入口只有扫描二维码或者朋友分享,甚至不支持朋友圈分享。对于到底怎么定位微信小程序每个人可能都有自己的见解,笔者经历的团队中就有多个不同的声音。大领导把小程序当做一种流量入口(目前看来这是最不靠谱的...);产品经理们把小程序当成他们理解的另一个H5,所以功能完全照搬了webapp,完全没有考虑技术上是否可实现,导致开发进度多次停滞;操刀的技术开发人员把小程序看成又一个轮子而已,开发难度不及普通webapp的一半。
当然,以上是不同岗位的人群对于小程序的不同看法。其实具体制定小程序应用定位的是产品,网上有很多先行者对此进行了大量的讨论,比如知乎的热帖微信小程序上线后,市场反应如何?,其中不乏理性的声音。
以笔者使用过的几个微信小程序为例,简单说一下自己的感想。
1. 今日头条Lite
这是笔者认为最不适合小程序的产品类型。今日头条的优势在于根据用户的浏览习惯进行智能推荐。这个优势的前提是用户有足够的粘性,长时间多内容的浏览才会对用户兴趣进行更精准的算法定位。但是“用完即走”的微信小程序用户并不会花费大量的时间在一个内容平台上浏览信息(要不然就没法微信聊天了,哈哈),这就令今日头条的优势荡然无存。
2. 美团外卖
这是笔者认为最适合小程序的产品类型。选外卖、付钱,然后就等快递了。不需要再打开小程序看订单状态了,虽然外卖订单有状态信息推送,但我相信大多数人是不看的...
3. 赶集找工作
首先吐槽一下这个小程序必须要登录才能使用,非常蛋疼的设计。用户对于这种找工作应用最依赖的功能并不是浏览招聘信息,而是消息推送(比如最新招聘信息推送、简历状态推送等),这与外卖类软件是完全相反的。所以这类应用并不是“用完即走”的,而是“用完就等消息”。
总结以上,笔者个人认为最适合小程序的产品类型是:低频交易类应用。
总结
总算把微信小程序七日谈系列完结了,洋洋洒洒写了几篇对小程序的一些见解和解决方案,都是个人的理解,难免浅薄了一些,大家权当参考吧。
《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜的更多相关文章
- 《微信小程序七日谈》- 第四天:页面路径最多五层?导航可以这么玩
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...
- 《微信小程序七日谈》- 第二天:你可能要抛弃原来的响应式开发思维
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 上篇文 ...
- 《微信小程序七日谈》- 第一天:人生若只如初见
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 微信小 ...
- 《微信小程序七日谈》- 第六天:小程序devtool隐藏的秘密
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩: 第五 ...
- 《微信小程序七日谈》- 第三天:玩转Page组件的生命周期
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩 前两篇 ...
- 《微信小程序七日谈》- 第五天:你可能要在登录功能上花费大力气
<微信小程序七日谈>系列文章: 第一天:人生若只如初见: 第二天:你可能要抛弃原来的响应式开发思维: 第三天:玩转Page组件的生命周期: 第四天:页面路径最多五层?导航可以这么玩: 第五 ...
- 微信小程序把玩(七)数据绑定
原文:微信小程序把玩(七)数据绑定 数据绑定有一部分前几个看着还行,后面的几个可能有几个不理解,界面展示的数据有的也因为条件没法显示.看不懂的可以先记着,后面真正用到时就会明白,反正我是这样想的.这里 ...
- 如何让微信小程序快速接入七牛云
如果你确定用七牛运行小程序的话,给大家分享一个九折优惠码:61d1fd4d1 月 9 日 微信小程序正式发布,小程序终于揭开了它神秘的面纱,开发者对小程序的追捧更是热度不减.从小程序的热门应用场景来看 ...
- 微信小程序开发系列七:微信小程序的页面跳转
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
随机推荐
- java 并发多线程异步
http://www.cnblogs.com/dolphin0520/category/602384.html 并发 http://blog.csdn.net/column/details/con ...
- fedora 挂载 小米手机 (估计其它android设备也是类似操作)
1 参考ubuntu挂载 在Ubuntu挂载使用MTP设备步骤如下: 1.将MTP设备连接至PC机 2.如果是第一次使用MTP设备需要安装以下软件,否则可以跳过此步骤: $ sudo apt-get ...
- PHP的Cookie、Session和跟Laravel相关的几点了解
这两天通过对Cookie和Session的查找和了解,网上关于它们两个的基础知识点都是差不多的,也收藏了几篇不错的博客,同时自己做了些实验后,有了以下几点了解: 1.setcookie 这里有三个地方 ...
- Eclipse PHP 代码无法自动提示函数
在 linux 系统的 workwpace 里按 ctrl+h,显示出隐藏的文件,找到 .metadata 文件夹,然后将该文件夹删除,再重启 Eclipse 即可.其实它会将之前 Eclipse 连 ...
- FZU 2101 大三的美好时光
DP+离散化. 首先需要把时间离散化,剩下的就是简单DP. 还要判断哪些选修课与必修课时间有重合,我用了前缀和来处理. 注意:这题时间端点也不能重合. #include<cstdio> # ...
- Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(三)
继续, 上文提到的是用BUILD_STATIC_JAVA_LIBRARY在Android4.2源码下编译出来的jar包可以在Eclipse(SDK版本4.1)上使用, 找来Android6.0的源码, ...
- iOS开发——打开手机相册,获取图片
1.添加代理UIImagePickerControllerDelegate 2.设置点击跳转事件 - (IBAction)picButton:(UIButton *)sender { NSLog(@& ...
- 全方位分析Objcetive-C Runtime 分类: ios技术 2015-03-11 22:29 77人阅读 评论(0) 收藏
本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 简介 与Runtime交互 ...
- js生成随机数
//生成n以内的随机数 function getRandom(n){ return Math.floor(Math.random()*n+1) } //生成1000以内的随机数 alert(getRa ...
- MVC分页控件的使用
1. 引用 using Webdiyer.WebControls.Mvc; 2. using Webdiyer.WebControls.Mvc; ) { )); } 3.数据来源 public cla ...