找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4846

积分

0

好友

626

主题
发表于 1 小时前 | 查看: 8| 回复: 0

苹果刚发布首款折叠屏手机 iPhone Duo ,机器还没正式开卖,跨端开发圈已经先吵起来了。

iPhone Duo折叠屏手机展开显示iOS主界面,Apple Design官方预告片推文截图

Expo、React Native、DartNative 几拨人直接在 X 上杠上了。

Expo、React Native、DartNative三个移动开发框架标志并排对比图

事情起因其实不复杂:

iPhone Duo 这种全新的设备形态,跨端框架到底要多久才能跟上?

iPhone Duo 给跨端框架出了道新题

这次 iPhone Duo 可不只是把屏幕从中间折一下那么简单。

iPhone Duo折叠屏多设备自适应界面拼贴图,展示手机、平板、折叠屏上同一应用的多种布局

它配备了 5.4 英寸外屏 + 7.6 英寸内屏,开合之间,App 需要在完全不同的尺寸之间动态切换。

同时还有双屏显示、折叠姿态、Split View、非对称 Safe Area、竖向导航栏等一整套新的交互场景。

Apple 官方甚至专门强调:开发者需要重新审视 动态布局、Size Classes、导航栏以及不同折叠状态下的界面表现

原生 SwiftUI / UIKit 自然不用担心,苹果肯定第一时间给支持。

React Native 和 Flutter 怎么办?

Marcin Krzyzanowski吐槽Flutter未赶上iPhone Duo的推文截图

这才是大家真正关心的。

Expo:已经在跟了

发布会刚结束没多久,Expo 官方直接晒出了 iPhone Duo 的适配进展

Expo官方发布折叠屏手机3D渲染视频,回应iPhone Duo挑战

速度确实快得离谱。

这其实也是近几年 Expo 一直押注的方向:Apple 每推出一轮新的系统 UI、组件和能力,Expo 都争取第一时间把它们带进 React Native

尤其现在的 React Native 已经进入 New Architecture 时代,FabricJSI、原生组件体系越来越扎实,Expo 自己也一直在往更深的系统能力里钻。

所以 iPhone Duo 一亮相,Expo 迅速跟进,不算特别意外。

真正有戏剧性的是——隔壁 DartNative 看不下去了

DartNative:这有什么好吹的?

DartNative 作者 Ioseph Magno 很快发帖回应。

DartNative作者回应iPhone Duo原生支持声明推文截图

DartNative作者声称Flutter开发者获得原生系统支持及性能优势推文截图

意思很直接:

Expo 那帮人总爱拿“快速支持苹果原生能力”当卖点,但现在 DartNative 同样能快速支持 iPhone Duo

包括:

  • 原生导航栏
  • 原生组件
  • 系统动画
  • 最新的 iOS 原生能力

最后直接撂下一句:DN > RN

Flutter开发者发推称React Native已被击败,附ChatGPT Flow应用演示视频截图

火药味瞬间拉满。

随后 React Native 社区的开发者也加入混战,这件事很快从“谁先支持 iPhone Duo”升级成了那个经典争论:

跨端框架到底谁更接近原生?

DartNative 凭什么敢直接叫板 React Native?

这就得聊聊 DartNative 这个最近刚冒出头的项目了。

它的定位相当有意思。

你依然写 Dart,API 设计上大量继承了 Flutter 的使用习惯,但底层链路大致是:

Dart → DartNative → FFI / JNI → UIKit / Android View

举个例子,一个列表,在 Flutter 里最终由自己的渲染体系绘制。

到了 DartNative:

  • ListViewUITableView / RecyclerView
  • TextUILabel / Native Text
  • TextFieldUITextField

也就是说,它直接调用平台自带的 UI 控件。

DartNative品牌标志,彩虹渐变n字母logo及REAL NATIVE APPS WRITTEN IN DART标语

DartNative 官方把口号写得相当直白:

Real native apps, written in Dart.

同时强调自己没有 Impeller、没有 Skia、没有 JavaScript Runtime,通过 Dart AOT 编译后直接驱动原生 View。

这就有意思了。

它刚好卡在 Flutter 和 React Native 中间

如果粗暴一点理解,三条技术路线的差异大致是这样的:

Flutter

Dart → Flutter → Impeller / Skia → UI

React Native

JavaScript → React Native → Fabric / Native Components → UIKit / Android View

DartNative

Dart AOT → FFI / JNI → UIKit / Android View

所以 DartNative 瞄准的位置很清晰:

保留 Flutter 开发者熟悉的 Dart 和 Widget 开发体验,同时直接使用原生 UI。

这也是为什么 DartNative 一露面,就疯狂强调键盘动画、滚动手感、文字渲染、原生输入框、Liquid Glass 这些细节。

因为这些恰恰是“用起来像不像原生”最容易露馅的地方。

DartNative 官方目前甚至宣称可以使用真正的 UITableView / RecyclerViewUILabelUITextField,以及 iOS 的 Core Animation

那 React Native 真被吊打了吗?

还真没那么简单。

首先,现在的 React Native 早就不是当年那个 Bridge 满天飞的 RN 了

随着 JSIFabricNew Architecture 不断成熟,JS 和 Native 之间的调用方式已经发生了根本性变化。

再加上 Expo 这些年疯狂补基础设施、原生模块和 Router,React Native 手里最大的牌依然恐怖:生态

DartNative 官方目前公布的是 34 个第一方插件,框架也才刚刚进入开发者视野。

React Native 背后却是一个发展多年的庞大生态。

支付、地图、推送、相机、监控、登录、动画、第三方 SDK……

真正落地商业项目时,这些东西可能比 Benchmark 多出来的那几帧重要得多。

另外,DartNative 官网那些 120fps、Zero stutter、DN > RN 的性能描述,目前主要来自项目官方自己。

在更多第三方 Benchmark 和真实大型项目验证之前,先别急着封神。

写在最后

技术圈的“谁吊打谁”向来不缺流量,但真到了项目里,很难用一句 A > B 下结论。

Flutter 有自己的渲染体系,跨平台一致性强,生态也已经相当成熟。

React Native / Expo 背靠庞大的 JavaScript 和 React 生态,原生能力、社区规模以及商业项目积累都是实打实的优势。

DartNative 选了另一条路,用 Dart 直接连接 UIKit / Android View,思路够新,也确实给跨端开发带来了新的想象空间。

三种方案走的是不同路线,解决的问题也不完全重叠。

对开发者来说,真正要权衡的还是自己的 项目场景、团队技术栈、生态依赖、性能要求以及长期维护成本

技术可以讨论,架构可以争论,Benchmark 也可以拿出来硬碰硬,但没必要演化成技术鄙视链。

能解决问题、能创造价值的技术,都值得尊重。

至于 DartNative 最终能不能成为 FlutterReact Native 之外的第三种选择,不妨给它一点时间。

毕竟在跨端这条赛道上,多一个认真折腾技术的玩家,对开发者来说总归是件好事。




上一篇:Lithe 轻量级 Java IDE 体验评测:内存占用约 300MB,Spring Boot 项目一键运行
下一篇:多Agent架构详解(三):一文讲透Hierarchical分层协同
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-12 02:52 , Processed in 0.407896 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表