很少看到人问:“小程序和App有什么共同点?”。大家都已经习惯在微信里面使用小程序、在支付宝里面使用小程序,小程序和主体App(我们先给他取个名字,称之为“宿主”)之间到底有什么不同?
我们在微信中使用小程序时,小程序不主动出现,需要搜索或是他人分享、自己扫码,当我们进入小程序的时候,我们明确的知道:这是小程序,这是微信里面的小程序,我现在不在微信里面啦。因为微信是聊天的,微信小程序不是聊天的。小程序和“宿主”之间在某种意义上来说,是割裂开的,我们明确知道他们是不同主体,来源不同。
支付宝的体验感又不一样,支付宝几乎全部功能都是一个又一个的小程序堆积起来的,我们从一个功能到另一个功能。这个时候,支付宝和支付宝小程序之间,我们会很明确的说,他俩不一样么?好像没有,支付宝好像天然就是一堆服务的集合体,现在这些集合体不是H5网页,变成了小程序,但用户个体的感知差异倒还不大。
所以小程序和App的区别在哪儿?共同点在哪儿?
我觉得除了技术层面的,更应该在用户使用层面和App自己想传达的内容上去做考虑。
作为宿主,是想让用户明确知道你现在在一个“沙箱”里面,你现在使用的功能不是我提供的,是第三方提供的?还是让所有功能都暴露出来,用什么方式不重要,反正你用就对了。
前者是微信思路,后者是支付宝思路。
那对于普通App或者是普通小程序开发者而言,能做到么?
通常情况下,很难,我们永远都只能在巨头的碗里跳舞。只能在微信的平台开发微信的小程序,下载源码之后,拿去支付宝,还得改N多代码,反正巨头们只管自己的生态,哪儿管你我这些小开发者。
那你做的小程序压根没法在微信/支付宝以外的地方和用户见面,谈论“小程序和App的区别”有什么价值呢?
你根本没办法去验证、去实验,你是否设想过在自己的APP里面运行你写好的微信小程序?或者是通过小程序的方式对接第三方服务?小程序技术在巨头的碗里如火如荼,难道不能被自己所用?
另一方面,如果你的APP本身就能支持小程序运行,你开发小程序、上架微信的同时,同样的代码能直接用在自己的App上,业务功能开发完全不用两套人,App原生部分再考虑考虑flutter等技术。人员是不是极度精简?是不是美得很?
我觉得可以试试,通过凡泰小程序平台,打造自己的小程序生态,让自己的小程序能够运行在自己的APP里面;一次开发多处上架。