原生混合技术选型记

需求是将一个现有的H5站点封装成APP,接入广告联盟,然后一步一步地改造成原生混合应用。

总结:APICloud的 superwebview 无法使用;DCloud的5+APP,必须使用它捆绑的广告联盟,并且有一大堆审核手续;最后使用 RN,缺点是生成的 realease 空包体大到22M。

 

先考虑使用 APICloud ,因为之前见过APICloud的 混合应用代码,感觉它的IDE要好看点, 肯定靠谱。

有一点让人感到很不舒服,每次启动IDE必须强制登录,虽然注册了账号,也绑定了微信,登录时使用微信扫码,扫了码还要让手动输入手机号和密码,真让人无语。

输就输吧,这年头,手机号码还叫隐私?要就拿去吧。

选了 SuperWebView ,然后发现其实不必使用它的Cloud Studio,下载离线SDK就可以了。加入SDK后,死活无法运行我自己的HelloWorld,连官方离线打包的Demo也跑不通。

其官方文档语焉不详,gradle 用的居然是4.8的,可见是疏于维护,大概只是腾讯的面子工程吧,放弃。

 

然后使用DCloud,它的IDE是 HBuildX,朴素的外表下隐藏着一颗不凡的内心,文档也更新到 gradle 6.2,比我的开发环境还要新,感觉比较靠谱。

使用的是 5+ app,  离线打包,demo很容易就跑通了,满意。

它给的官方Demo编译后包体有10几M,所以就自己编译,加入它的SDK,按照操作修改,主要是修改 AndroidManifest.xml,以及设置 config.json 和 dcloud_control.xml两个文件中的appid,然后再设置一个www路径为 appid的下级,最后编译大小为5M,完美。

虽然它也让注册,注册就注册吧,但是我离线开发为什么要用在线的appid呢?还要登录?excuse me? 你只是个工具,我写个app关你屁事,还要给你上报一下?于是就自己编了个 appid。结果还能跑通。

然后想加个广告,就去穿山甲申请了账号(巨讨厌广告,但是有需求,要提前准备),然后下载穿山甲的SDK,再然后,启动时,提示 “uni-AD业务状态异常”。

我猜测,是DCloud的SDK检测到了我使用了广告穿山甲的SDK,要我开通广告,就得登录账号。完了,这得上报了,不就是用一下你的 webview 嘛,这就要控制我了?

折腾半天,乖乖开通广告吧,实名认证,上传身份证吧。我感觉自己就是一条被他宰割的鱼,让干什么就干什么。

实名认证以后,开通广告,要填一大堆资料,恨不能把祖宗十八代都审查一遍。填就填吧,我只是用穿山甲的,但是必须要勾选360广告,才能开通穿山甲广告。

忍吧。

 

 

 提交的时候弹出这个,刚搭起的工程,正在开发中怎么会有下载地址呢?看来是申请不了了。

哎喂,我想用哪家SDK就用哪家的,又不是从你网站下载的SDK,跟你有什么关系,还不让用了不成?

 

综上,APICloud很流氓, DCloud更流氓。

 

然后果断选择 react native ,纯净,纯原生,可能要比那些js伪原生好点,但不用注册。虽然每次新建工程都要下载一大堆东西。

 

posted @ 2020-08-24 00:05  滴水有灵  阅读(350)  评论(0编辑  收藏  举报