首先感谢您的邀请,但这不是一个好问题。题主没看懂小程序是什么意思。
有受访者表示只要重写Page对象中的方法,定制一个wx对象来接管wx等接口。其实不然,太理所当然了。不知道如何编写程序很难。
微信从2016年开始开发小程序,现在运行库已经升级到1.4版本。有很多聪明的工程师在上面花费了大量的汗水,还没有完善,像张小龙所设想的“群里看到的小程序是动态的”还没有实现。如果题主认为,相当于重新创建了一个小程序来运行。这个难度可想而知。而且,小程序所依赖的底层接口,如网络请求、地图浏览、录音回放、视频回放、地理位置获取、指南针信息采集等,在微信上已经进化成熟。重新创建小程序,不是重建小程序本身那么简单,微信也一样?
说一下题主提到的自行车小程序,我们以它为例。小程序加载的地图是微信自带的地图组件,而H5页面加载的地图不是。另一方面,小程序运行时,没有父环境,但H5页面有。手机屏幕很贵,44像素的差距有时就是云泥之别。再者,不符合iOS手机的用户使用习惯。强制所有终端统一一套代码,要么减少力度,要么增加麻烦。微信、淘宝等App,iOS和iOS分开开发,只有个别页面使用技术。
张小龙推出小程序的初衷是为了简化App开发,降低商家的运营成本。但正如标题所有者所希望的那样,情况恰恰相反。
那么有没有办法尽可能统一多端代码呢?
一些,但不是全部,只有部分或大部分
统一各终端前端使用的接口,统一使用rest api提供数据服务。程序员明白这一点,无需多说;但需要注意的是,界面要分版本号,要注意各个终端的升级和维护,避免新旧版本混用,滥用同版本界面。具有很多操作性质的功能页面,例如主题页面,都是用H5编写的,以Web的形式提供。加载各个终端的技术,通过js进行交互。目前小程序中没有加载H5页面的组件,除了小程序,其他终端都可以使用。在小程序端,只能使用统一接口。结合自己产品的业务逻辑,编写一批代码生成工具。比如小程序的UI是根据web端的UI自动生成的,同时生成小程序的JS逻辑页面。这样可以在一定程度上有效提高代码复用程度,降低维护成本。这方面没有统一的现成工具,需要自己基于第三方工具搭建小程序开发工具如何连接,比如etc。
不小心回答了这么多,不知道能不能解释清楚,哈哈。如果您有任何问题,请随时提出。