← 返回

Flutter vs NativeScript
Flutter 和 NativeScript 有什么差异?
这里会对比它们的优劣势、支持平台和社区信息。
Flutter
NativeScript
基本信息
维护方
Google首发时间
2017 年 5 月 12 日
维护方
OpenJS Foundation首发时间
2015 年 4 月 29 日
社区
语言
- Dart
- JavaScript
- TypeScript
目标平台
- 移动端Android
- iOS
- iPadOS
- 鸿蒙
- 桌面 / WebLinux
- macOS
- Web
- Windows
- TV / 可穿戴Android Auto
- Android TV
- Tizen
- tvOS
- visionOS
- watchOS
- Wear OS
- 小程序QQ 小程序
- 京东小程序
- 微信小程序
- 快应用
- 快手小程序
- 抖音小程序
- 支付宝小程序
- 百度小程序
- 移动端Android
- iOS
- iPadOS
- 鸿蒙
- 桌面 / WebLinux
- macOS
- Web
- Windows
- TV / 可穿戴Android Auto
- Android TV
- Tizen
- tvOS
- visionOS
- watchOS
- Wear OS
- 小程序QQ 小程序
- 京东小程序
- 微信小程序
- 快应用
- 快手小程序
- 抖音小程序
- 支付宝小程序
- 百度小程序
优势
- 跨平台
一套代码可覆盖多种平台,缩短开发周期、降低维护成本。
- 性能
引擎与框架针对各平台硬件做了优化,整体性能在跨平台方案里较突出。
- 用户界面
内置面向 iOS 与 Android 的 UI 组件,便于做出符合两端设计规范的界面。
- 原生 API
提供与原生 API 的桥接,可访问相机、加速度计等设备能力。
- 社区活跃
社区规模大,文档、教程与示例丰富,遇到问题相对好查。
- 跨平台
一套代码可同时面向 Android、iOS 等平台。
- 原生 API
通过 JavaScript 桥接访问原生 API,无需写 Swift 或 Kotlin 即可调用相机、通讯录、文件存储等能力。
劣势
- 学习曲线
需要学习 Dart,对只熟悉 JavaScript/Type 的团队来说有一定门槛。
- 安装包体积
应用会打包 Flutter 引擎,安装包通常比纯原生应用更大一些。
- 性能
JavaScript 与原生之间的桥接会带来一定开销,极端性能场景可能不如纯原生。
- 社区仍在成长
存在时间不算短,但热度不如 React Native、Flutter,中文资料相对更少。