
Em 2018, a App Store e o Google Play completaram 10 anos. No decorrer desta década, algumas aplicações, começando como pequenas startups, cresceram em projetos gigantescos - e no caminho superaram muitas transformações, encheram muitos cones e aprenderam muitas lições.
Abrimos os vídeos do Mobius 2018 Moscow e publicamos os 10 melhores em Habré (de acordo com as classificações de audiência). E, em alguns deles, palestrantes que trabalham em grandes empresas descrevem apenas as mudanças associadas ao crescimento. Existem outros tópicos também: por exemplo, você costuma descer para o nível de codecs e soquetes no caso de vídeo?
Os relatórios da lista estão em uma classificação cada vez maior - portanto, os espectadores mais queridos estarão no final do texto. E para aqueles que estão interessados e não estão incluídos nos dez principais relatórios, também fornecemos um
link para a lista de reprodução.
Monorepo: viagem de volta. A história da modularização no Badoo
Plataforma:
iOSPalestrante:
Anton SchukinApresentação do relatórioEm 10º lugar - apenas "a história do crescimento e a experiência que o acompanha". No badoo
Eles estão envolvidos no desenvolvimento do iOS há nove anos e, durante esse período, não apenas a empresa, mas toda a indústria mudou (é difícil imaginar, mas uma vez que a humanidade existia sem o CocoaPods).
Não é de surpreender que a abordagem da estrutura de repositórios e projetos no Badoo também tenha mudado significativamente, e esse não foi um movimento linear do ponto A para o ponto B - a partir de um repositório, você pode eventualmente voltar a ele, mas em um nível diferente. Qual foi o caminho e quais foram os motivos das mudanças em cada caso?
Como armazenar informações em cache em um aplicativo Android e não dar um tiro no pé
Plataforma:
AndroidPalestrante:
Dmitry VasilievApresentação do relatórioParece que a tarefa de armazenamento em cache (inclusive no Android) não é nova - mas não se torna menos relevante com isso, e os erros não param de ser feitos, portanto os relatórios permanecem úteis. Bem, não é sem razão que um dos dois principais problemas da ciência da computação está relacionado ao cache!
Tipos de cache apresentados no relatório:
- Cache lento
- Cache sincronizado
- Cache de gravação
- Cache LRU.
Arquitetura móvel em uma grande equipe
Plataforma:
Android / iOSPalestrante:
Alexander MikhailovApresentação do relatórioO Uber é talvez o exemplo mais famoso de uma "grande equipe móvel" do mundo; centenas de desenvolvedores se tornaram um sinônimo. Não é de surpreender que a empresa esteja enfrentando dificuldades que as equipes pequenas não enfrentam. Ao mesmo tempo, ela, como o Badoo, chegou ao desenvolvimento móvel como uma startup, portanto o caminho para o estado atual era longo e sinuoso. O que exatamente, a que dificuldades você se deparou e como lida com elas?
A quantidade de benefícios práticos que você pode obter do relatório está parcialmente correlacionada com o tamanho da sua equipe - se você trabalha em um grupo pequeno, isso pode não ser útil em suas tarefas imediatas. Mas, de qualquer forma, é interessante o que os gigantes têm lá!
Abordagem arquitetônica para tratamento de erros
Plataforma:
Android / iOSPalestrante:
Dmitry MikhailovApresentação do relatórioQuem quer lidar com o tratamento de erros? Gostaria de criar bloqueios delgados de novos sistemas e não mexer nos casos em que algo deu errado. Como resultado, um tópico importante geralmente permanece privado de atenção.
Mas este relatório, combinando-o com problemas de arquitetura, pode fazer com que você olhe para o problema de uma nova maneira: para lidar com os erros corretamente, você só precisa criar um sistema bem equilibrado e adequado para cada uma das camadas.
Como cozinhar MVI bem feito para Android
Plataforma:
AndroidPalestrante:
Sergey RyabovApresentação do relatórioNo relatório, onde o título da arquitetura, alguém pode esperar diagramas UML sólidos. Lá estava: há muitos códigos específicos nos slides. Tanto é assim que alguns espectadores até se queixaram - é difícil perceber tantos seguidos vivos. Porém, ao assistir a um vídeo, há um botão de pausa, para que você possa usar o “MVI bem frito” em partes e sabor, em vez de engasgar.
Kotlin Puzzlers vol. 2
Plataforma:
AndroidPalestrante:
Anton KeksO que acontece se no Kotlin você tentar passar o valor -2_147_483_648.inc () para o parâmetro Int? Porque Anton mostra casos em que o Kotlin não se comporta de maneira óbvia e sugere primeiro adivinhar a opção certa e depois explica o que está acontecendo.
Este é seu segundo relatório sobre o comportamento não óbvio da linguagem e, para ambos, criamos versões em texto em Habré - então aqui você não pode apenas ver, mas ler:
Transmita e reproduza vídeos em cima de soquetes e codecs vazios
Plataforma:
Android / iOSOradores:
Alexander Tobol e Ivan GrigorievO consumo de conteúdo de vídeo no OK é gigantesco e, com o advento do OK Live, o streaming foi adicionado a ele. Não é de surpreender que, no desenvolvimento móvel, eles abordem as questões relevantes muito mais profundamente do que "pegue um jogador padrão e o liberte", e no relatório eles compartilhem seus conhecimentos. Como a tecnologia HLS da Apple é inferior ao DASH? Quais são as três prioridades no streaming que são inatingíveis ao mesmo tempo e a favor de qual é o WebRTC predisposto? Quando vale a pena fazer suas próprias soluções em vez de soluções padrão?
O relatório é dividido em duas partes, em uma transmissão simples com reprodução (quando o usuário consome apenas o vídeo) e no streaming móvel (onde os próprios usuários o criam ao vivo) - e se o segundo for irrelevante para você, é útil assistir pelo menos o primeiro.
Compiladores Dalvik. ART. E tudo no meio
Plataforma:
AndroidPalestrante:
Jonathan LevinAlguém se lembra de Jonathan por meio de palestras, mas, em vez de performances fantasiadas, ele se aprofundou: quais são os D8 e R8, por que eles eram necessários e o interior do Android que você precisa saber para entender isso? E resultou em um bom equilíbrio entre sério e fascinante: o tópico é bastante sério por si só, mas, graças a Jonathan, tudo não se transforma em uma palestra monótona, mas é muito animada.
Ao contrário dos Kotlin Puzzlers, não deciframos este relatório, mas o próprio Jonathan fez um
post em seu
blog - então aqui, se você estiver mais à vontade lendo, existe essa opção.
Extremos de teste: truques dos cantos escuros das interfaces móveis
Plataforma:
Android / iOSPalestrante:
Vitaliy FridmanSe os usuários gastam uma média de 169 minutos por dia em aplicativos móveis e 11 minutos em um navegador móvel, qual é a conclusão para uma empresa em particular? "O aplicativo é 15 vezes mais importante que um site móvel, concentre-se nele." Mas se você observar de perto, acontece que quase todos esses 169 minutos em que o usuário utiliza vários aplicativos favoritos - e todos os tipos de facebook instalados ali, é extremamente difícil competir com eles. E, neste caso, o alinhamento de forças se torna muito menos claro.
Este é um dos fatos curiosos ditos por Vitaly Friedman. Ao contrário dos relatórios com uma abundância de código, há uma nota em que eles não ensinam detalhes específicos - mas eles relatam muitas coisas gerais interessantes que ajudam a entender quais detalhes geralmente são melhores para implementar.
Android constrói na Lyft
Plataforma:
AndroidPalestrante:
Artyom ZinnatullinFinalmente, o líder da classificação. O número de módulos no aplicativo Lyft Android excede 800, o que afeta a montagem. Então, alguém pode pensar "se não entendemos isso na vida, por que deveríamos ouvi-lo" - mas as estimativas da audiência mostram que o relatório foi interessante não para os gigantes, mas para todos.
Entre outras coisas, o relatório diz "Bazel é o futuro" e, na época, parecia muito ousado. Mas aqui estão as últimas notícias: na
documentação do Android Q, eles notaram um exemplo de configuração do Bazel. Parece que o futuro está chegando, e vale a pena dar uma olhada no relatório para se preparar para isso.
Como você pode ver, houve muitas coisas interessantes no Mobius de dezembro. Se você deseja tais relatórios, mas também com a oportunidade de pedir pessoalmente ao orador, observe que o próximo Mobius será realizado em São Petersburgo nos dias 22 e 23 de maio , e o site já possui descrições da maioria dos relatórios. O preço atual dos ingressos é válido até o final de março, e eles subirão de preço.