最近同事有一个沙龙的分享,是关于RN的。讲得挺清晰的,我还是听懂了的。
开发上还是需要原生的同事参与,但是部分页面的功能可以交给RN去做,能减少一点两端的同事的开发工作量。同事反馈实践了半年,坑比较少的。
感觉是挺好的一门技术,能较大的减少页面逻辑开发的工作量/提高工作效率。
听之前我其实是有几个问题想问的,我带着电脑过去听的,所以现场悄悄的反编译了他们做的应用。再结合听到的东西,算是有个初步的印象了。本文的目的只是留个备忘。
我的问题:
1,需要对大内存图片做特殊处理吗?
实际上RN部分现在他们的资源大小只有1.5M,其他的逻辑都是在原生做的。android增加4M,iOS增加十几M。按照这个size,是没有大图片的。实际上,我猜图片的东西,应该是js框架自己处理了。我解开android的apk,发现了一个通用的图片加载库。
2,有做推送吗?推送是平台相关的,这个是怎么处理的?
这个应该是原生的同事处理的,RN只是写了页面逻辑。搜索H5部分的代码,没看到这部分的逻辑。只有页面逻辑。
3,h5部分的资源有做加密/混淆吗?
反编译之后,看到js/css有做资源压缩。Html没做处理,这个直接放在assert中。所以原生如果没有做安全的那些东西,对APP的功能修改会比较简单,恶意破坏也比较简单,比如加个广告条之类的。安全性的问题还是只能原生自己解决。
4,能跟随系统变更语言吗?
反编译之后,看到几份HTML的资源,资源对应着不同语言,应该是支持了的。