写点什么

谷歌的跨平台移动 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:002698
用户头像

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

关注

评论

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

Prompt Learning: ChatGPT也在用的NLP新范式

Baihai IDP

人工智能 自然语言处理 nlp ChatGPT 企业号 2 月 PK 榜

关于微服务架构的思考

HummerCloud

微服务 云原生

面试了20+前端大厂,整理出的面试题

loveX001

JavaScript

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

程序员小毕

数据库 程序员 JVM 架构师 Java性能优化

Percona 8.0.30中show engine innodb status导致coredump排查及分析

GreatSQL

MySQL MySQL 高可用 :MySQL 数据库 greatsql greatsql社区

在统信UOS上二进制安装GreatSQL

GreatSQL

MySQL UOS 统信 greatsql greatsql社区

vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

vivo互联网技术

版本发布 CDN带宽

ModStartBlog v6.7.0 后台管理优化,页面宽度调整

ModStart

假如面试官问你Babel的原理该怎么回答

loveX001

JavaScript

瓴羊Quick BI为企业决策者提供可视化分析服务

小偏执o

面试官:限流算法有哪些?

王磊

java面试

迷恋管理是一种病

虎妞先生

搞懂Druid之连接创建和销毁

小小怪下士

Java 程序员 后端 Druid

疑似45亿条递信息泄露,“三类主体”如何应对?

极盾科技

数据安全

统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?

阿里巴巴云原生

阿里云 云原生 Prometheus 云原生网关

在线头脑风暴软件Mural及其竞品分析

hongfei

思维导图 工具软件 头脑风暴

ChatGPT入门案例|商务智能对话客服(三)| 社区征文

TiAmo

openai ChatGPT

前端标准化之旅

京东科技开发者

前端 代码规范 京东云 京东技术

开学季,5门优选好课助你在新学期狂飙!

博文视点Broadview

最初设计时就会避开钽电容,这是为什么呢?三大理由告诉你原因

元器件秋姐

元器件 电容 钽电容

责任链和策略设计模式-基于Java编程语言

京东科技开发者

Java spring 代码规范 京东云 京东技术

ChatGPT风口下的技术“狂飙”,天翼云荣登ZeroCLUE榜首

天翼云开发者社区

腾讯前端必会面试题(必备)

loveX001

JavaScript

Python设置显示屏分辨率

Python 分辨率

「读源码」为什么注册路由时没有传入上下文,在接口方法中却能取到?

王中阳Go

Go golang 高效工作 学习方法 程序员

瓴羊Quick BI即席分析工具:创设数据分析捷径

巷子

unittest使用parameterized参数化后如何调用添加到测试套件中

Python 单元测试 自动化测试 unittest 测试套件

文盘Rust -- 本地库引发的依赖冲突

京东科技开发者

后端 Clickhouse 本地计算 rust语言 企业号 2 月 PK 榜

擅用瓴羊Quick BI报表分析工具,数据分析事半功倍

夏日星河

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

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