【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

什么是多运行时架构?

互联网工科生

分布式 服务化 单机

运维让我优化SpringBoot启动速度,我是这么干的!

高端章鱼哥

运维 Spring Boot 后端

信科技AntDB数据库专家参加向量数据库首次技术标准研讨会

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

使用矢量数据库打造全新的搜索引擎

这我可不懂

数据库 搜索引擎 矢量 矢量索引

构建容错软件系统的艺术

高端章鱼哥

负载均衡

证券机构数据治理实践,实现数据的“管、 治、用”

袋鼠云数栈

数字化转型 金融

分布式系统常见理论讲解

越长大越悲伤

分布式 后端 一致性

统一观测|借助 Prometheus 监控 ClickHouse 数据库

阿里巴巴云原生

阿里云 云原生 Prometheus Clickhouse

代码随想录Day35 - 贪心算法(四)

jjn0703

直播预告 | 博睿学院:探索ES在日志场景的应用

博睿数据

可观测性 博睿数据 智能运维AIOps 博睿学院

【参赛有奖】云原生编程挑战赛·赛道 2 邀你来战!

阿里巴巴云原生

阿里云 阿里云云原生

Footprint Analytics 宣布 20+ 链 API 免费增速,助力熊市 buidler

Footprint Analytics

区块链 NFT Footprint

RocketMQ 在业务消息场景的优势详解

阿里巴巴云原生

阿里云 RocketMQ 云原生

火山引擎数智平台旗下DataWind升级半年报 6大功能助力企业数据消费

字节跳动数据平台

数据库 大数据 企业号 8 月 PK 榜

面向金融科技方向选手!一级学会背书,AI选股与可视分析大赛来啦

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

如何在Windows上将iOS应用上传到App Store

文心大模型企业应用私享会·上海站:共话大模型前沿技术与产业应用创新

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

开放原子开源基金会理事长孙文龙一行赴山东大学考察交流

开放原子开源基金会

开源 开放原子开源基金会

【AI模型系列】中国AI大模型峰会“封神之作”,不容错过的大模型机遇

颜淡慕潇

AI大模型 峰会 WAVE SUMMIT

代码随想录Day23 - 二叉树(九)

jjn0703

加强Web应用程序安全:防止SQL注入

树上有只程序猿

sql Web ORM

作为新手小白,你应该了解的五个3DMAX的使用干货小技巧!

Finovy Cloud

3ds Max

TE智库 |《中国CLM(合同全周期管理)市场产业全景研究报告》发布,看合同管理赋能企业战略落地

TE智库

Last Week in Milvus

Zilliz

非结构化数据 开源社区 Milvus Zilliz

【我与openGauss的故事系列】奇思妙想——通过Go语言自制安装openGauss二进制程序(一)

daydayup

【我与openGauss的故事系列】奇思妙想——通过Go语言自制安装openGauss二进制程序(二)

daydayup

3分钟全面了解API Moke

优测云服务平台

Mock API 编排 Mock 服务 API 接口 API 测试

阿里云率先荣获容器集群稳定性先进级认证

阿里巴巴云原生

阿里云 云原生 容器服务

大模型真的会“好事多模”吗?

白洞计划

多模态 大模型

开放原子开源基金会理事长孙文龙一行赴浪潮考察交流

开放原子开源基金会

开源

windows如何上架ios应用到app store

雪奈椰子

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