百科问答小站 logo
百科问答小站 font logo



2021 Google 开发者大会再度发力,今年有哪些赋能全球的新动态值得关注? 第1页

  

user avatar   pansz 网友的相关建议: 
      

一, 谷歌开发者大会(Google Developer Summit)是什么。

Summit,又叫峰会,或称最高级会议,Google Developer Summit是谷歌展示面向开发者的最新产品和平台的全球盛会。这个会议的目的是帮助开发者更好地了解谷歌有什么更新的技术与平台,帮助开发者快速开发优质应用,在开发创新道路上更进一层。本次开发者大会的主题是「Develop as One」 。

程序员,是一个需要终身学习的工种,无论到了什么层次,都需要不断的保持对技术的敏感度,才能始终保持自身的竞争力。一部分开发者因为开发压力较大而忽视了对新技术的持续跟进守着自己的舒适区,当他想要更换一个岗位的时候,才会发现自己与前沿技术脱节太多。反过来说,年轻人因为拥有旺盛的精力,保持了对不断产生以及涌现的前沿技术的理解,有时能够「弯道超车」,获得比年长的程序员更多更好的项目机会。

所以,保持终身学习是非常重要的。

今年,我留意到谷歌首次在开发者大会上发布了可供开发者们学习的谷歌开发者在线课程,这些课程是免费的中文的,其中有超过10项谷歌产品与服务,仅Android的免费开发者学习课程就有四十多门。谷歌非常鼓励大家在线自助学习,同时也提倡并乐意给到每一个程序员或开发者平等的成长空间。我也挺推荐大家去学习的

二,往年谷歌开发者大会给我带来了什么。

作为开发者,Android方面的变化自然是我主要关注的改变。

事实上,前沿技术的产生,到实际运用于生产环境,往往还会有一段时间差。例如在去年GDS的时候,我司的很多旧的代码库还并没有迁移到AndroidX,Jetpack库也并没有被包含大量历史代码的项目所广泛采纳。

在那个时候,我没有预测到,在过去的一年里,我司的项目中大量推进了采纳Kotlin、AndroidX以及Jetpack的步伐,而去年开发者大会强调过的新文件访问权限框架相关问题也确实在我们的开发中遇到了,愿意提前学习的同学就能在这个变革的过程中占尽先机。而一段时间对Kotlin与AndroidX、Jetpack的突击学习让我觉得受益匪浅。

本次大会中发布的免费开发者学习课程有四十多门,每门课程都是一个完整的学习路径。这些在线课程是codelab,学习文章,学习视频等学习资源的组合。个人觉得可以从其中的codelab开始,因为codelab以图文为主,比较容易控制进度。当然,对视频比较有偏好的也可以去看看视频。

关于这些课程,我的建议是:

还没有切换到Kotlin的同学们可以考虑学习一下面向Java开发者的Kotlin指南,了解一下 Android 开发推荐的首选编程语言。

对Jetpack库还不够了解的同学们,则推荐学习一下Jetpack库的一些功能,例如Jetpack Compose布局详情,例如使用Room持久保留数据,例如Mvvm模型,例如Navigation导航框架的单Activity应用制作手法等等。

而已经有经验的开发者,则可以学习关于Google Play相关的课程,以及一些Google服务的使用,比如游戏开发与结算服务特性,比如推送框架,地图接口等等,同时学习如何在Android应用中遵循Material Design准则,以使得自己能够成为Google Play应用市场的独立开发者。Material Design风格的应用高效美观,能够给你的应用带来竞争力优势。

对于希望在更多不同设备上开发的,则可以学习一下关于Android12L大屏设备特性适配,Wear OS应用,Chrome OS应用以及跨平台应用等相关知识。

当然,所有对Android开发有涉及的同学大概都应该关注一下Android Studio 的更新特性。

三,本届谷歌开发者大会个人认为值得关注的方向

3.1 首先应该是Android 12的更新

这个更新,反映到开发者来说,一个比较重要的就是开发者需要更多的考虑对Material You 的适配,这种个性化的用户界面设计对用户来说非常酷,但对开发者来说,显然需要付出相当大的开发与测试工作量,提前了解相关信息,学习其适配方法,比真正让线上用户遇到了界面问题来反馈bug的观感要好不少。

每一次系统更新当然也都会有提升的性能,提升的响应速度,对开发者来说主要是调试程序变快了,并不需要特别的进行适配。当然,启动速度的提升可能会导致对开屏动画等结构的调整需求,随着对隐私与广告等功能的规范化,这可能需要被提上计划。

本次更新的隐私方面是增加了隐私信息中心,提高信息透明度,向用户展示应用程序使用了哪些隐私,这方面开发者需要注意的就是,如果自己在不该访问隐私信息的时候访问这些隐私,可能会被用户挂上墙哦。申请隐私权限需要额外的流程,而新的Jetpack库配合Kotlin也会给你的编程带来方便。

谷歌释放出非常大的诚意,我认为也会体现在与硬件产商合作来越紧密,最终也就会体现在更多的产商更快搭载新版本的Android12。

3.2 这次的另外一个方向,应该是平板生态将越来越得到欢迎,得到进一步的发展。

目前激活的Android平板数量已经超过2.5亿,而Chrome OS设备数量增幅是个人电脑市场增幅的5倍。这些发展不光属于科技公司的努力,也还预示着时代的进程,Android应用向横屏进行适配,无论是适配平板还是适配折叠屏还是适配PC,可能最终都会成为一种趋势。例如金山办公就对横屏做出了不少优化,使得横屏的安卓设备能够更好的用于处理办公文书文件。

这次专门为大屏设备,发布了一款Android 12L,增加了许多用于折叠屏与大屏设备的特性,那么,安卓的横屏界面适配以及基于平板或PC的体验优化,也将成为开发者需要考虑的问题。关于横屏设备的适配,如果只是涉及到分辨率的话,我曾经有一篇专栏文章介绍过布兰柯基同学的适配方案以及我个人的用法,使得应用可以像游戏一样自动适配不同分辨率,实测用于各种分辨率的适配都还不错。

但是横屏设备并不仅仅只是分辨率问题,还有具体的体验变化。

  • 例如对键盘与鼠标的适配,需要考虑界面元素可以具有焦点,也就需要考虑焦点的层级与位置顺序。
  • 例如屏幕键盘在横屏模式下的界面处理也会有意想不到的情况。
  • 例如对折叠屏的适配要考虑应用在活跃状态下动态切换分辨率的场景。
  • 例如对横屏状态下分屏模式的适配要考虑应用程序的分隔位置可以无极调整。

总之,随着Android 12L的推出,谷歌鼓励大家尽可能不要把手机竖屏当作唯一存在的形态,逐渐注重多设备的适配与开发。

3.3 当然,个人最关注的方向其实还是Android开发本身。

Google 在2017年开始将 Kotlin 支持引入到 Android 开发,而在 2019 年更是宣布了 Kotlin 为Android 开发的首选语言。到目前为止,Google Play 商店的应用已经有 87% 的app都含有 Kotlin 代码,而 Kotlin 已经来到了 Kotlin1.6 版本。

然而,一个语言的推广,离不开这个语言本身搭载的编程库。谷歌这几年中不断的更新,推出了AndroidKTX,还推出了以Kotlin为首选语言的 Jetpack 库,扩展或者重新实现了非常多的Android基础功能。现在,更是推出了Jetpack Compose。

虽然用鼠标拖控件曾经在一个时代成为开发工具用来吸引程序员的标配,但实际开发中,按照平面设计要求进行商业开发的程序员,绝大多数还是优先选择用代码写界面。这是因为,用描述式的代码写界面才能精确的满足平面设计的要求。实际生产中的界面需求千奇百怪,拖控件的方式并不能解决所有问题。

用描述式代码写界面有很多优点,唯一的缺点就是不能像拖控件那样直观的看到效果。必须把整个程序运行起来才能实现。Jetpack Compose解决了这个问题,它在使用描述式代码写界面的同时,能够非常方便地预览界面呈现的效果,并且可以实时交互。

Jetpack Compose可能会重新定义Android界面设计方式,成为Android界面设计的主流手段。因为描述式界面设计也是目前业界主流,各种开发框架无论是Web开发还是跨平台的Flutter开发最终趋向与向这种方向靠拢。

Jetpack Compose使得适配各种分辨率与比例的屏幕变得更为容易,与此同时,Jetpack还有很多其它的功能,用于逐渐替代传统的库。比如Navigation,WorkManager,Room,DataStore,Macrobenchmark等等。

绝大多数新的API,都是为Kotlin优化的,而这些 API 会不断的补充与完善,直到实现Android开发所需要的全部功能,而旧的方式会保留原样。可以认为,Jetpack系列的Android API 是对整个 Android API 的一种革新,是对旧有开发方式的迭代。

新主题,新操作系统,新的开发API,新的开发工具,这一系列的革新,最终将会导向一个新概念:Modern Android Development,看起来,谷歌会把给新时代安卓提供的这些开发方式有机的结合起来形成新的安卓开发宇宙。

这,看起来会是一个很有前途的概念,集开发工具,API,语言,分发技术为一体,个性鲜明而强大,欲知详情,可前往GDS大会观看相关内容。


3.4 手表Wear OS的更新

本次大会也公布了Wear OS的更新,其中的细节值得Wear OS相关开发者关注,实际可体验的产品有三星Galaxy Watch4系列,帮助开发者打造更丰富,更具沉浸感的用户体验,Jetpack Compose体系也进入了Wear OS 开发的工具链,终端设备相关开发者可以考虑尽早尝试相关产品。

以上的各种API更新,尤其是Jetpack Compose这种改变开发模式的更新,肯定离不开对Android Studio的更新,所以,也建议大家更新Android Studio的版本进行尝试。

四,建议探索谷歌开发者大会的方式。

前面说过,技术方面的探索可以建议使用谷歌开发者大会的在线课程,我个人在去年开始就尝试过其中的图文篇,也就是codelab,这个教程含有大量的「引导式编程练习」,个人觉得是快速尝试GDS所介绍的编程相关新知识点的有效工具。

当看到演讲视频中的概念感到难以理解,或者觉得视频太长时,可以直接上手尝试相关代码,快速浏览所有知识点,比自己在本地搭建一套对应开发环境要更直观。而当尝试过程中遇到不理解或者困难的时候,再考虑有针对性的观看对应主题的视频讲解,如此或许会更有效率。再给大家放一下学习路径:


最后:个人觉得今年的谷歌开发者大会,比之前更强调多元分享与成长的理念,建议大家关注微信的 @谷歌开发者服务号 ,不止是第一时间能了解最新技术资讯,而同时更强大的开源社区的构建,也需要每一位开发者的多沟通,多交流,多分享。




  

相关话题

  如何看待 2020 年美国企业的芯片销量在全球占比达到 47%,但芯片制造只占市场份额的 12%? 
  未来一百年,可能出现哪些改变世界的发明? 
  如何评价《中国2098》科幻系列作品水平? 
  近二十年美国为什么能够出现像比尔盖茨,马斯克,乔布斯这样影响和改变世界的人物? 
  网关、路由器、三层交换机之间的区别在哪里? 
  让人类和平地发展一百万年,人类有可能统治银河系吗? 
  为什么苹果能做到软硬通吃,而微软和 Google 却不行? 
  是不是中国科学家要做出实用价值才能得奖,而西方的如牛顿 爱因斯坦却不用? 
  在经济水平超过美国后,我们还会走、还有必要走天朝特色的发展道路吗? 
  不同时代,有哪些创新科技真正「点亮了一代人」? 

前一个讨论
为甚么知乎上对码农的前途的看法和CSDN上看到的差距这么大?
下一个讨论
c语言0xFFFF换成十进制不应该是65535吗?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利