-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
为什么一定要上传原生包呢? #407
Comments
这里的关键是,基准包的jsbundle文件和服务器端的jsbundle文件需要完全一致,一个字节都不能差,那如何做到这一点呢? 确实是只需要对比jsbundle文件,但jsbundle文件要如何单独提交呢?如何保证单独提交的jsbundle文件和你分发给用户的最终app完全一致呢?假设一个极端情况,你的jsbundle文件会在打包时把系统当前时间给作为环境变量打印进去,那么即便你一行代码都没改,你先打包jsbundle,再打包原生包,这个时候bundle已经不可能一致了。 |
理论上确实是这样,理论上人为设定也可以代替typescript的类型检查,但现实就是,错误大多是人为的,而自动化才是唯一可靠的解决方案 |
微软的code push 好像就不需要 原生包 |
因为codepush是走全量更新,不做差量对比 |
codepush也是增量更新的 |
不太清楚他们的机制,但我们的增量更新需要做二进制对比,因此要求一个字节都不能差,这样也可以更广泛的支持源文件格式,无论是纯文本js,还是任何版本的hermes二进制 |
理论上原生包的作用只是用于版本判断,真正需要的信息应该也就是编译时间、版本号、jsbundle文件;
其中,jsbundle文件可能会用于差量更新,暂且理解为必选项。
但编译时间、版本号可以通过人为设定的方式而不是上传原生包的方式实现。
上传原生包这一过程,提高了发布流程的复杂性,也不方便开发者理解,可不可以在后续版本中取消这一流程呢?
The text was updated successfully, but these errors were encountered: