2020 Google 开发者大会:Android 和 Flutter 有哪些更新?

2020 年 11 月 16 日

2020 Google 开发者大会:Android 和 Flutter 有哪些更新?

2020年11月16日,Google 开发者大会 (Google Developer Summit) 在线上举行。本次大会以“代码不止”为主题,全面介绍了产品更新以及一系列面向本地开发者的技术支持内容。本文重点关注了Google在Flutter和Android方面的更新。


今年已经是第五届 Google 开发者大会了,Google 对开发者的支持,始于代码,但是不止于代码,从最初的使用各领域的技术打磨产品,到使用营销工具和发布平台来获取用户,最后再到通过变现方式实现商业价值的持续增加,Google 产品全都参与其中。


Google 全球开发者关系副总裁 Jason Titus 表示:“目前,中国有 910 万开发者,到 2025 年,这一数字将有望达到 1150 万,作为全球最大的开发者社区之一,中国的开发者对整个开发者生态系统至关重要。”


更开放的 Flutter:完善贡献流程,建设开发生态及对 Web 的支持


不到一年时间,Flutter 就在 GitHub 和 StackOverflow 上获得了比 React Native 更高的知名度。Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台、高保真、高性能等优点。也正因为这些革命性的优点,从发布到现在,它的热度一路攀升,受到了很多开发者的热切青睐。迄今为止,Flutter 的月活已经达到 50 万,大约 11% 的 Flutter 开发者来自中国。


根据 JetBrains 的调查结果显示,40% 的跨平台开发者已经采用 Flutter。GitHub 的统计数据也表明,Flutter 是全球增长第二快的开源项目。


目前开发者对于 FLutter 的认可主要来自于它的四大属性:美观、流畅、高效和开放。本次 Google 开发者大会,Google Flutter 用户体验研究负责人董韬分享了 Flutter 开源社区、生态建设、Web 支持等内容。


开源社区


在 10 月新发布的 Flutter 1.22 版本中,197 位开发者(114 位 Google 全球社区的开发者和 83 位谷歌开发者)共同贡献了 1944 个 Pull Requests(PRs)。Flutter 1.22 为 Android 11 和 iOS14 的多项新功能提供了支持。


Flutter 对开源社区的建设具体落实在几个方面:


  1. Flutter邀请了 12 位来自全球开源社区(包括中国)的开发者加入我们在 GitHub 上的开源组织,授予了他们代码审核和并入 PR 的权限;

  2. Flutter 把团队的绝大部分技术讨论放到了公开的聊天服务器上,已经有很多社区的开发者通过这一渠道参与了 Flutter 的研发过程;

  3. Flutter 进一步完善了贡献代码的流程和指南文档;

  4. Flutter 团队在不断地改进 PR 的管理和评审流程。


开放的生态建设


截止今年 9 月,Pub.dev 上已经有了超过 12000 个与 Flutter 兼容的包,对比一年前增长了 2.5 倍。



在提高包数量的同时,高质量的包比例也在逐步升高。



为了让开发者更方便地找到需要的包,Flutter 团队重新设计了 Pub.dev。在新版网站中,Flutter 团队特别突出了得到“Flutter Favorite”认证的包,带有该认证的包在功能和质量上都达到了一个很高的水平,Flutter 团队也推荐开发者在自己的项目中优先选择带有“Flutter Favorite”认证的包。


对 Web 的支持


Flutter 开放性的第三个方面体现在对 Web 的支持。Flutter 的长期愿景是提供一个在各种屏幕上都能让开发者实现精美体验的 UI 工具包,为了实现这个愿景,在去年 12 月的 Flutter 大会上,Google 首次公开了 Flutter Web 的 beta 版本,目前,Flutter Web 的第一个稳定版本正在推进中,与此同时,一部分开发者已经使用 beta 版本进行开发。Flutter Web 可以轻松将一个移动应用移植到浏览器端,从而面向更广的受众。


在接下来的六个月里,Flutter 团队的主要工作将聚焦在三个方面:


  1. 持续完善对 Android 11 和 iOS 14 的支持;

  2. 将 Flutter 框架和生态中的重要的包迁移至 Dart Null Safety;

  3. 把 Flutter 对浏览器和桌面的支持逐步提高到生产环境的标准。


Android 11 新版本的关键主题:以人为本、控制和隐私


数十亿人使用 Android 来操作手机、汽车、电视和可穿戴设备,无论是为首批 5G 手机提供动力还是通过可折叠显示屏重塑移动设备外形,Android 一直在推动技术发展的极限。在本次 Google 开发者大会上,Android 产品总监 Karen Ng 介绍了 Android 技术和工具的最新进展。


首先,Android 11 最新版本中包含了三个关键主题:以人为本、控制和隐私。


  • 以人为本:构建了一个可以识别和关注用户生活中最重要人物的操作系统,同时考虑到每个人的表达习惯不同,增加了很多兼容并蓄的功能,例如自定义表情符号贴纸、虚拟盲文键盘等。

  • 控制:用户现在可以使用“Device Control”新功能,快速访问所有智能设备,并在同一个空间内对其进行控制;

  • 隐私:为用户提供了更高的透明度以及控制设备数据共享的方式。例如,用户可以授予应用访问设备的麦克风、摄像头或位置等的一次性使用权限,该应用再下次开启时需要再次请求权限。


过去几年,Google 一直在努力改善移动开发者的体验,Android Studio 4.1 和 4.2 Canary 中引入新功能,实现了更好的开发体验。


  • 调试更简单:对Android 11设备的ADB进行无线调试;

  • 设备测试更好:直接在IDE内部托管Android模拟器;

  • 机器学习更容易:直接在IDE中为ML Kit 和 TensorFlow Lite 导入模型;

  • 构建和部署更快:借助 Kotlin Symbol Processing,在Gradle中缓存任务图以及将应用更快部署到Android 11上的所有设备;

  • 游戏工作更强大:全面改进系统跟踪工具、支持本机内存分析。



Kotlin 受到了开发者的广泛欢迎,目前排名前 1000 的应用中,70%以上都在使用 Kotlin,专业的 Android 开发者中 60%都在使用 Kotlin。移动应用往往需要同时做很多事情,代码中常会出现并发调用,这类代码一直是开发者的开发痛点。现在 Google 推出了 Kotlin 协同程序来解决这个难题,目前 Kotlin 协同程序已经设置为官方推荐,并支持构建到顶级库中,例如 Lifecycle、Workmanager 和 Room。


Google 为 Android 上最常见、最困难的开发问题创建了一套库 Android Jetpack。目前 Play 商店中排名前 10000 个应用中,84%正在使用 Jetpack 库。除此之外,Google 还添加了两个新的 Jetpack 库 Hilt 和 App Startup ,其中,Hilt 与 Dagger 一起构成了 Android 上依赖注入的完整解决方案;App Startup 通过优化库的初始化来缩短应用程序的启动时间。同时,Google 创建了第一个全 Kotlin Jetpack 库——Paging 3,并全面支持协同程序。


Jetpack Compose 是一个功能强大的 UI 工具包,可通过对平台 API 对的本地访问快速在 Android 上构建漂亮的 UI,并与现有的 Android 视图具有完全的互操作性,无需重写代码。

2020 年 11 月 16 日 16:424612

评论

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

一种练好英语口语的方法

七镜花园-董一凡

学习

Collaboration on SaaS

zhenglei

SaaS Collaboration Cisco Webex

EasyExcel最权威教程

知春秋

Java Excel EasyExcel

2020年比以往任何时候更想做成的使命感

乐少

机会,是不会让你准备好的

Winann

学习 生活 知识管理 机会

计算机中的递归对普通人有什么启示?

BitSea

算法

Java如何处理异常情况

Rayjun

Java 异常

Kotlin协程实践之进程、线程、协程

陈吉米

Java kotlin 协程 Coroutine

DevOps生命周期,你想知道的全都在这里了!

DevOps 测试 持续集成

写作对我的意义

Neco.W

总结 思考 写作 感悟

2020第一篇技术博客

java劝退师首席大弟子

生活

码农理财(一)

北漂码农有话说

理财

回“疫”录(19):都什么时候了,还在搞“填表抗疫”

小天同学

疫情 回忆录 现实纪录 纪实 形式主义

Docker 镜像制作教程:针对不同语言的精简策略

米开朗基杨

Docker Dockerfile

如何搞定Kafka重复消费?

奈学教育

kafka kafka配置

《零基础学 Java》 FAQ 之 8-Java方法调用是传值还是传引用

臧萌

Java

浅谈Cloud Native技术对云上产品的影响

韩超

Docker Kubernetes 云原生 IaaS PaaS

少说废话,先干起来

白鸽

学习 个人成长 自律

从连续两届图灵奖(2018-2019)看GPU发展史

GPU

人工智能 gpu 计算机基础 计算机图形学 计算机体系结构

游戏夜读 | Scikit-learn迎来0.21版本

game1night

键入网址后,其间发生了什么?

小林coding

TCP 计算机网络 网络协议 IP HTTP

笔记:《如何系统思考》之如何应用系统思考

wiflish

思维方式

比AtomicLong更优秀的LongAdder确定不来了解一下吗?

一枝花算不算浪漫

并发编程 jdk源码

程序员的晚餐 | 5 月 17 日 当西红柿遇上鱼

清远

美食

【高级进阶】写给大忙人看的JDK14新特性

知春秋

Java java 14 java 14 新特性

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

江南一点雨

spring Spring Boot spring security

11 万字的字节码编程系列合集放送(ASM、Javassist、Byte-buddy、Javaagent)

小傅哥

Java asm bytebuddy 《字节码编程》

微服务为什么要有服务发现与注册?

攀岩飞鱼

微服务 微服务冶理 微服务发现

有问必答(2020-05-09):如何督促自己做好一件事情?

冯夷

生活

发布Maven包的正确姿势

廖雪峰

maven 开源

从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(一)

图雀社区

node.js vue.js Vue

2020 Google 开发者大会:Android 和 Flutter 有哪些更新?-InfoQ