
哈Ha! 我叫Alexander Kolobanov,我是FunCorp的Android团队负责人。 十一月,我在旧金山的一个机器人上。 在剪辑下,对会议进行了简短的回顾,旅行记录和几张照片。
为什么要飞那么远?
Droidcon会议不仅在美国举行,而且在欧洲举行。 飞往那里的价格越来越便宜,但是根据我的经验,我可以说地理位置决定了。 会议离Google和其他顶级IT公司的总部越近,著名演讲者参加会议的可能性就越大。
另外,不同地方的组织者不同,只有他们的名字将他们团结在一起。 因此,您需要分别查看每个城市。 我认为,droidcon NYC通常是一顶礼帽。 在欧洲,我要提到droidcon伦敦-关于组织质量和报告水平的一次有价值的会议。 对于来自欧洲的Android开发人员来说,它也许是最主要的。 我也曾参观过的柏林和维也纳的droidcon更适合初学者和中级开发人员,关于它们的知名演讲者和铁杆报道很少见。
如果我们将droidcon SF与俄罗斯的droidcon SF进行比较,则其组织者对食物(有咖啡-可以)和参与者方便等事情的考虑较少。 没有人发送有关到达那里的详细计划,有20条提醒他们的会议即将召开,没有使机器人和讨论平台以及其他所有内容成为现实。 没有轻浮,超详细的导航和nishtyakov的别致。 这里,首先(以及第二和第三),技术部分和报告级别。 这并不意味着有一些一般的报告可能会泄漏到程序中,但是通常droidcon SF是开发人员为开发人员而召开的会议,那里只有高端内容和杰出的演讲者。
考虑到所有这些,我要说的是旧金山会议的计划是一个高水平的计划。 坦率地说,没有来自hacker.android.com的教程重述的报告。
运输及其他费用
美国不是一个便宜的国家,如果您从我们的部分起飞,则不可能在航班上节省很多钱。 此外,每个人都需要不同程度的生活舒适度,而一个人可以接受的生活却不适合另一个人。
始终有效的通用建议:提前购票并预订住宿。 您可以尝试寻找折扣票并仔细查看销售情况。 在专门用于节省旅行的社交网络的网站和专业团体中,有很多关于此类事情的信息。 您应该看看中端航空公司,它们通常提供的服务不会比陡峭而昂贵的服务差。 好吧,一般来说,在大西洋两岸,无论级别如何,服务通常都在每个人的水平上。 低成本航空公司不会以这样的距离飞行(而且很可能)。 而且,由于航班的费用是差旅预算的重要组成部分,因此,如果有这样的机会,最好将会议旅行与假期结合起来。 在美国有很多值得一看的东西。




传统上,各州的出租车很昂贵。 因此,建议:使用公共交通工具或拼车服务(这是出租车接载多名在相似路线旅行的人并分担旅行费用的情况)。 在城市之间,最好乘公共汽车旅行或租车。 该城市的停车价格高昂,而且条件艰巨而陌生(例如,您不能在每月第二个星期四的上午8点至上午10点停车-留点数),而铁轨非常方便,安全,路上的人大多没有侵略性且可预测。
如果我们谈论住房,那么您将无法节省太多,尤其是在旧金山这样的昂贵城市中。 对于恋人,这里有教练冲浪,但其余部分相同-提前预订。
会场会议在米申湾会议中心举行。 它位于加利福尼亚大学旧金山分校的一栋建筑中。 顺便说一句,在同一栋建筑中,有图书馆,健身室和咖啡馆。 尽管有相当多的参与者(超过800名),但仍有足够的空间。 在走廊上,有时我们不得不四处走动,但是大厅里有足够的空间供所有人使用,没有人站在墙壁上。
米申湾会议中心本身就位于市中心附近(距离市中心出租车10分钟路程)。 在这里,我们需要说明一下:旧金山本身是一个相当紧凑的城市。 从市中心到机场,乘坐出租车大约需要40分钟(在高峰时间要多一些)。 因此,原则上不应出现为了到达那里的问题。 那个地区唯一的公共交通工具非常复杂,所以我宁愿打车。
会议被分配为2层,每层有两个房间:大和小。 登记处就在入口处,上面印有徽章和T恤。 尽管有大量参与者,但一切进展都很迅速。 只花了几分钟就获得了徽章。 在主题演讲之前的早晨,出现了一个小队列。 顺便说一下,T恤衫的数量几乎不受限制,不仅在登记时,而且在许多摊位上。 就这样
登记区的后面是一个大大厅,每个人都已经从这个大厅分散开来。 它还有一个展示区,上面有赞助商的摊位(顺便说一句,在二楼有更多摊位,建筑物比较密集)和咖啡点。 您可以从大厅直接进入校园内的一个小公园。 尼斯和舒适。




组织时刻
一切都组织得井井有条,但与俄罗斯会议相比却有些不同寻常。 肯定没有大惊小怪,更多地关注报告和技术方面。 从“食物”中只有茶和咖啡。 一般而言,我们会更加注意咖啡时间,饮食和营养。 在这里,除了热饮,什么都没有。 更准确地说,在午餐时间,他们仍然用装有“可乐”罐的冰箱进行冷藏。 如果您想吃东西-在那附近的拐角处,有一个咖啡馆,您可以在那里购买三明治。 没有超级护理和超监护权给您。 顺便说一句,这就是规范。
午餐本身也很划算:一个苹果,薯条和一个三明治。 正式进食,但没有更多。 许多学生在同一个公园的长凳上吃午餐。
但是,特别值得一提的是组织的技术部分。 尽管WIFI是从校园开放的,但实际上几乎没有问题。 只需几分钟,扬声器就可以很快建立并连接。 在报告期间,我们不断进行监控,以确保一切正常。 例如,当扬声器开始说话时,它们甚至几乎立即降低声音并增加声音。 总的来说,我没有注意到一个障碍物和设备问题,一切都很棒。 除非所有报告都在会议厅周围佩戴麦克风,否则演讲者自己讲出了向他们提问的问题。
来自不同寻常的地方:我真的很喜欢安静的房间。 只是一个房间,您可以在那里进餐,喝茶,静静地坐在笔记本电脑旁,并远离大型会议的喧嚣。




程序
报告几乎从早到晚分为四组。 该站点于上午8点开放,第一份报告于9点开始。一切都在晚上7点左右结束。 这些线程没有明确的主题。 组织者很可能会根据每个报告的出席人数来分配时段。 主要主题包括CI / CD(就像过去几年中几乎所有的Android会议一样),UI测试(突然发现几乎没有人参加),Kotlin(我们现在在哪里没有它),体系结构应用程序(收集两名Android开发人员,不久他们将说“建筑”)。 总之,这里的一切都很标准。 关于主题演讲,我不能说什么有趣的,只是。 他们谈到了以下事实:我们制作的应用程序几乎可以在每个人的手机上使用,我们塑造了这个世界,以及人们如何在其中互动和交流。 但是我还记得Romain Guy和Chet Haase的喜剧表演(尽管最初没有计划喜剧)的闭幕表演-在Android开发领域非常有名的人,他们在Google工作了很长时间,并且在很多方面都做了定义平台现在的外观。 我认为许多人在Google I / O上观看了有关硬件加速,动画和渲染的性能(顺便说一句,很酷)。 如果您不看,我强烈推荐您。 我不想
谈论他们最后的
喜剧话题 ,因为
讲笑话很一般。 最好自己看看。
如果您尝试突出显示最重要的报告,那么结果将纯粹是个人化的,并取决于我最感兴趣的报告。 这是:
Slack的Valera Zakharov的《
如何从头开始构建性能测试管道》 。 出色的性能,直接射击。 很多好的实用建议和有趣的经历。 关于以下事实的报告:如果没有独立的团队来支持自己的设备场,则不要创建自己的设备场。 而且重要的是,不仅要使应用程序快速运行,而且要确保从提交到提交的过程中不断进行下去,以确保其保持这种状态并且不允许进行回归,这是多么重要。 而且,如果测试经常“制造噪音”并徒劳无功,那么它们的成本会很高,因为很快每个人都会开始忽略它们。
以人为本的API设计 ,Pierre-Yves Ricau,广场。 它与LeakCanary的其他开发人员一起制作了LeakCanary和一堆同样知名的库。 他讲述了如何为人们制作外部API。 使其直观。 因此,将使用它的人的错误率降到最低。 一个好的报告不仅与编写外部API有关,而且与总体上如何正确设计有关。 顺便说一句,您的应用程序任何模块的API毕竟也应该简单易懂,对吧?
Snapchat ,Ben Dodson,Gustavo Moura
为Snapchat打造未来 -出乎意料,但来自Snapchat。 关于如何重新构建4年以上的应用程序,它相当缓慢,并且在整个生命过程中多次更改了概念。 通常,现在首先是摄像头,然后是聊天。 甚至在您编写它时,Retrofit也不是。 主要思想是您不必着急重写所有内容。 理解您的优先级和想要的东西,引入指标并严格遵守它们将是很好的。 虽然某些模块可以从头开始重写。 是的,事实上,这已经是一个不同的应用程序,需要以某种方式将其引入用户中,有时只是用一个模块替换另一个模块并试图防止所有模块掉下来是不容易的。 基于真实事件。
有许多有趣而有用的报告。 您可以重点介绍Uber开发人员的故事,他们如何在内存不足的情况下奋斗。 通常不仅导致泄漏和大量内存消耗,而且导致大量线程。 毕竟,例如,每个线程都会在堆栈下为其分配一块内存。 很少有线程也很糟糕:由于缺少线程而相互依赖的任务将进入线程饥饿死锁(正如他们所说的那样,当一个任务等待另一任务的结果时,情况就变得糟糕了,而那些老旧的任务则缺少线程来执行)。 解决这种情况的方法非常简单:在整个应用程序中使用一种工具进行多线程处理(他们选择了Rx)并了解其工作原理。 例如,对于Rx,请检查调度程序之间的差异。
来自Facebook的开发人员展示了一个用于处理Spectrum图像的新库。 按照传统,Facebook库使用本地代码,包括MozJPEG,现在它是JPEG的最佳编解码器之一。 能够编码,压缩,优化,添加各种转换。 通常,一个相当有趣的功能,在此之前很难以易于使用的形式找到它。
从关于Kotlin的名为
Advanced Kotlin的报告中,您可以发现您在Kotlin中是高级的,如果您知道infix和tailrec是什么,请区分泛型类型的in和out,您知道where和密封类。 好了,您也可以在lambda上构建类似的dsl。
Tinder和Netflix也提供了有关UI架构的好报告。 可以说,前者在通过操作切换的状态上创建了反应式UI,并为此使用了架构组件中的LiveData和ViewModel。 后者构成了自己的组件,将逻辑的一部分与视图一起封装,并通过事件总线的实现将它们连接在一起。
因此,有很多不错的报告,而提及每一个值得关注的内容可能要花费十几页。 坦率地说,并不是任何报告都是糟糕的。 但就我个人而言,我不喜欢罗曼·盖(Romain Guy)关于摄影的报道。 它甚至不关乎如何从应用程序中拍摄照片,而仅关乎摄影理论。 当然,他是一位受人尊敬的开发人员,但是人们为与Android开发有关的会议而不是摄影课程付了钱。



联播网
这样,就没有与发言人或至少一个特殊区域进行交流的空间。 通常,演讲者在演讲后回答了听众的问题,然后邀请他们以“我会一直待到最后-赶紧问我会很高兴”的方式非正式地进一步对话。 但是有细微差别。 几乎所有来自演讲者的公司都在展台上,不仅演讲者而且公司的其他开发人员都在这里闲逛,所以上来并提出感兴趣的问题不是问题。 所以看台很有趣,有时很热闹。
谁应该访问droidcon SF?
对于那些想听听著名开发人员的应用报告,然后亲自询问如何为谁服务的人,这次会议是值得参观的。 气氛非常开放和友好。 但是我不建议那些经验不足的人参加会议。 报告非常复杂,会议的进度很高。 一天8节课很苛刻。 如此严重,以至于Slack在其展位上分发了一个生存工具包-一个装有维生素和头痛药的袋子。 而且,正如您所知,在每个笑话中只有一小部分笑话。 另外,至少在这次,许多主题不仅涉及编程,还涉及基础架构,其经验和实践。 因此,团队负责人和开发经理还可以在droidcon SF上找到适合自己的内容。
尽管CI主题,测试以及与之相关的一切仍然活跃并且非常相关,但值得QA和DevOps工程师使用。 顺便说一句,我有趣的观察之一:在那些有代表的公司中,他们经常谈论工程师,而没有将他们分为开发人员,测试人员和基础架构。 这体现在以下事实上:许多人可以更改其角色,例如,作为开发人员,可以进入基础架构团队。 为什么不呢,还是工程师。
总体印象
总体印象是非常积极的。 我原以为报告会比较弱,但是几乎没有“通过”。 原则上,我准备组织食物,或者说没有食物。 我希望理解所讲的内容可能会有问题,但是大多数发言者讲得很清楚,并没有真正加快步伐,因此原则上没有问题。 有时,您需要一点时间来适应这种口音。 技术组织和非正式沟通显然超出了预期。 这不仅是我的观点。 报告厅和报告台之间有很多有趣的讨论。


PS以下链接是我们博客中其他国外会议的评论:
droidcon维也纳Atlassiandroidcon伦敦后藤柏林网络峰会