京东app使用的不是单纯的H5开发,而是将H5页面嵌入到原生app中的混合式开发。
混合式开发主要有两种方式:一种是将H5页面通过webview嵌入到原生app中,类似于一个浏览器窗口,这种方式的优点是开发门槛低,方便快速迭代和更新;缺点是性能较低,同时还会遇到一些H5与原生交互的问题。另一种方式是通过WebView和JS桥,直接将H5和原生进行交互。这种方式相对于第一种方式来说性能会更好,交互体验更加流畅,但开发门槛会相对较高。
京东app使用的是通过WebView和JS桥的方式进行混合开发。具体来说,京东app中有一个核心模块——京东Native容器,它通过WebView将H5页面加载到原生app中,并提供了一些JS接口供H5页面调用。同时,它还提供了JSBridge桥接工具,使得H5页面可以通过JSBridge调用原生提供的接口,实现更加深入的交互。
举个例子,当用户点击京东app中的一个商品,会跳转到商品详情页面。这个页面使用H5技术开发,并在容器中加载。当用户点击“加入购物车”按钮时,H5页面会通过JSBridge调用原生提供的添加购物车接口。原生app会根据传递过来的参数执行相应的逻辑,比如将商品加入购物车。这样,H5与原生就完成了交互。
总之,京东app使用的是经过深度优化的WebView和JSBridge桥接工具。这种方式融合了H5和原生的优点,使得开发效率和用户体验都得到了有效提升。