揭秘《阿里巴巴Android开发手册》


不久之前谷歌的Android P预览版问世,几大手机厂商也联合推出了快应用,我们看到了移动开发迎来了新的活力,移动应用已经渗透到人们生活的方方面面,那么阿里继去年推出Java手册之后,在春节期间推出的《阿里巴巴Android开发手册》的目的是什么呢?为此,我们第一时间采访了阿里巴巴高级无线开发工程师、手册的主要作者之一芸墨,为大家揭开其背后创作故事,并在此与大家分享采访结果。

Android开发手册有哪些内容?

《阿里巴巴Android开发手册》全篇分为9个章节,分别是Java语言规范,Android资源文件命名与使用,Android基本组件,UI与布局,进程、线程与消息通信,文件与数据库,Bitmap、Drawable与动画,安全及其他内容,即主要涵盖了Android开发的性能、安全性和稳定性问题。作者认为这些章节不分主次,都是开发者在进行业务开发时容易忽视的问题,大家可根据实际情况参考。

Android开发手册是怎样诞生的?

阿里做这件事的初衷源于双十一,由于每年在双十一准备期间都要成立专家组去集中扫荡线上crash,把crash率降到0.1%以下,修复bug以后,可能在不久的将来又会重现,那如何把专家的经验沉淀下来得以复用呢?

在这些过程中,他们把一些常见crash的分析沉淀了下来,把一些结合codestyle写到了阿里Android开发手册里,还有一些写成了自定义规则放到了持续集成平台和IDEA插件里,比如常见的CursorWindowAllocationException、SuperNotCalledException和ConcurrentModificationException这一类的问题。后来他们想把这些好的经验开放出来跟大家一起分享,所以《阿里巴巴Android开发手册》就面世了。

然而手册发布之后,在引起高关注度的同时,也引发了不少读者的质疑,很多人认为阿里在技术分享上动作频频,连发两个手册,是否是内部KPI推动的结果。对此,芸墨表示这并不是KPI任务,各研发团队的主管并没有给大家硬性指标,手册的编者都是集团各大APP的一线业务开发者,来自淘宝、天猫、闲鱼和支付宝等团队,他们都是自发地组成一个虚拟项目组,本着前人栽树后人乘凉,前人踩坑后人平路的心态,总结日常中解决的诸如性能、稳定性、安全、UI适配等问题的经验,并在日常的业务工作之余完成了手册的内容。

三个等级划分的标准是什么?

不管是之前Java手册还是现在的Android手册,阿里都按照约束力强弱将规则划分了强制、推荐、参考三个等级,对于这几个等级的制定,芸墨是这么解释的:

(1)把会造成线上稳定性问题、严重的性能问题和展示问题,常见的安全问题的写法定义为【强制】级别的。

(2)把一些阿里的最佳实践和一些经验沉淀定义为【推荐】级别的,比如很多开发者最近都在问的“文本大小使用单位dp这一条是不是有问题,难道不是应该用sp吗?”

实际上,在App在开发时,视觉都是设计好了整体UI布局和控件的尺寸、位置,根据操作系统字体大小设置动态调整app字体会造成开发成本高到不可承受。在Android上,很多App对文本采用了sp作为单位,事实上就造成了它们的UI在字体大小变化的情况下完全无力适配,内容显示异常。所以,约定的时候就考虑到了现实情况。如果一个产品在设计的时候就已经考虑到对字体设置的需求,那是可以无视这一条;只是大部分的app在设计的时候视觉交互其实只有一套,对他们来说的话如果忽略了这个问题用sp就会造成UI显示的缺陷。

(3)把一些阿里内部各个团队自己的约定定义为【参考】,即大家可以自行决定是否使用。

如果规范与需求发生冲突,该如何应对?

一般说来,产品经理需要保证自己需求的还原性和整体体验,开发者也希望自己写出的代码美观整洁bug少,大家都是同一战线的伙伴,但是手册中明令禁止的行为可能会对产品的可用性造成很严重的影响,会影响产品的线上使用,所以芸墨并不赞成开发者违背规范中强制的内容,而对于推荐和参考的内容,只要不影响产品的用户体验,开发者择优选择即可。

Android手册面向哪些开发者?

虽然手册面向的主要是Android开发者,非Native的开发者如果指纯H5的开发者那可能跟规约并没有直接联系,如果指的是RN这种新兴的动态化框架的话,那么规约在性能优化、安全等方面依旧是可以为他们提供开发上的参考。

再者,芸墨认为,无论是H5、RN、微信小程序的开发,还是IOS/Android原生开发,在UI framework这个层面原理是相通的,并不是新技术新框架出现了,已有的框架就被完全推倒重来。其次,RN、微信小程序越来越受关注是因为他们体现出来的组件化、动态化、快速部署的能力对原生开发者产生了巨大的吸引力,但是在这个过程中,JavaScript扮演的更多的是一种DSL(domain specific language)的角色,而不是说一看到JavaScript就等同于前端开发,他们本质上还是运行在原生操作系统上的,所以Android手册里的内容对那些学习新框架的Android原生开发者仍是不可或缺的基础。

关于未来

对于Android手册,阿里会时刻关注和及时回复线上的用户反馈,前期保持一个月一版本的迭代速度,中后期会根据Android的系统更新情况半年一次迭代,并表示iOS开发手册内部版本正在筹划对外开放中,敬请期待~

Android手册的内容都是阿里集团业务开发者的经验总结,也结合了Google和业界的一些最佳实践,去年已经在集团内部公示过很久,也得到了广泛的认可。一个行业标准手册出之不易,阿里表示他们会秉持着开放的态度,欢迎业内同行一起参与意见反馈和完善工作,这是他们愿意见到的行业幸事。

手册下载链接

https://click.aliyun.com/m/44351/

受访嘉宾简介

龚能(花名:芸墨)阿里巴巴高级无线开发工程师,2014年入职阿里巴巴,主要负责集团无线静态代码扫描体系建设和持续集成平台开发,《阿里巴巴Android开发手册》的主要作者之一。

本文文字及图片出自 InfoQ

你也许感兴趣的:

  • 谷歌扶持鸿蒙上位?
  • 【外评】安卓系统的 RISC-V 支持遭遇重大挫折
  • 把Android手机变成电脑摄像头,开发者倒苦水:40行代码搞定,但需要40个项目文件支持!
  • 微软将把Android 13带到Windows 11上
  • 在谷歌刚发布的安卓13里,我又找到了华为的技术。。。
  • 为啥小米开发者提交了两行代码 就被网友喷了?
  • 小米提议禁止安卓手机提取 APK 文件,遭谷歌驳回
  • 最新一代安卓系统来了!安卓12新特性详细解析
  • 谷歌正式发布Android 12:可谁又在乎呢?
  • Android 12上全新的应用启动画面,适配一下?

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

PHP网站源码观澜推广网站福田营销网站丹竹头模板网站建设坪山建设网站南澳网站搜索优化惠州网站设计松岗网站优化排名坑梓百度爱采购塘坑阿里店铺托管广州模板网站建设坂田建网站大鹏百度爱采购吉祥关键词按天收费南澳百度爱采购民治优秀网站设计沙井百姓网标王坪山建设网站南澳网站优化按天扣费大浪网站定制同乐网站推广方案东莞百度seo宝安seo网站推广同乐如何制作网站大鹏营销型网站建设荷坳模板网站建设南联网络推广大鹏百度网站优化排名观澜百度竞价平湖网页设计龙华高端网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化