内容简介:作者: Chet Haase
作者: Chet Haase
北 京时间 5 月 8 日 01:00am 起, 2019 Google I/O 大会通过多种方式 与全世界的 Android 开发者互动。相信 Shoreline Amphitheatre 露天剧场的 7,200 位现场嘉宾、收看 大会直播 的线上观众以及参与 GDG 社区 I/O 延展活动 的开发者都已经了解到我们为让开发者更轻松地工作所做的努力。在 Google I/O 大会上,我们探讨了两大主题: 提升开发者的工作效率,以及在平台中加强对用户隐私和安全的保护。我们来详细了解一下 I/O 大会目前已经爆出的与开发者相关的重磅新闻:
开发者的工作效率
今年,我们专注于一个简单的想法,即我们想为您节省每天的工作时间。而实现这一目标的方法,就是改进您使用的每一项工具。
Kotlin
两年前,我们宣布 Android 平台正式支持 Kotlin 语言。彼时我们的顶级开发者就已经对 Kotlin 爱不释手,自那时起,其发展速度一直令人欣喜。现在有超过 50% 的专业开发者使用 Kotlin。近两年,Kotlin 已跻身 Stack Overflow 上最受喜爱的语言,也是 GitHub 上贡献者数量增长最快的语言之一。
现在,我们要宣布另一项重大举措: Android 开发将越来越向 Kotlin 倾斜。许多新增的 Jetpack API 和功能也将优先提供 Kotlin 版本。如果您正要启动一个新项目,则应该使用 Kotlin 编写,使用 Kotlin 编写程序意味着更少的代码。即,需要输入、测试和维护的代码数量更少。此外,在与 Jetbrains 和 Kotlin 基金会的合作期间,我们将在 工具 、文档、培训和活动方面持续投资,使 Kotlin 更加易学易用。其中就包括 Kotlin/Everywhere 。这是一项新推出的全球系列活动,参与者可以详细了解这门语言、新的 Udacity 课程等。
-
Kotlin
https://developer.android.google.cn/kotlin/
-
Kotlin/Everywhere
https://events.withgoogle.com/kotlin-everywhere/
-
Udacity
https://cn.udacity.com/course/developing-android-apps-with-kotlin--ud9012
Android Jetpack
去年,我们曾推出 Android 的 API Android Jetpack ,旨在提升 Android 开发的速度,并让开发者能够使用更少的代码,更轻松地编写出高质量的应用。随着我们继续简化更多开发者日常面临的挑战,在我们前 1000 名的应用中,超过 80% 的应用已经在使用 Jetpack。本次,我们要发布 6 个全新 Jetpack 库 (alpha 版),并将 5 个库的质量提升至测试版水平。以下是 3 个亮点:
CameraX
各位开发者曾告诉我们很难在各种不同的 Android 设备上高效工作。 CameraX 是一个全新 Android Jetpack 开源库,可以降低相机应用开发的难度,提升开发速度。此开源库可以在不同设备上提供始终如一的相机体验,使您不再需要维护设备的具体配置。您可以在参与项目的制造商设备上找到对尖端软硬件功能 (例如光学变焦、背景虚化、HDR,以及夜间模式) 的支持。CameraX 适用于近 90% 的设备,并向后兼容 Android L。此外,CameraX 还有一个简单的迁移路径,方便用户从旧版相机 API 迁移,并且还可以与 camera2 API 无缝对接。Android 设备上 70% 的相机使用量来自安装的应用,而非设备内置的相机应用,因此我们非常高兴能够降低相机应用的开发难度。
架构组件
我们根据各位开发者的反馈做出一些补充和改进。开发者们曾告诉我们在 Android 平台上实现并发非常困难。因此,我们将为您带来含有协程的 LiveData 和 Lifecycles,以支持常见的一次性异步操作。使用 带有 SavedState 模块的 ViewModel ,您可以消除样本代码,并通过简单的 API 获得使用 ViewModel 和 SavedState 的双重益处,进而直接从您的 ViewModel 中保存和检索数据。如果错过这一版也没有关系,我们在几个月前刚刚发布了 WorkManager (后台处理) 和 Navigation (在应用屏幕间导航) 的稳定版。
Jetpack Compose
有许多开发者一直敦促我们提供适用于 Android 平台的现代反应式风格界面工具包,并且可以利用 Kotlin,并能够与平台,以及现有的全部代码无缝集成。我们要介绍该项目团队在 Jetpack Compose 方面所作的工作。Jetpack Compose 旨在将反应式编程模型与 Kotlin 的简洁性和易用性相结合,从而简化界面开发。Jetpack Compose 与现有的界面工具包兼容,因此您可以通过直接访问所有 Android 和 Jetpack API 来混合和匹配视图。此外,工具包还对定义界面组件具有完全声明性。而且,此工具包的设计从一开始便已考虑到材料、动画和工具。从今日起,我们将以公开形式开发此工具包,您可以在 AOSP 上找到所有代码。
-
Android Jetpack
https://developer.android.google.cn/jetpack
-
CameraX
https://developer.android.google.cn/training/camerax
-
带有 SavedState 模块的 ViewModel
https://developer.android.google.cn/topic/libraries/architecture/viewmodel-savedstate
-
WorkManager
https://android-developers.googleblog.com/2019/03/android-jetpack-workmanager-stable.html
-
Navigation
https://android-developers.googleblog.com/2019/03/android-jetpack-navigation-stable.html
Android Studio
本次大会上,我们发布了 Android Studio 3.5 测试版。几个月来,该项目团队与 Project Marble 团队合作,专注于优化和改进日常开发流程。Android Studio 3.5 涵盖针对大型项目的更优 IDE 内存管理、更低的输入延迟、 Lint 改进 、CPU 使用优化、 布局编辑器改进 、 模拟器改进 、 版本号变更 ,以及对 Instant Run 的完全重写。Instant Run 现称为 Apply Changes ,能够可靠地提升在设备上查看代码更改的能力,还能对 400 多种高优先级的漏洞予以修复。
-
Android Studio 3.5
https://developer.android.google.cn/studio/preview
-
Lint 改进
https://medium.com/androiddevelopers/android-studio-project-marble-lint-performance-8baedbff2521
-
布局编辑器改进
https://medium.com/androiddevelopers/android-studio-project-marble-layout-editor-608b6704957a
-
模拟器改进
https://medium.com/androiddevelopers/android-emulator-project-marble-improvements-1175a934941e
-
版本号变更
https://medium.com/androiddevelopers/improving-build-speed-in-android-studio-3e1425274837
-
Apply Changes
https://medium.com/androiddevelopers/android-studio-project-marble-apply-changes-e3048662e8cd
Android 规模的机器学习
在 Android Q 中,我们已对 Android 神经网络 API (NNAPI) 做出重大改进。首先,我们将支持的运算符数量从 38 增加到 90。现在,NNAPI 无需更改即可加速绝大多数模型。我们还为高级用户引入自检 API,以帮助他们完全控制负责加速的硬件 (例如,DSP 与 NPU)。此外,我们还与硬件供应商紧密合作,以显著提升性能 (降低延迟时间和能耗)。通过与 MediaTek 合作,我们能够在 Helio P90 上将 ML Kit 人脸检测 API 的运行速度提升 9 倍。与 Qualcomm 的合作使我们能够提升 Google Lens OCR 在 Snapdragon 855 AI Engine 上的运行速度,并在提速 3 倍的同时将能耗降低 370%。
-
ML Kit
https://developers.google.cn/ml-kit/
动态功能和应用内更新
去年,我们曾推出能够帮助您缩减应用大小并增加安装量的 Android App Bundle 。自那时起,我们已经看到 80,000 多个应用软件包进入生产状态,而应用大小则平均缩减 20%。本次大会我们要发布许多内容,以帮助您缩减应用大小,并进一步提升向用户发布更新的速度。我们非常高兴地介绍正在从测试版过渡到稳定版的动态功能模块。借助 动态功能模块 ,您可以根据设备功能、国家/地区等条件选择应用要提供的功能,从而进一步缩减应用大小。您甚至可以按需提供模块,而不用在安装时统一添加。今天,我们还要将 应用内更新 功能从测试版转为稳定版。这种动态更新应用的能力正是您长久以来希望获得的功能。假设您的应用中存在一个严重漏洞,您需要立刻消除,而且不希望等到用户在 Play Store 发现应用更新时才能消除。现在您就可以即刻消除漏洞。
-
Android App Bundle
https://developer.android.google.cn/platform/technology/app-bundle
-
动态功能模块
https://developer.android.google.cn/guide/app-bundle/playcore
-
应用内更新
https://developer.android.google.cn/guide/app-bundle/in-app-updates
Android Q 的用户隐私与安全
作为开发者社区,我们所有人都非常重视妥善处理用户的隐私与安全问题。这关系到在构建能够为开发者提供强大功能的平台的同时,确保用户的安全和隐私得到保护。几个月前,我们推出的 Android Q 测试版具备 50 多项功能以及围绕用户隐私与安全做出的改进。这些 Android Q 的变更可为用户提供更多的透明度和可控性。
一如既往,我们正努力完成有助于开发者采用新版本的所有工作。我们知道您有自己想要构建的功能。这也正是为什么我们非常努力地将这些 Android Q 变更对您的影响降到最低,并将您的反馈纳入其中。我们提供尽可能长的通知期,并预先提供完整详尽的技术信息,以帮助开发者轻松采用新版本。我们还想感谢社区的持续反馈。这对努力试图妥善解决此问题的团队而言是非常巨大的帮助。一个非常典型的示例是 第 3 个测试版的存储空间变更 ,您的反馈帮助我们在测试期间改进功能。长久以来,Android 致力于将所有重大变更对用户隐私和安全的影响降至最低。我们矢志不渝,并将努力让 Android 成为我们钟爱的灵活开放平台,方便开发者使用。
-
第 3 个测试版的存储空间变更
https://android-developers.googleblog.com/2019/04/android-q-scoped-storage-best-practices.html
参与 Google I/O!
我们准备了许多精彩内容,包括超过 45 场的跨 Android 领域会议 。非常高兴您关注本次的 Google I/O 2019, 通过 直播 在线收看大会, 或 参与 GDG 社区 I/O 延展活动 。我们还会不断加大投入,不断完善这一 将开发者与全世界数十亿用户紧密相连的平台 。感谢您对整个 Android 社区的持续支持和反馈!
-
45 场的跨 Android 领域会议
https://events.google.com/io/schedule/events/?2=topic_androidplay
推荐阅读
以上所述就是小编给大家介绍的《Google I/O 2019: 助力开发者在 Android 和 Play 平台上打造最佳体验》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 移动开发者的后端开发入门体验
- [译] 一位 Rust 开发者的 Go 初体验
- 专访 Unity 高管:深耕游戏、VR/AR,致力为开发者提供极致体验
- 让开发者专注于应用开发,OpenCenter 3.0 开发者预览版发布
- 让开发者专注于应用开发,OpenCenter 3.0 开发者预览版发布
- GitHub 推出开发者赚钱新利器,100% 全给开发者!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C程序设计(第四版)
谭浩强 / 清华大学出版社 / 2010-6-1 / 33.00元
由谭浩强教授著、清华大学出版社出版的《C程序设计》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订。 《C程序设计(第4版)》按照C语言的新标准C99进行介绍,所有程序都符合C99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题―解决问题―归纳分析”三部曲......一起来看看 《C程序设计(第四版)》 这本书的介绍吧!