写点什么

Flutter:Google 工程师开发的针对 iOS 和 Android 的高性能跨平台框架

  • 2015-11-24
  • 本文字数:958 字

    阅读完需:约 3 分钟

Google 工程师开发了一款针对 iOS 和 Android 的高性能跨平台框架——Flutter。它主要使用 Dart 语言编写,使用自有的渲染引擎来绘制控件,性能上专注于低延迟输入和高帧率,旨在帮助开发者开发高新能的跨平台 2D 移动应用。

需要特别指出的是,在 2013 年,Google 曾发布了一个手势识别的项目也叫 Flutter,这两个项目并无任何关联。

Flutter 是开源项目,但目前还不是 Google 官方项目。在 GitHub Page 页面可以看到,它还处于非常早期的阶段,目前仅支持 iOS 和 Android 平台。另外,许多核心功能例如辅助功能、文本输入、本地化等等还处于缺失的状态中。

Flutter.io 中可以看到这么一段介绍:“Flutter 和其它跨平台移动应用开发框架非常不同,因为 Flutter 不使用 WebView,也不使用设备中的 OEM 控件。取而代之的是,Flutter 使用自己的高性能渲染引擎来绘制控件。”

重要通知:接下来 InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注 InfoQ 微信公众号第一时间阅读精品内容。

Flutter 的早期项目代号为 Sky,这个项目包括一个支持文字的移动 2D 渲染引擎;一个 functional-reactive 框架;一组符合 Material Design 的控件、库和工具;一个 Atom 编辑器插件。当然,开发者仍然可以自定义控件。

Flutter 由 C、C++ 和 Dart 语言编写,也包含了 Skia 2D 渲染引擎和 Blink 的文本渲染系统。在 GitHub 中可以看到,开发人员在最近才由 Python 切换到了 Dart。Dart 语言是 Google 的 JavaScript 竞争对手,它被选来作为编写 Flutter 是因为它支持简单的脚本、扩展到全功能的应用和有一定的语言熟悉感。

对于 Android 平台来说,C/C++ 代码由 Android NDK(Native Development Kit)编译,这个框架和应用代码主要运行在 Dart 虚拟机中,此虚拟机将会在设备中生成 JIT 编译优化的本地代码;在 iOS 平台中,C/C++ 代码由 LLVM 编译,Dart 代码将由 AOT 编译成为本地代码。应用将使用一个本地指令集。Flutter 将不会有 Web 版本,目前也没有支持的可用的依赖注入框架。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 [email protected] 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-11-24 18:008162
用户头像

发布了 32 篇内容, 共 20.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

易观方舟Open API 及最佳实践

易观大数据

jvm疯狂吞占内存,罪魁祸首是谁?

易观大数据

Centos 上配置大数据环境

yuanhang

大数据

URL 去重的 6 种方案!(附详细实现代码)

王磊

Java

起飞!这份技术点拉满的ELk+Lucene笔记,可能价值百万

小Q

Java lucene elasticsearch 架构 面试

Hadoop 简介

yuanhang

hadoop

干货:不同场景容器内获取客户端源IP的方法

华为云开发者联盟

容器 服务端 场景

Atlassian Team Tour 9月23日登陆中国,报名通道已开启!

Atlassian

敏捷开发 数字化转型 金融 Jira

初识大数据

yuanhang

大数据

算法与数据中台实践之网约车平台

博文视点Broadview

大数据 数据中台 中台 算法 数据

flutter在行动之踩坑的日子(1)

霜蓝手环

flutter 跨平台 Flutter Android Apk 编程之路

面试官问我:看过sharding-jdbc的源码吗?我吧啦吧啦说了一通!!

冰河

数据库 分布式事务 微服务 分布式数据库 ShardingJDBC

实战解析丨如何对Mysql连接请求的tcpdump内容进行分析

华为云开发者联盟

TCP/IP 数据传输

众盟科技:跨越时空70年,一场别样的房地产直播开启人文探索

人称T客

众盟科技:跨越时空70年,一场别样的房地产直播开启人文探索

脑极体

anyRTC推流小助手-客户端推流(PUSH RTMP)工具

anyRTC开发者

技术 音视频 WebRTC 直播 RTC

程序员快乐器之JAVA代码生成工具

Learun

敏捷开发 快速开发 生成代码

.NET多线程(Thread,ThreadPool,Task,Async与Await)

AI代笔

通证是下一代互联网数字经济的关键

CECBC

区块链 通证经济

LeetCode题解:232. 用栈实现队列,使用两个栈 入队 - O(1), 出队 - O(n),JavaScript,详细注释

Lee Chen

大前端 LeetCode

【API进阶之路】用API打造一条自动化内容生产流水线

华为云开发者联盟

自动化 API 部署

Hadoop3 环境搭建

yuanhang

分布式追踪系统原理看不懂,40张图带你亲手实践

小Q

Java 架构 面试 分布式 系统设计

如何设计Upload组件思考

赵孔磊

或许是史上最好的AQS源码分析了,AQS基础一

InfoQ_d2212957090d

AQS

阿里架构师耗时三个月整理的Spring实战笔记:入门到实战

Java架构师迁哥

XSKY全新一代SDS一体机五大场景之超融合

XSKY星辰天合

阿里P9开源阿里内部秒杀系统设计方案以及设计原则,还不收藏

小Q

Java 架构 系统设计 秒杀 并发

教师节送什么老师最开心?程序员三招解决家长送礼难题!

华为云开发者联盟

编程 程序

学完微软技术总监整理的44 个微服务架构设计模式,我涨薪了

Java架构师迁哥

Nodejs使用es module开发CLI

zayfen

nodejs Module ES cli esm

Flutter:Google工程师开发的针对iOS和Android的高性能跨平台框架_移动_百占辉_InfoQ精选文章
OSZAR »