感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

React Native与Lynx框架大比拼

翻过高山走不出你
关注TA
已关注
手记 257
粉丝 31
获赞 67

有什么不同?为什么应该关心?

前几天收到一条消息,对方问“嗨,Lynx只是React Native吗?”我当时愣住了,心想这Lynx到底是什么玩意儿?

他们自称是“类似的精神”,但又不一样。

在他们的博客文章中,他们将Web的跨平台历史介绍给读者。这似乎在暗示,他们将是进化的下一步。

来源:https://lynxjs.org/blog/lynx-unlock-native-for-more.html

但 Lynx 是下一步吗?让我们来仔细看看吧!

Lynx 和 React Native 有什么不同?

我认为有几个关键的不同可以帮我们分辨这两种技术。

lynx 架构:

Lynx 拥有一个高性能的 Rust 引擎。如果你喜欢 Rust,你会觉得它的 Rust 工具很亲切。这种架构带来了原生的惊人速度提升。

Lynx 还具有双线程执行,将 UI 和重型计算分开处理到不同的线程。渲染直接到原生,跳过了 React 的虚拟 DOM 部分。

React Native 的架构:

React Native架构的选择取决于你的项目版本。最初的JavaScript桥限制了性能,但新的架构直接与无桥层通信,消除了这种延迟,并允许JS与C++、Swift、Kotlin以及其他任何编程语言之间的同步调用。

最近,React Native 引入了新的 UI 层(Fabric),按需原生模块(Turbo Modules),并通过 React 18 和 Suspense 功能实现了并发渲染。

Gant 的热门观点: 在语言之间做出选择并不一定是一场好争论。无论是 Rust 还是 C++,都是打造优秀解决方案的优秀工具!我相信在不同的基准测试中,性能会有差异。React Native 在缓存和热更新方面表现优异,而 Lynx 则似乎更注重 UI 层的纯粹速度。

Lynx 样式和开发体验和使用感受:

Lynx 提供真实的 CSS 样式功能。它支持动画、过渡效果,以及选择器。这种样式对现有的 web 开发人员来说非常友好。

React Native 的样式和开发体验感:

React Native的样式使用的是CSS的一个子集,以提供跨Windows、AppleTV和iOS/Android等多个平台的一致体验。在React Native中,你受到更多来自操作系统的限制。

Gant 的即时观点: Web 开发者会发现 Lynx 中的所有 CSS 都很有用。React Native 也可以实现同样的设计,但 API 更简单。较小的 API 的好处是你的代码可以在所有 React Native 主平台上运行,而不仅仅限于 web/ios/android。

Lynx: 网页整合:

Lynx 承诺像 Flutter 一样实现无缝的网页整合(但 Flutter 的情况我们也有目共睹)。这提供了一个单一的代码库,可以为小型和大型设备共享逻辑和代码。

React Native Web 整合:

React Native要求你将Web也作为一个平台来支持。虽然你可以在每个平台之间共享代码,但这并不是直接可用的支持。你得用像react-native-web这样的库来支持Web平台。

Gant 的独到见解: 如果你想让网站与移动或桌面应用有不同的功能或界面,React Native 是一款非常适合的工具。你可以让 React 开发者用 React Native 来维护应用。然而,如果你希望实现 100% 代码共享,并且你是一家以 web 为主的公司,那么 Lynx 让 web 成为项目的一等公民的承诺是一个优势。

猞猁的灵活性:

Lynx 内置了 ReactLynx(基于 Lynx 的 React)作为初始前端框架,但其设计初衷是无框架依赖的。这为使用诸如 Vue.js 或 Angular 等流行框架提供了可能。这些框架是否会得到实现?这将取决于未来的发展。

React Native 的灵活性:

React Native 可以运行在多个平台上。虽然 Meta 是主要的贡献者,但发布会议通常都有微软和亚马逊的员工参加,这两家公司为了实现跨多个设备的一致体验,已经在该库上投入了大量资金。React Native 始终是运行在原生 Swift、Kotlin 或 C++ 之上的 React 代码。

Gant 的即时观点: Vue 一直在等待这样的机会,但说现在还太早,它是否能成为真正的颠覆者尚不得而知,也可能像 Flutter 一样最终被遗忘。请谨慎投资。

最后的想法

Lynx 确实很对我胃口,很酷。

  • ✅ RUST
  • ✅ 从UI线程中剔除逻辑
  • ✅ 简洁高效
  • ✅ 由字节跳动支持

然而,我也发现智慧源于痛苦。React Native 今年已经十岁了,正好步入第十个年头,它经历了反复的审查,被抛弃,最后从灰烬中重生,成为了顶级的跨平台解决方案。Meta 的新架构愿景还差得远,但相比旧的桥接模型,它已经有了很大的进步。它仍然是一个由 JavaScript 驱动的方法,既有优点也有缺点。

如果让我打赌,我会说Lynx可能在周末项目中流行起来,从而成为最新的“酷”应用开发方式。

在那次经历中,Lynx会发现一些在字节跳动从未遇到过的问题——缓存问题、加载时间、莫名其妙的错误、得不到足够的支持等。如果Lynx能挺过这些难关,他们有机会在未来几年内尝试新的React Native架构。

Gant 的热评: 如果你打算周末做个项目,选择 Lynx 会是个有趣的选择。它还有很多未开发的潜力,既有好的一面,也有挑战的一面。有可能引领新的前端框架风向。

如果你要向老板推荐 Lynx,不妨先想一想。过去十年中,许多公司已经为 React Native 的安全性和成功投入了大量资源。React Native 的支持容易获取,可以从各个级别的开发者那里找到帮助,也容易找到 bug 修复。它既适合 React 开发者,也适合 Native 开发者。

总之:

无论你是初创企业还是财富500强,React Native都是构建可跨平台共享代码的可扩展应用的最佳选择。你的团队可以立刻投入并开始开发。

我们知道,React Native 拥有一个来自不同公司的团队,他们把整个移动业务方面的成功都押在了 React Native 上。

说了这些,Lynx 的一个侧面项目将在聚会和会议中成为热门话题。LLM 和代码辅助 AI 并没有终身保障,你可以勇往直前。但要小心,支持开源可能代价高昂且耗时。就像在拉斯维加斯一样,只能用你愿意失去的钱和时间。

免责声明: 请对我的建议持保留态度,就像品尝一点美味的喜马拉雅盐一样。没错,我经营着一家 React Native 公司。不过,我们并不总是在使用 React Native。在我的25年编程生涯中,我尝试过各种技术。我们在 Infinite Red 使用 React Native 是因为它目前非常适合解决真实世界中的客户需求。我尽量在本文中保持公正,分享我的看法而不带偏见。

随便查查吧!

React Native的网站:
React Native · 学习一次,使用到处 原生应用软件 使用 React 构建的框架 reactnative.dev
Lynx 的官网:
Lynx 赋能网络社区并吸引更多人创建跨平台应用 lynxjs.org
关于Gant(品牌)

Gant Laborde 是 Infinite Red 的首席信息官,作家、客座讲师、演讲者以及正在训练成为疯狂科学家。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP