Skip to content
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

是否有计划支持新架构? #833

Open
ShaoGongBra opened this issue Aug 16, 2024 · 25 comments
Open

是否有计划支持新架构? #833

ShaoGongBra opened this issue Aug 16, 2024 · 25 comments

Comments

@ShaoGongBra
Copy link

新架构推出很长时间了,新架构提升还是比较明显的

@ShaoGongBra
Copy link
Author

RN0.72以及之后版本可以在开启新架构的情况下,兼容未支持新架构的模块了

@qiuxiang
Copy link
Owner

我之前看过新架构,要写一套新接口对接新架构,旧的接口还要保持兼容想想就累。即便是开新坑只支持新架构,现在也提不起劲去做,一方面是我已经 all in flutter,另一方面我已几乎没有开源的热情。

@ShaoGongBra
Copy link
Author

我之前尝试过把这个项目兼容新架构,但是太复杂了,放弃了,我只是个小菜,之前我试过一个简单的兼容新架构react-native-fast-shadow,这个成功了

@ShaoGongBra
Copy link
Author

请问个问题如果拿RN的新架构和fultter比较的话,分别有什么优势和劣势

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

RN 与 flutter 构建 UI 方式的本质区别在于,flutter 的 UI 是自己的引擎绘制的,而 RN 是 js 驱动原生 UI 控件。RN 新架构只是优化了与原生通信的方式,本质并没有什么变化。

从整体来看我没有觉得 RN 和 flutter 有绝对的优劣,我偏向 futter 主要因为其工具链更完善、接口设计更合理,作为库开发者我可以比较明显的感受到,flutter 库的开发维护更省心。

@ShaoGongBra
Copy link
Author

就比如说这个高德地图,flutter是怎么把高德地图的ui界面绘制在界面上的

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

这是 flutter 的一个软肋,ios 和 android 情况还不一样,desktop webview 迟迟还不能实现,推荐你看 https://juejin.cn/post/7260506612971339832

@ShaoGongBra
Copy link
Author

这个文章确实讲的比较明白,就好像微信小程序在WebView里面插入原生组件一样,我之前就了解过,fultter对原生带界面的组件很难开发,这样说的话,类似于开发一个高德地图的fullter插件,似乎比开发RN的高德地图插件难度更高,维护性更差

@ShaoGongBra
Copy link
Author

我看高德地图的fultter插件是不是都不更新了,现在还有能用的吗?还是没有这种需求

@ShaoGongBra
Copy link
Author

这是 flutter 的一个软肋,ios 和 android 情况还不一样,desktop webview 迟迟还不能实现,推荐你看 https://juejin.cn/post/7260506612971339832

你说的desktop webview 是指的windows,还是安卓 ios

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

这个文章确实讲的比较明白,就好像微信小程序在WebView里面插入原生组件一样,我之前就了解过,fultter对原生带界面的组件很难开发,这样说的话,类似于开发一个高德地图的fullter插件,似乎比开发RN的高德地图插件难度更高,维护性更差

实现难是 futter 框架的事,并不意味着开发者要开发维护原生组件难,因为 flutter 已经把实现细节屏蔽了,并且提供了稳定统一的接口。事实上正是因为 flutter 更合理的接口设计,使得第三方库的开发维护都比 RN 轻松。

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

我看高德地图的fultter插件是不是都不更新了,现在还有能用的吗?还是没有这种需求

看起来百度的还在更新,我之前用到的地图是自己封装的,没开源。目前的产品没这方面需求了。

你说的desktop webview 是指的windows,还是安卓 ios

指 windows、linux、macos

@ShaoGongBra
Copy link
Author

好像国内的RN不太行,各种库不更新,但是老外的库三天两头更新,国外可能用的还是挺多的。
我们是要开发小程序,用Taro 开发小程序 和 RN

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

uniapp 的技术路线和 taro/RN 类似,现在中小公司大都考虑 uniapp。RN 新架构性能绝对完爆 uniapp,但 react 在国内普及程度就是不如 vue。

@qiuxiang
Copy link
Owner

qiuxiang commented Sep 2, 2024

好像国内的RN不太行,各种库不更新,但是老外的库三天两头更新,国外可能用的还是挺多的。 我们是要开发小程序,用Taro 开发小程序 和 RN

我在二线城市,react 都很少有岗位,RN 可以说几乎没有,flutter 还有一点。我也就很早之前个人项目用到 RN,后来就再也没用过,如果我在一家公司做 RN 开发,这些 RN 库我还是愿意继续维护的。

@ShaoGongBra
Copy link
Author

uniapp 的技术路线和 taro/RN 类似,现在中小公司大都考虑 uniapp。RN 新架构性能绝对完爆 uniapp,但 react 在国内普及程度就是不如 vue。

是的国内用vue的人太多了,我是感觉vue写起来太难受了,react写起来更舒服些,用RN性能也好些,我现在也是弄个了小框架,开发速度也是比用vue还快,还能生成RN

@ShaoGongBra
Copy link
Author

好像国内的RN不太行,各种库不更新,但是老外的库三天两头更新,国外可能用的还是挺多的。 我们是要开发小程序,用Taro 开发小程序 和 RN

我在二线城市,react 都很少有岗位,RN 可以说几乎没有,flutter 还有一点。我也就很早之前个人项目用到 RN,后来就再也没用过,如果我在一家公司做 RN 开发,这些 RN 库我还是愿意继续维护的。

我也不是纯搞RN,只是开发小程序顺带开发的RN,而且我这是纯搞外包项目的,也没有特别深入研究,技能点全部点在开发速度上了,我还自己开发了ui库 https://github.com/duxapp/duxui

@wangzhi17
Copy link

我可以做新架构方面的代码整理,帮我合并代码和审查代码不知道作者方不方便

@ShaoGongBra
Copy link
Author

我可以做新架构方面的代码整理,帮我合并代码和审查代码不知道作者方不方便

作者要是不方便的话,你可以单独开一个库呀

@ShaoGongBra
Copy link
Author

我可以做新架构方面的代码整理,帮我合并代码和审查代码不知道作者方不方便

有大佬继续贡献的话,真是太棒了

@wangzhi17
Copy link

单独开个库也可以,还是先看作者的想法

@wangzhi17
Copy link

前期是只支持新架构,后期考虑兼容旧架构

@ShaoGongBra
Copy link
Author

单独开个库也可以,还是先看作者的想法

作者应该会处理的,他只是没时间开发,合并应该还是可以的

@ShaoGongBra
Copy link
Author

前期是只支持新架构,后期考虑兼容旧架构

我觉得完全没有必要,想使用旧架构的,直接用旧版本好好了,现在RN也是默认使用新架构了

@wangzhi17
Copy link

前期是只支持新架构,后期考虑兼容旧架构

我觉得完全没有必要,想使用旧架构的,直接用旧版本好好了,现在RN也是默认使用新架构了
好像也是哦

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants