写点什么

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

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

关注

评论

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

好消息!华为云时习知荣获IXDC AWARD国际体验奖

云计算 华为云

基于大语言模型LangChain框架:知识库问答系统实践

博文视点Broadview

一起学Elasticsearch系列-写入和检索调优

Java随想录

Java 大数据 Elastic Search

2024年度腾讯犀牛鸟精英人才计划开放申请

极客天地

移动端防截屏录屏技术在百度账户系统实践

百度Geek说

移动端 企业号12月PK榜 防截屏录屏 百度账户系统

GaussDB(DWS)中的分布式死锁问题实践

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

测试开发 | 深入了解监督学习(Supervised Learning)

测吧(北京)科技有限公司

测试

数据服务化解耦 创新企业智能运营架构

用友BIP

数据服务

【坚果派】JS开源库适配OpenHarmony系列——第一期实操

白晓明

OpenHarmony JS开源库 ArkTS开源库

极狐GitLab 集成 sonarqube 实践指南

极狐GitLab

Vue 2最终版本 v2.7.16 已发布

南城FE

JavaScript Vue 前端开发

《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

行云管家

网络安全 网络安全法

第33期 | GPTSecurity周报

云起无垠

Flink Has Become the De-facto Standard of Streaming Compute

Apache Flink

大数据 flink 实时计算

带你了解决策树模型

小齐写代码

Kosmos实战系列:有状态服务(MySQL)跨云灾备实战

畅聊云原生

网站被ddos跟cc攻击会有什么影响,该如何去解决

德迅云安全_初启

IPQ6018 vs. IPQ8074: A Selection Guide for Wireless Network Processors

wallysSK

好用的IOS数据传输工具:FonePaw iOS Transfer中文激活

胖墩儿不胖y

Mac软件 iOS数据传输工具

软件测试/测试开发丨软件测试的基本概念

测试人

软件测试

文心一言 VS 讯飞星火 VS chatgpt (165)-- 算法导论13.1 5题

福大大架构师每日一题

福大大架构师每日一题

绝地反击,不做背锅侠!

尚思卓越

运维 堡垒机

Kuasar成为CNCF官方项目,探索容器运行时新纪元

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟

基于「迭代分支」的 API 开发模式

Apifox

程序员 后端 Apifox 分支 API 开发

打破界限:一体化数据驱动低代码平台,构建业务生态新纪元

天津汇柏科技有限公司

低代码

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