在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

谷歌的跨平台移动 UI 框架 Flutter 开始 Beta 测试

  • 2018-03-12
  • 本文字数:1120 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Flutter 现在开始Beta 测试。谷歌创建这个框架是希望为iOS 和Anroid 应用提供跨平台的界面,虽然不是标准的,但看上像原生的。

React Native 类似,Flutter 支持反应式风格的 UI 定义方法。它与其他跨平台 Web 视图框架的区别是,它基于 Dart ,这样就不需要 JavaScript 来连接 UI 和 OS 平台提供的原生服务,如位置服务、传感器访问、相机等等。借助提前编译成原生代码的 Dart,Flutter 节省了使用 JavaScript 桥接时的上下文切换开销。

旨在提供原生 UI 外观的跨平台框架使用原生实现的小部件来描绘按钮、表格等。通常,这还需要 App 的不同部分使用 JavaScript 桥接来通信,导致速度变慢。为了避免这个问题,Flutter 提供了自己的小部件集合,直接在 OS 平台提供的画布上描绘这类控件。这种方法的另外一个好处和 Dart 的 UI 布局机制有关。 Android Layouts iOS Constraints 都旨在提供抽象概念描述在屏幕上布局 UI 元素的任何可能的方法,和这些 CSS 盒子模型不同,每个 Flutter 小部件都有自己的简单布局模型。具体来讲,如果要让一个小部件居中,则可以把它放到一个Center小部件里。类似地,如果要在其四周留有边距,则可以把它放在一个Padding小部件里。下面是一个简单的例子,一个 Center 小部件中包含一个文本和一个图标,两者垂直排列:

复制代码
new Center(
child: new Column(
children: [
new Text('Hello, World!')),
new Icon(Icons.star, color: Colors.green)
]
)
)

在 Flutter 中,所有的主题和导航都表示为小部件,因此,你可以改变 UI 的外观或者使用不同的父部件浏览不同视图的方式。

从 Flutter 进入 Alpha 阶段开始,谷歌就一直致力于更好的工具集成、Android Studio 和 Visual Studio Code 支持、更好的平台互操作性、更好的热重载以及一个针对部件树的部件查看器

由于Flutter 使用了Dart,所以可以促进其应用的一个关键因素是,可用的第三方程序包让开发人员可以重用代码,而不必什么东西都从头开始编码。这包括类似发送网络请求、导航处理这样的东西,以及使用Firebase、SQLite、Facebook Connect 等外部SDK。感兴趣的读者可以查看Flutter 上可用的程序包目录,其中包括1000 多个程序包,看看其中是否包含自己需要的一切。

谷歌表示,在向1.0 迈进的过程中,他们的重点是稳定性和支持更多的场景,例如,让Flutter 更容易嵌入到已有的App 中使用内联WebViews ,等等。

如果想试用Flutter beta,只要按照安装说明来操作即可。此外,务必看一眼 Flutter Gallery Posse Gallery 这些有用的链接

查看英文原文 Google’s Cross-Platform Mobile UI Framework Flutter Now in Beta

2018-03-12 19:002745
用户头像

发布了 1008 篇内容, 共 450.1 次阅读, 收获喜欢 346 次。

关注

评论

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

react代码切割之路由懒加载

前端小猪

React webpack

做好 IM/RTC 底层技术服务,帮助开发者打造自己的“Clubhouse”

融云 RongCloud

IM RTC clubhouse

我看JAVA 之 String

awen

Java 源码 string

太秀了!用Excel也能实现和Python数据分析一样的功能!

JackTian

Python 数据分析 Excel 2月春节不断更 实操案例

你是不是一个害怕失去,而拒绝开始的人?

SwiftDD

读书笔记 工作体会

理解RocketMQ

awen

RocketMQ 翻译 消息中间件

区块链电子证照共享平台--基于区块链的电子证照存证

13530558032

程序员成长第十三篇:做好时间管理

石云升

程序员 时间管理 28天写作 2月春节不断更

双非本科生、非大厂,毕业一年,业余净收入20万

不脱发的程序猿

程序员 程序人生 28天写作 二月春节不断更 外包项目

架构设计篇之微服务实战笔记(七)

小诚信驿站

架构师 刘晓成 小诚信驿站 28天写作 架构师成长笔记

android开发视频!Android程序员最大的悲哀是什么?面试真题解析

欢喜学安卓

android 程序员 面试 移动开发

入驻infoQ了

SwiftDD

平台写手

《你越迷茫,越要去闯》读书笔记

SwiftDD

读书笔记

基于 Flink SQL 构建流批一体的 ETL 数据集成

Apache Flink

flink

MySQL COUNT(列名) 、COUNT(常量) 和 COUNT(*) 之间的区别

桃子

android开源!字节跳动Android岗经典面试真题,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

一文带你了解GaussDB(DWS) 的Roach逻辑备份实现原理

华为云开发者联盟

容灾 备份 GaussDB(DWS) 逻辑备份 Roach

跨越异构鸿沟,Redis 迁移同步过程中的挑战与解决方案

京东科技开发者

云计算 大数据

我看JAVA 之 Object & JNI

awen

Java jni Object

智慧党建APP开发,智慧党建平台的功能

13530558032

android开发视频教程!移动开发者升职加薪的8项技能,成功定级腾讯T3-2

欢喜学安卓

android 程序员 面试 移动开发

万字长文带你解读Redisson分布式锁的源码

鄙人薛某

Java redis 分布式锁 redisson

Jira Software Data Center 可以免费使用高级路线图啦!

Atlassian

DevOps 敏捷 Atlassian Jira

区块链数字版权平台--为内容版权保驾护航

13530558032

多种多样的语音连麦方式

anyRTC开发者

flutter uni-app ios android WebRTC

全面开放!华为云GaussDB(for openGauss)正式商用发布

华为云开发者联盟

数据 华为云 GaussDB 云数据库 GaussDB(for openGauss)

用Vue3构建企业级前端应用,TS能让你更轻松点

华为云开发者联盟

Vue 大前端 Vue3 ts 框架

超大规模会议技术优化策略 轻松实现 500 人线上流畅沟通

融云 RongCloud

音视频 视频会议

让 AI “潜入”物流中心,你的快递很快就到!

华为云开发者联盟

华为 AI 数字化 物流 智慧物流

基于matlab的控制系统与仿真5-simulink仿真模型

AXYZdong

matlab 2月春节不断更

UI自动化测试框架_地图测试如何开展呢?

小小娃爱吃甜食

最佳实践 测试 测试落地

谷歌的跨平台移动UI框架Flutter开始Beta测试_开源_Sergio De Simone_InfoQ精选文章