Analisando o aplicativo Avito iOS: Ask Me Anything

Oi Hoje em nosso blog, já estamos realizando a seção tradicional de perguntas e respostas, pergunte-me qualquer coisa. (Antes disso, havia AMAs para o back-end e para o desenvolvimento do Android ). Continuamos uma boa tradição. Desta vez, focaremos o desenvolvimento para iOS em geral e os recursos do aplicativo Avito em particular.



Como funciona com a aplicação do site de classificados mais popular na Rússia? Pergunte-nos! Responderemos a todos os comentários do primeiro nível, que aparecerão aqui antes do meio dia de 6 de junho, horário de Moscou. Na parte inferior, represento sete de meus colegas que entrarão em contato com você, falarão um pouco sobre o desenvolvimento do iOS no Avito e sobre possíveis tópicos de diálogo.


UPD: Fechamos oficialmente a AMA, mas prometemos responder aos comentários sempre que possível. Obrigado a todos por participarem!


Membros da AMA


Evgeny Suvorov kokax


imagem
“O chefe da equipe de arquitetura móvel, responsável pela qualidade técnica do produto, pela satisfação dos desenvolvedores com o desenvolvimento e desenvolvimento / suporte de ferramentas internas de desenvolvedores. Em desenvolvimento para iOS desde 2011, o Avito se tornou o primeiro desenvolvedor móvel em 2014. "


Alexey Shpirko truealex


imagem
“O chefe da equipe envolvido na aceleração de lançamentos de aplicativos móveis, na criação de CI / CD em aplicativos móveis, no desenvolvimento de ferramentas para testes de interface do usuário. No Avito desde 2014. Você pode descobrir mais sobre o que estou fazendo consultando meu relatório para o Mobius 2018 aqui . ”


Ivan Bondar ivanbondar


imagem
“O chefe da equipe de desenvolvimento de aplicativos móveis, que desenvolvo para iOS desde 2012, se juntou à equipe Avito há 2,5 anos. Combino os papéis de desenvolvedor de iOS, mestre de scrum e chefe de uma pequena equipe multifuncional. Além do iOS, estou escrevendo um pouco de back-end, ajudando outras equipes. "


Artyom Razinov artyom-razinov


imagem
“Um desenvolvedor de iOS, no iOS desde 2011, no Avito há pouco mais de três anos. Ele estava envolvido em tudo, recentemente, ele está 100% imerso em testes automáticos de interface do usuário - ferramentas, CI / CD e tudo mais. Meus hobbies e hobbies: autoteste, diplinking, API flexível, geração de código, hacks, truques e truques. "


Alexey Kudryavtsev WEStor


imagem
“Desenvolvedor de iOS da unidade Messenger, mantenedor do projeto SwiftyVK, engenheiro de som do podlodka. No Avito desde janeiro de 2017. Durante esse período, consegui trabalhar em diferentes partes do aplicativo iOS em várias unidades. Antes da Avito, ele trabalhou em pequenas startups, fez projetos de animais de estimação para iOS e MacOS. Além do desenvolvimento, gosto de correr, andar de bicicleta ou ler algo no meu tempo livre. ”


Timur Yusipov fizmatchel


imagem
“O desenvolvedor do iOS da unidade Mobile Architecture. Desenvolvo para iOS desde 2012. Avito tem quase 3 anos. Eu estava envolvido em muitas coisas durante esse período, fui de um desenvolvimento de recursos para um desenvolvimento de plataforma.
Recentemente envolvido em:


  • modularização monolítica (quebrou o alvo com mais de 2000 arquivos em mais de 40 módulos),
  • otimizar a montagem, simplificando o gráfico de dependência entre os módulos,
  • criação e manutenção de utilitários reutilizados pelos desenvolvedores: wrappers sobre o UICollectionView, uma ferramenta de navegação, uma ferramenta de diplinking, suas próprias regras Swiftlint, modelos de Xcode para a velocidade de escrever novo código e outras infraestruturas,
  • automação de medições de várias características técnicas (velocidade de inicialização, velocidade de montagem limpa, utilização da CPU em uma montagem limpa, tamanhos de módulo, número de colaboradores de módulo, ...).
    Eu gosto de futebol, patinação no gelo e patins, vôlei de praia, ciclismo, camping. ”

Vadim smal vadimsmal


imagem
“O desenvolvedor do iOS da unidade Mobile Architecture. Desenvolvido para MacOS / iOS desde 2012. Em Avito há 1,5 anos. Estou desenvolvendo soluções para aumentar a velocidade do desenvolvimento e manter a qualidade do aplicativo: alternância, DI, sistema de envio de análises, medições automatizadas de métricas, várias verificações de status do projeto e muito mais.
Estou interessado em aprender novas tecnologias, como aprendizado de máquina e blockchain. Estou aprendendo novas plataformas, abordagens e idiomas, por exemplo, microsserviços on Go ".


Alguns fatos sobre o desenvolvimento do iOS no Avito


  • Na Avito, prestamos muita atenção aos aplicativos móveis. E planejamos manter essa tendência.
  • A equipe de desenvolvimento do iOS usa Swift. Ele substituiu o Objective-C em nossos produtos.
  • Investimos no desenvolvimento e na promoção de práticas de engenharia - CI, CD, Code Review, automação de testes.
  • Uma característica importante do desenvolvimento do iOS no Avito é sua arquitetura modular, que permite que vários grupos de desenvolvedores desenvolvam um grande projeto sem colisões e respondam rapidamente às necessidades do usuário.

Possíveis perguntas e tópicos para discussão


  • Como nosso aplicativo funciona.
  • Como estamos desenvolvendo nosso aplicativo iOS com uma grande equipe.
  • Monorepositório para o código: "dores" e lucros
  • Fluxos de trabalho: revisão de código, solicitações pull, execução de testes, verificações.
  • CI / CD.
  • Teste automatizado.
  • Legado: como lidamos com isso.
  • Soluções de desenvolvimento interno: navegação, geração de código, alternância de recursos, rede, solução para criação de listas, DI, análises, links diretos.
  • Medições e otimização de métricas: tempo de criação / lançamento, tamanho do aplicativo, número de dependências, utilização da CPU na montagem.
  • Desenvolvimento de produtos, funcionalidade cruzada, teste A / B.

Conteúdo de desenvolvimento IOS com Avito



Estamos aguardando suas perguntas nos comentários!

Source: https://habr.com/ru/post/pt413211/


All Articles