t***@163.com
t***@163.com
  • 发布:2017-03-22 09:50
  • 更新:2018-12-28 21:46
  • 阅读:7244

MUI和H5+做好插件共享就太好了

分类:5+ SDK
   在移动开发框架中,各种框架争奇斗艳,程序员眼花缭乱,各种尝试,却没有一家做到独大,应用开发者都希望大牛出现,结束开发时的纠结,集中精力搞业务。  

   各种框架都努力的解决时下移动开发的问题,我也尝试过n多框架,在遇见MUI和H5+的时候还是挺兴奋的,当然也有很多的问题,那都是可以容忍的,今天要说的是H5+ SDK的插件。  

    现实开发中会遇到各种各样的问题,原生的交互是经常遇到的,H5+ SDK的插件是个好东西,搭建了一个JS和原生的桥梁。可惜的是,一旦自定义了插件,就遭遇了另外的问题:  
    1. 不能云打包了,只能自己搭建原生工具,集成SDK,本地打包,这个倒是也可以接受,但是无疑提升了开发的门槛。  
    2、自定义的插件自己可以使用,但是无法做到随意的共享。目前只有官方提供的几个插件大家都可以使用,比如地图、支付、分享、第三方登录、统计等。  

     如果H5+ SDK能够定义插件规范,让众多自定义插件共享起来,并且提供云打包功能,那么无疑是一个大的飞跃。  

      官方定义插件的具体接口,以android为例,插件规范内容可以包括jar文件规范,so库文件规范,asset下的资源文件规范,插件描述文件等。插件描述文件可以定义插件中的桥的名字;原生组件的定义,比如:activity、service定义;系统级的回调事件,比如应用启动时要初始化的资源等等。Ios开发也可以定义这些规范,由Hbuilder开发环境自动识别这些插件,云打包时,把插件的所有内容上传到云服务器,打包服务自动根据规范处理好插件的内容后再打包。当然也会遭遇另外的问题:  
      a)一旦插件共享,将来会出现多如牛毛的插件,那么是否会遭遇多个插件的库文件版本冲突问题  
      b)如果多个插件共享一些共同的库文件或者资源,这该如何处理  
      c)插件开发环境问题当然可以由Huilder来承担  
      d)插件可以支持Ios或者Android,或者两者都支持,这个如何处理  
      e)插件共享后,是否会让appstore禁用?这个问题我想不会吧,因为所有的插件的更换,都需要重新发布的。目前,插件的更换只要不提供热更新,appstore就不会禁用,Mui提供的热更新只是业务上的热更新。  

       当然库文件的版本和冲突问题都不是问题,可以借助maven或者gradle的思想,创建移动应用插件库,来规范版本的问题。  

       官方定义插件市场,鼓励更多的开发者提供插件,可以提供免费,也可以提供收费,插件市场也可以解决版本依赖的问题。集思广益,MUI 和 H5+才能拥有更多的粉丝,才能让更多的产品使用。  

       设想一下插件共享后的场景:  
       1.移动开发者无需自己再搭建打包环境,如有需求,只需开发插件即可。  
       2.越来越多的开发者贡献自己的插件,移动开发领域如果不会MUI和H5+,就不好意思说自己是移动开发者。  
       3.H5+成为事实上的开发标准,各种移动开发中间件开始开发基于H5+的插件,比如即时聊天产品,各种推送产品,更多统计产品,真正的自由组合。移动开发的春天终于来了。  
       4.等着大家来想吧。
7 关注 分享
BoredApe s***@outlook.com androidjdx ilijiayin w***@qq.com 剑心无间 2***@qq.com

要回复文章请先登录注册

DCloud_heavensoft

DCloud_heavensoft

插件市场已上线:[https://ext.dcloud.net.cn/](https://ext.dcloud.net.cn/)
2018-12-28 21:46
剑心无间

剑心无间

回复 剑心无间 :
即使放在现在2019年的关口也是不过时,phonegap这样的架构还是很多用户的。h5+比之更强,没理由放弃这个生态哦。
2018-12-17 00:25
剑心无间

剑心无间

回复 DCloud_heavensoft :
开放这样的插件市场,官方进行相关的服务收费也是很好的啊。
2018-12-17 00:21
s***@outlook.com

s***@outlook.com

回复 DCloud_heavensoft :
你说的也好理解。不过这样会给一些技术不全的团队带来很大的困扰。比方说,有一个sdk不是我们自己开发的(没有源码),而且对原生开发处于认知阶段,限于hbuilder没有提供这种导入sdk的方式,只能采取离线打包。这个时候我们还需要花费一段时间去学习研究android/ios打包运行环境。这样不是和专注h5开发的理念,背道而驰了吗?
2017-06-25 12:31
DCloud_heavensoft

DCloud_heavensoft

回复 t***@163.com :
可以试试h5的地图,比如神州专车的流应用,就是使用h5地图开发的。
5+在plus.nativeobj下也有nview。
H5组件不能和原生view直接交互,都是通过js桥操作
2017-05-12 05:31
t***@163.com

t***@163.com (作者)

回复 DCloud_heavensoft :
咋一看,mui+5plus很好,但是一直没有知名的app产品,可怜我的两个产品了,搞得太累了!总感觉自己在孤军奋战,社区里的同行关注的不少,真正研究生产的不多!能否透露多一点插件接口,我想研究一下,现在的插件只是js桥的功能,我想插件应该还有H5的组件与原生view的交互功能吧,我这里的业务遭遇瓶颈了,必须要调用原生view实现一些功能,但是插件接口太少呀!!
2017-05-11 18:16
t***@163.com

t***@163.com (作者)

回复 DCloud_heavensoft :
感谢回复,我的观点目的也是为了让更多的用户把精力聚焦在H5上,因此更需要插件共享,毕竟在移动设备上开发,不容易实现很多原生独特的功能,比如各家Im的集成插件,地图的集成插件等等,把插件接口开放,把插件管理集中,让有能力的研发团队去做自己专业业务的插件,让更多用户聚焦在H5,这样才有生命力,我现在有一个App,客户突然要求加入地图功能,我想咱们Mui有地图功能呀,简单,结果坑太大,太多,搞得已经精疲力尽,现在正在给客户沟通看能否去掉这个功能,如果客户坚持,我们解决不了的话,只能放弃这种方案,心里特别纠结矛盾。Dcloud致力于5+的规范推广,这是好事儿,但是有很多的业务不见得专业厂商才能做,关键是插件接口开放的功能太少(只有js原生桥,别的从文档上看不到),广大研发人员即使有好的idea也无法实现。这就限制了功能,也限制了用户!
2017-05-11 18:04
t***@163.com

t***@163.com (作者)

咋一看我需要的好像apicloud都有了哟,我想要的插件共享,apicloud叫做模块store,但是Dcloud可以本地打包,如果Dcloud提供插件共享的标准,那么很多互联网商家可以按照标准推广自己的插件,共享就不是以盈利为目的,我想Dcloud需要快速推出插件共享的标准了
2017-03-23 16:29