<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

简介: 每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206最近几个月一直热火朝天张小龙最近要把应用折叠到微信里,这些应用被他称为:小程序。

每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206


最近几个月一直热火朝天张小龙最近要把应用折叠到微信里,这些应用被他称为:小程序。
#什么是小程序?张小龙原话描述如下:

#小程序尝鲜




每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206



1.小程序 VS APP

微信小程序有些类似于上面寄生在支付宝里的各类服务。他们具有业务简单、明确,使用频率较低(你不可能每天都交话费、也不可能天天都交水电费)等特点。这类服务,如果单独做成App,一是开发成本高,二是用户的手机空间有限,所以把这些小的服务都“折叠”进微信中,无需下载安装,用户想用时就搜一下,用完即走。

轻量级、功能单一的服务适合小程序;而业务复杂的应用适合用App。这里不太认同主流媒体们说的:低频适合小程序,高频适合App。这个说法太绝对,低频高频不应该成为合适不合适的分界线 。微信本来就是超高频应用,很多人一天要打开十几次吧,我在使用微信的时候顺手就使用了小程序服务,这个场景是不是也合情合理?我认为微信的超高频使用次数可以弥补小程序入口较深的缺点(而且入口究竟在哪里官方并没有给出准确的位置)。此外,低频高频是个非常模糊的概念,很难去界定,一天用一次算低频还是高频?支付宝算低频还是高频? 所以,不要被低频和高频限制你的思维,这个真的不是关键。

轻和重是从小程序和App的特性上在区分两者的差异,这里我提出一个按产品规模划分小程序和App的观点: 绝大多数创业者将在MVP阶段,采用小程序方案;而当产品发展到一定的规模,创业者依然会开发自己的App。



美味不用等最初只在微信里向用户提供“排队叫号”服务。你只需扫描一下店家的二维码,就可以去逛街了。这个服务号会在快排到你的时候向你发送一条微信提醒,你不需要守在店里排队。 这样的一个场景放在现在,非常适合使用小程序来开发,它满足业务简单、频率不高的特点(你不可能一日三餐都在餐馆吃饭,又恰恰每次都要排队)。在用户数量达到一定的规模后,美味不用等迅速推出了自己的App,尝试将用户向自己App内转移。 围绕着“排号”这个核心功能,美味不用等App增加了点评、实景拍照、排行榜、美食专题等一些列附加功能。这样从一个简单的MVP产品切入用户某一痛点,成功后旋即推出一系列被“链接的功能”,这在互联网产品里太常见了。滴滴从在线打出租车切入,发展到专车、快车、拼车、代驾、班车、巴士;罗辑思维从一个每天推送一条语音的自媒体,到在微信里卖书,再到现在推出自己的App得到。为什么美味不用等和罗辑思维在微信生态中做的相当成功后还要推出App?就在微信内部深化产业链不好吗?可能有以下三点原因:

第一:单一的服务在中国极难产生回报,产品需要不断的链接。国内的付费习惯还没有养成,想靠出售服务盈利在目前情况下很困难,尤其是To C的产品。大多数产品会依靠一款拳头产品切入市场,在获取用户后,开辟一系列增值业务和附加功能,这才可能有盈利的想象空间。任何一个产品都很难保持克制和不膨胀,这是资本、模式的需要。张小龙一直讲克制,一直和腾讯内部诸多“势力”博弈,但微信还是成为了一个超级App,日渐臃肿。由简单到复杂,由低级到高级,这是商业模式的趋势,也是万物进化的规律。如果你熟悉成熟互联网公司的业务分布是多么的广泛,就会对这个结论不足为奇。

那么小程序有可能承载这些附加的增值业务,允许开发者逐渐完善自己的产品及商业布局吗?目前看来,可能性比较小,因为这和小程序的初衷是相违背的。即使微信放开政策,可以 想象的空间也很小,你只能在微信给你划定的一个小范围内做流量的变现,这远远不及独立出一个App所带来的价值。

第二:对于微信生态的不信任感,导致了这种“逃离”。最近和一个创业者聊天,我问他,小程序来了,你还考虑做APP吗?他说:做,小程序和APP都会考虑做。我问他为什么?他说:我总感觉小程序不是我自己的,而APP会给我一种踏实的感觉,我会觉得我对APP有绝对的控制权,即使做小程序也只是为了给我的APP引流。 有这样感觉的人应该不在少数,可能是对Web App技术的不信任,可能是对于将应用建立在另一个应用这种模式的不信任,也有可能是对腾讯的不信任。

腾讯对于自己利益保护是毫不手软的, U步、虾米音乐、微软小冰,都曾被微信封杀过。淘宝就更不用说了,相爱相杀,斗智斗勇,年年都是大戏。孰是孰非,很难界定。这些产品由于只是借助微信的关系链,而并非完全寄生于微信,被封杀也只是少了一个推广途径,没有了微信还有微博等其他媒介。 而完全根植于微信生态的小程序,如果被封杀或是被规则打压,几乎没有退路可走。

那App就很可靠吗?目前看来确实比小程序要靠谱很多。主要一点还是生态主宰者的格局 。无论谷歌还是苹果,都是科技界的顶尖公司,这样的公司盈利手段、业务方向、产品级别都要高出普通公司若干个等级,他们关注的是科技趋势和标准发展,很少在消费业务上同创业者竞争。此外,谷歌与苹果对于开发者更多的是抱有“合作心态”,我需要你帮我壮大生态,你需要我为你提供平台。这些引领科技方向的公司,更容易给创业者们足够的信心。相反,腾讯投资了很多的C端消费领域公司:京东、滴滴、饿了么、人人车、SuperCell、盛大文学、龙珠直播,几乎覆盖了电商、金融、娱乐文化、O2O、在线教育等各个领域,创业者几乎不可能绕开腾讯的利益圈。腾讯既是裁判也间接的是运动员,能否保持一个公正和开放的态度,还需要时间来验证。

第三:生存在AppStore和微信夹缝中的小程序将承受更多规则压力。在微信内不仅会受到微信的政策压力,还会受到苹果的压力,小程序的政策环境只可能比AppStore更加苛刻。小程序虽然支持HTML5的Canvas,但据说苹果不允许在小程序里做游戏;每个用户可能最多只能安装20个小程序;这些限制是外部规则的第一个压力。毕竟微信是寄托在另一个生态上的App,本身就会受到约束。 随着小程序生态的演进,这样的内外部压力会逐渐增强,创业者们再次选择App也就不是什么稀罕事儿了。

所以,小程序更多的会和原生App互补,服务于产品的不同阶段。建议创业者在产品早期用MVP思维来构建一个小而美的产品,开发成小程序来试错,利用微信天然的获客能力和传播链条来推广。后期再考虑将流量引到原生APP中进行流量变现。

虽然有以上诸多不稳定因素,但小程序生态的出现对于整个中国互联网的发展依然是个利好,它给了独立开发者以及初创团队更多的想象空间,以前不敢尝试的idea都可以借助小程序这个平台进行试错,我们期待更多小而美的产品在微信中爆发。 

2、已存在的众多App将如何应对小程序的到来?

按照目前小程序的定位,位于AppStore榜首的中大型应用,不是小程序的“那盘菜”。小程序更适合轻量级且功能单一、操作简单的产品。大部分的产品还是会以原生APP为主。

但我预计,各类应用(阿里系的产品除外)大部分都会推出相应的小程序版本 。适合小程序的顺其自然开发一个小程序版本的应用;超大型应用也会想办法将自己的业务拆分出一部分来开发成小程序。原因有以下3点:

蹭热点,刷存在。难得的无公害、低成本营销手段,何乐而不为?

多一个流量的入口,微信的关系链还是不容小觑的。

也是最重要的一点:小程序的未来是星光璀璨还是黯淡无光,谁都不能肯定。那么面对不确定的因素,做好防御性的姿态是很重要的。没有比率先在新生态推出自己的产品更好的防御措施。尤其对那些没有技术和数据壁垒的公司,产品很容易被取代,必须做好一些列的防御措施。支付宝、QQ、微信等超级应用都曾以观望的姿态在WP平台推出自己的产品,那产品质量和版本更新速度差的简直不忍直视,“察言观色”的态度不言而明。反正这个平台有我的产品,平台发展的好用户量多我就加大投入,完善版本;有竞争对手的产品出现,我就快速迭代迅速扼杀;如果平台发展的不好,反正也没投入多少,挥一挥手跟微软说拜拜就是了。 

3、张小龙说的搜一下即可打开小程序到底是个什么鬼?

张小龙在那段被发烂的微信截图中提到:用户扫一下或者搜一下即可打开小程序。扫一下这个场景很容易想象到,将二维码附加在各类营销活动中,用户扫描或者长按二维码即可打开小程序享受服务。但我更感兴趣的是“搜一搜”这个动作。这个搜一搜的搜索对象是什么?可以利用语义分析、人工智能来分析用户的行为数据(微信掌握着海量的用户数据)并向用户提供精准的服务吗?

用户做搜索时,其本意是去获取他所需要的信息(服务),而非获取App,他并不关心这个服务来自于哪个APP。现在的原生APP,在信息和服务上加上一层壳,成为一个封闭的孤岛。而用户需要使用服务时,不能直达服务,用户与服务之间隔着一个“壳”,这也是为什么APP会让人觉得很“重”的原因之一。百度当年的“框计算”,也是为了解决信息孤岛的问题,直接以服务为搜索对象,即搜即得、即搜即用(这和现在小程序的理念何其相似),从而拔掉应用这层盖在服务之上的壳,解决信息孤岛的问题。



4、小程序的开发成本真的比原生App低吗?

考虑两个方面,开发成本和推广成本。

原生APP一般要同时开发iOS和Android两套,而小程序只需要做一套。毫无疑问,这点是小程序最大的优势,从这个角度来看,小程序是“跨平台“的。

具体到开发效率上,很遗憾,在现阶段,开发一套完整逻辑的应用程序,小程序的开发效率是低于APP的。小程序独立出了一个封闭的生态。我们经常说不要重复的造轮子,可小程序现在是裸奔,你得自己去造轮子。而iOS和Android经过经年的累积,已有大量的成熟组件可以使用。 相反,小程序目前还处于内测阶段,没有任何优秀的第三方组件可以使用。而官方提供的组件,接口非常的少,实现功能没问题,但你想自己去定义组件属性、样式是很困难的(这点真的很奇怪,所有组件没有任何设置样式的接口)。

我们团队做了个简单的对比,开发同样一款简单的天气应用。iOS拿到UI设计稿后,轻车熟路两天搞定,各种交互不需要UE,都是iOS常用动画。web前端这边,拿着设计稿去找UI:

这个透明的状态栏我没法实现,因为小程序的状态栏必须要有 。 

底部的Tab栏我只能设置颜色和图片,设计稿里的样式我做不出来。 

Banner轮播的指示点我改不了。

UI一脸懵逼的看着他。

我们在小程序开发中遇到最棘手的2个问题:

  • 缺少统计、绘图组件,以前的echarts和hightcharts都无法使用,只能用canvas去绘制,耗费的时间之多可想而知。我们目前正在着手修改一款基于canvas的开源绘图组件,让其支持小程序。

  • 小程序不支持WebView,大量已被静态化好的HTML页面完全没办法在小程序上展示。如果要支持格式化的文本显示,目前思路有二种: 

编写工具,用正则表达式解析HTML,并转化成小程序的标签。这个过程很繁琐,不仅要处理标签还要处理样式。比如html中的 ul 签,处理起来就很棘手;再比如小程序里的中是不能嵌套的(嵌套后内部的text样式无效),而这样的嵌套在html中太常见了。

编写一个针对wxml的文本编辑器,用这样的编辑器重新录入和格式化文本(这就是小程序带来的一个挺好的机会)

小程序原生支持WebView的可能性很小。如果支持WebView,那以前用HTML5开发的各类WebApp又可以在小程序里跑了,iOS —-> 微信—-> 小程序—-> WebView,这复杂的结构是要逆天的。但有可能微信会开放一个只支持CSS+HTML的WebView,不能运行Javascript。

开发者在开发小程序之前一定要预先对这些技术问题做充分的了解,并在设计上、功能规划上尽可能的规避。

现阶段,你想按照你的UI设计去开发,困难不小。有人说目前小程序还在内测,未来会有大量的组件出现。会有组件出现我毫不怀疑,但组件的质量怎么样,开发者的热情有多高,能不能形成一个良好的社区氛围,这些都是未知数。中国能够静下心来做开源的开发者,真的挺少。

至于推广成本和用户获取上,很多人都认为小程序会有绝对的优势,它处于微信内部,理应离微信关系链条更近。可微信至今没有给小程序分享的接口,也许以后会给新的接口,也许会将小程序绑定到公众号,借助公众号来传播,也许根本不给小程序提供分享的接口。

谁知道呢?

APP获取用户成本高的一个根本原因是用户手机里的APP已经饱和了,我们不能拿一个新兴生态的用户获取成本和一个已经饱和的生态做对比。当小程序的生态也饱和的时候,这个成本还低吗?点开你微信里的订阅号,刺目的红色数字有没有亮瞎你的眼?而你又认真去阅读的文章有几篇?大量刷来的用户那不叫用户,想获取一个真实的用户的成本从来都不低。

这里还是建议各位开发者,把精力真正的放在产品上,不要一味的盯着着微信的传播优势和平台优势。小程序由于门槛较低,竞争的激烈程度将远超iOS和Android。Web发展这么多年, 积累的大量前端人才,极有可能被这波热潮释放。把精力投入在打磨产品上,结合自己产品的特点适度营销,这才是王道。

5、订阅号、服务号、企业号、小程序以后会如何发展?

预测一下,订阅号、小程序会并存; 服务号和企业号会慢慢的“死去”。

留存订阅号和小程序是因为他们具备不同的属性:订阅号具有媒体属性,小程序具有服务属性。从目前微信对于小程序在传播、分享上的限制来看,小程序就是做服务,他不具有很强媒体属性,所以这两个不同属性的“号”应该会共存。 

而服务号本身就是个怪胎,是微信为平衡用户体验和高级功能的一个中间产物。大多数的微信媒体、商户、创业团队都同时拥有订阅号和服务号2个号,用服务号的高级接口做服务,然后将链接附加到订阅号的模板消息或者菜单中推广,怎么样都可以绕开服务号的限制。这样的平衡,对开发者没什么好处,对用户来讲,也不见得有什么体验上的巨大提升。既没有订阅号的每天可以群发一条消息的能力,又不具备小程序接近原生的体验(大多数服务号的体验真是差差差差差,你不绑定微信每次进去就要做身份验证,毫无缓存能力,比如招商银行的服务号,每次进去都要输入十几位的身份证号或者卡号,你烦不烦?),那服务号有什么存在的价值。小程序完全可以融合到订阅号中,何苦搞那么多号。当然,张小龙直接砍掉服务号的可能性不大,这个任务交给开发者去选择,自然淘汰就可以了。

至于企业号,本身价值就在于微信提供了一个便捷的企业员工关系链导入和管理工具,仅此而已。用过企业号的都知道,体验是真的差。本身移动端就只适合做信息的展示,不太适合做信息的录入,而企业号又偏偏有大量的信息录入操作,操作极度困难。既然企业号的价值在于便捷的员工关系链管理,那只需要将员工关系链对小程序开放,并给企业的小程序一个沙箱环境,用小程序取代企业号即可。

相比于小程序带来的机会与红利,我更认同小程序的理念,简单、干净、用完即走。而这恰恰是目前互联网产品形态所缺少的,也是用户急需的。小程序在产品理念上给我们的产品经理上了一课:有时候,少就是多,让用户触手可及,才能让创业者和用户站的更近,更容易传递你的商业价值。 


本文参考小楼昨夜又秋风等文章。

每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206

目录
相关文章
|
Web App开发 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
可伸缩系统的架构经验 Feb 27th, 2013 | Comments 最近,阅读了Will Larson的文章Introduction to Architecting System for Scale,感觉很有价值。
2007 0
|
4天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101786 0
|
4天前
|
SQL 关系型数据库 分布式数据库
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
|
12天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
151035 4
|
10天前
|
数据采集 存储 运维
提升团队工程交付能力,从“看见”工程活动和研发模式开始
本文从统一工程交付的概念模型开始,介绍了如何将应用交付的模式显式地定义出来,并通过工具平台落地。
119990 57
|
11天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103503 8
|
12天前
|
人工智能 Serverless 对象存储
让你的文档从静态展示到一键部署可操作验证
通过函数计算的能力让阿里云的文档从静态展示升级为动态可操作验证,用户在文档中单击一键部署可快速完成代码的部署及测试。这一改变已在函数计算的活动沙龙中得到用户的认可。
120842 218
|
11天前
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
11天前
|
存储 缓存 安全
深度解析JVM世界:JVM内存结构
深度解析JVM世界:JVM内存结构