解析Avito iOS应用程序:任何问题

你好 今天,在我们的博客中,我们已经举行了传统的“问我所有问题与解答”部分。 (在此之前, 后端android开发都有AMA )。 我们继续保持良好的传统。 这次,我们将主要关注iOS的总体开发,尤其是Avito应用程序的功能。



如何与俄罗斯最受欢迎的分类网站的应用配合使用? 问我们! 我们将回答所有有关第一级的评论,这些评论将在莫斯科时间6月6日中午之前在此处显示。 在削减的范围内,我代表我的七个同事与您联系,向他们介绍有关Avito中的iOS开发以及可能进行对话的话题。


UPD:我们已正式关闭AMA,但我们承诺将尽可能回复评论。 谢谢大家的参与!


AMA会员


叶夫根尼·苏沃洛夫(Evgeny Suvorov kokax)


图片
“移动架构团队的负责人,负责产品的技术质量,开发人员对内部开发工具的开发和支持的满意程度。 自2011年以来,Avioto一直致力于iOS开发,并于2014年成为第一位移动开发人员。”


阿列克谢·希皮科(Alexey Shpirko Truealex)


图片
“团队负责人致力于加速移动应用程序的发布,在移动应用程序中构建CI / CD,开发用于UI测试的工具。 自2014年起在Avito开业。 您可以在此处查看有关Mobius 2018的报告,以了解有关我在做什么的更多信息。”


伊万· 邦达 · 伊万邦达


图片
“自2012年以来,我一直为iOS开发移动应用程序开发团队的负责人,并于2.5年前加入了Avito团队。 我结合了iOS开发人员,scrum管理员和小型跨职能团队负责人的角色。 除了iOS,我还在编写一些后端,以帮助其他团队。”


Artyom Razinov artyom-razinov


图片
“一名iOS开发人员,自2011年以来一直在iOS中使用Avito,时间超过三年。 他参与了所有工作,最近,他100%地沉浸在UI自动测试中-工具,CI / CD等等。 我的爱好是:自动测试,双链接,灵活的API,代码生成,黑客,技巧和作弊。”


阿列克谢·库德里亚夫采夫(Alexey Kudryavtsev WEStor)


图片
“ IOS的​​开发者是Messenger部门的开发人员, SwiftyVK项目的维护者 ,Podlodka播客声音工程师 。 自2017年1月起在Avito开业。 在这段时间里,我设法在多个单元中研究iOS应用程序的不同部分。 在加入Avito之前,他曾在小型初创公司工作,曾为iOS和MacOS进行宠物项目。 除了发展外,我喜欢在空闲时间跑步,骑自行车或阅读一些东西。”


帖木儿(Timur Yusipov) fizmatchel


图片
“移动架构部门的iOS开发人员。 自2012年以来,我一直在为iOS开发。 Avito快三岁了。 在这段时间里,我从事许多工作,从功能开发转到平台开发。
最近从事:


  • 整体模块化(将目标文件从2000个文件分解为40个模块),
  • 通过简化模块之间的依赖关系图来优化装配,
  • 开发人员重复使用的实用程序的创建和维护:UICollectionView的包装,导航工具,Diplinking工具,自己的Swiftlint规则,用于加快新代码编写速度的Xcode模板以及其他基础结构,
  • 自动化各种技术特征的测量(启动速度,干净的组装速度,干净的组装上的CPU利用率,模块尺寸,模块贡献者的数量,...)。
    我喜欢足球,溜冰和溜冰,沙滩排球,骑自行车,露营。”

Vadim smal vadimsmal


图片
“移动架构部门的iOS开发人员。 自2012年起为MacOS / iOS开发。 在Avito工作1.5年。 我正在开发解决方案以提高开发速度并保持应用程序的质量:切换,DI,分析发送系统,自动化指标测量,各种项目状态检查等等。
我对学习新技术感兴趣,例如机器学习和区块链。 我正在学习新的平台,方法和语言,例如Go上的微服务。”


有关在Avito中进行iOS开发的一些事实


  • 在Avito,我们非常关注移动应用程序。 我们计划保持这种趋势。
  • iOS开发团队使用Swift。 他已经取代了我们产品中的Objective-C。
  • 我们投资于开发和推广工程实践-CI,CD,代码审查,测试自动化。
  • Avito中iOS开发的一个重要功能是其模块化体系结构,该体系结构允许几组开发人员在没有冲突的情况下开发大型项目并快速响应用户需求。

可能的问题和讨论话题


  • 我们的应用程序如何工作。
  • 我们如何与大型团队一起开发iOS应用程序。
  • 代码的单一存储库:“痛苦”和利润
  • 工作流程:代码审查,拉取请求,运行测试,检查。
  • CI / CD。
  • 自动化测试。
  • 旧版:我们如何处理。
  • 内部开发解决方案:导航,代码生成,功能切换,联网,构建列表解决方案,DI,分析,深层链接。
  • 度量的度量和优化:构建/启动时间,应用程序大小,依赖项数量,程序集中的CPU利用率。
  • 产品开发,跨功能,A / B测试。

Avito的IOS开发内容



我们正在等待您的评论中的问题!

Source: https://habr.com/ru/post/zh-CN413211/


All Articles