Como eu fui ao Droidcon Berlin

Olá, meu nome é Vitaliy, sou desenvolvedor do Android no Tinkoff.ru, trabalho no escritório de São Petersburgo e este ano participei da conferência internacional Droidcon Berlin pela primeira vez, então queria contar brevemente sobre minhas impressões.


Este artigo não contém muitas informações técnicas, mas se você estiver interessado, os organizadores publicarão vídeos de todos os relatórios no YouTube ao longo do tempo.



O Droidcon é uma das conferências mais populares dedicadas ao desenvolvimento do Android, sendo realizada em 25 cidades e 4 continentes (Eurásia, África, América do Norte e Austrália). E se você considerar a Europa e a Ásia separadamente, o número de continentes aumenta significativamente para um número assustador - 5.


Este ano, reunimos uma equipe muito grande de duas pessoas que foram conquistar a capital alemã durante a Copa do Mundo.


Algumas palavras sobre as datas da conferência, elas estão flutuando e mudam de ano para ano. Em 2017, o Droidcon Berlin foi realizado de 3 a 5 de setembro de 2018 - de 25 a 27 de junho e em 2019, de 27 a 29 de maio.


Pelo bem, pode-se notar que a conferência é realizada de segunda a quarta-feira, ou seja, se você chegar com um pouco de antecedência, por exemplo, no sábado, restam 2 dias de reserva para apreciar a beleza da Berlim chuvosa.


Como chegar à conferência


Como se costuma dizer, todo petersburgo deveria levar um guarda-chuva e óculos de sol, além de um passaporte com um Schengen finlandês, então a única coisa necessária era apenas comprar um ingresso para a conferência. Comprar um ingresso para esta conferência não é diferente de comprar um ingresso para outro: quanto mais cedo você compra, menor o custo. Meu ingresso custa 200 euros e meu colega 150.


Até onde eu sei, o local do Droidcon Berlin não muda - este é o CityCube Berlin. Este complexo de exposições está localizado a apenas um quilômetro da cidade e a 200 metros da estação S-Bahn mais próxima.


Berlim é uma cidade moderna com uma estrutura de transporte bem desenvolvida e, portanto, não é necessário alugar moradias nas imediações do local. Pode ser alcançado de uma das seguintes maneiras.


  • A pé
  • De trem S-Bahn para S-Messe-Süd
  • Em bicicleta
  • Em uma bicicleta alugada (mobike, nextbike)

Eu gostaria de descrever o último ponto em mais detalhes. Berlim não é Amsterdã, mas andar de bicicleta na capital alemã é organizado em um nível decente, de modo que o compartilhamento de bicicletas é muito popular em Berlim. Existem várias empresas que fornecem serviços relacionados (NextBike alemão e Mobike chinês).



O compartilhamento de bicicletas na Alemanha é muito semelhante ao compartilhamento de carros na Rússia, pois as bicicletas podem ser estacionadas absolutamente em qualquer lugar da cidade. Portanto, você pode, por exemplo, voltar para casa de bicicleta à noite e sair de manhã com ela. Mas tenha cuidado: o CityCube Berlin está localizado fora dos limites da cidade e a bicicleta terá que ser deixada na estação de bicicleta perto da estação S-Bahn - Messe Nord ICC.


No caminho para o local da conferência, há voluntários amigáveis ​​que ajudaram a orientar no primeiro dia. Havia também placas ao longo da estrada, então se perder era muito difícil.



Sinal de estrada



Ponteiro perto da entrada


Como de costume em conferências durante o registro, você precisa obter um crachá para se mostrar e olhar para os outros. Eu não sabia como era antes, mas desta vez os organizadores decidiram otimizar o processo de registro e dividiram a fila pela primeira letra do nome.




Em geral, eu percebi que estar Vitaly nessa situação não é de todo lucrativo, fiquei chateado e fui para o 4º lugar.


Patrocinadores


Como de costume, os patrocinadores estão presentes nas conferências, fazem todo tipo de besteira, se anunciam e até às vezes pedem trabalho.


Este ano, houve muitos patrocinadores, todos poderiam dar uma bugiganga legal ou contar uma história interessante sobre seu trabalho e seus projetos.


  • A Huawei, fabricante de celulares, apresentou sua estrutura de realidade aumentada e um carro de coprodução com a Porsche. Provavelmente desenvolveu um sistema de entretenimento
  • Aqui está uma parte antiga da Nokia, uma empresa com sede principalmente na Alemanha e nos EUA. Desenvolver soluções cartográficas (anteriormente NAVTEQ). Eles conversaram sobre uma rede de parceiros que os fornece cartões para regiões complexas como China, Coréia do Norte e outros, bem como sobre o mecanismo para emitir várias versões de mapas, dependendo da sua localização, idioma e outras coisas (necessárias para resolver o problema dos territórios disputados)
  • Amazon - eles não precisam de uma introdução, disseram que na Alemanha desenvolvem principalmente sistemas operacionais para seus tablets
  • Ebay - na Alemanha, eles estão envolvidos principalmente no desenvolvimento de um análogo do Avito (Ebay Kleinanzeigen, não posso dizer isso)
  • Zebra - desenvolvimento de sistemas de software e hardware para leitura de códigos de barras, com sede nos EUA e na Grã-Bretanha
  • Gdg
  • O eDreams ODIGEO é um conglomerado de serviços para busca de passagens aéreas e hotéis e similares (eDreams, GO Voyages, Opodo, TravelLink, Liligo e outros serviços pouco conhecidos na Rússia). Desenvolvimento em Barcelona e Madri
  • N26 - um banco online sem agências. Eles dizem que trabalham com o princípio de Tinkoff, mas possuem apenas 1 milhão de clientes (contra 6 milhões de TFs) em toda a Europa. Disponível em 17 países. O centro de desenvolvimento está localizado em Berlim, abriu recentemente um novo escritório em Barcelona. Use ViewModel e LiveData.

Conferência


Prosseguimos diretamente para a conferência, este ano durou 3 dias:


  • Dia interativo (dia nº 0)
  • Dia 1 (Keynote Jake Wharton - Desfocando a linha entre nativo e web)
  • Dia 2 (Keynote Job van der Voort - Os melhores aplicativos são criados em calças de pijama)

A seguir, consideramos com mais detalhes os pontos principais de cada dia.


Dia interativo


Dia interativo é um dia especial para conhecer outros participantes da conferência. Muito tempo livre, quartos grátis. Portanto, todos poderiam propor um tópico para discussão ou relatório. Tópicos sugeridos:


  • Como escrever DSL no Kotlin
    Um relatório semelhante estava no JPoint, então não havia nada de novo lá.
  • Para que serve a Biblioteca de Paginação do Google?
  • Como organizar corretamente a interação multi-modular
    Neste relatório, um projeto Android composto por vários módulos foi revisado. Foi dito que este módulo encapsula a interação com um servidor ou banco de dados. Sua idéia principal do relatório era colocar dependências como Room, Retrofit em um módulo separado e ocultá-las.

Também decidi aproveitar esta oportunidade e contei um relatório do mitap de São Petersburgo Kotlin.



Eu estava conversando na sala do pirulito


Também houve painel de discussões, nas quais participaram de 4 a 6 pessoas:


  • Rx deve morrer
    A principal mensagem era que o Rx é apenas uma biblioteca que deveria ser facilmente substituível, mas é muito difícil se livrar, pois se estende a todos os níveis do aplicativo.
    O Rx geralmente torna o código incompreensível se os desenvolvedores criarem longas cadeias.
    Se você usa Único, Completável ou Talvez, não precisa do Rx, as Kotlin Coroutines serão suficientes.
    Como de costume, eles ignoram o tratamento de erros, cancelamento de execução e instruções Rx.
  • Plataforma cruzada no Android
  • Mulheres em tecnologia

No final do dia, houve um torneio Mario Cart.




Agora, um pouco sobre como organizar um dia interativo.


  1. Este não é um mobius. Sem café, chá e biscoitos grátis. Um ponto para a venda de café e doces, entre relatórios para ela uma longa fila.
    Se você quiser café, pule o relatório, embora no primeiro dia possa ignorá-lo com segurança.
  2. Este não é um mobius. Sem comida quente - apenas sanduíches, saborosos, mas oficialmente apenas um de cada vez.
  3. Este não é um mobius. Eles não são muito caçados aqui)

E o último item da agenda foi uma festa não oficial organizada pela comunidade alemã do Android BerlinDroid. Ela estava no horário da conferência, mas ninguém sabia realmente nada sobre ela. Passou no bar do clube C-base, onde foram pagas cerca de 200 a 300 garrafas de cerveja. O bar está localizado nas margens do rio, então nos sentamos na rua e conversamos sobre vários tópicos com outros desenvolvedores do Android.


Primeiro dia


Como já observei, o primeiro dia começou com uma palestra de Jake Wharton “Desfocando a linha entre nativo e web” , que foi um pouco de discussão sobre o tópico de plataforma cruzada, escolha de idioma e outras coisas. A principal conclusão é que em breve será possível escrever tudo no Kotlin, o principal recurso são capturas de tela interessantes sobre o Kotlin.





Fotos da palestra de Jake


No primeiro dia, houve um relatório muito bom de Hannes Dorfmann sobre o MVI, outros desenvolvedores o elogiaram muito, mas eu não pude visitá-lo, então planejo assisti-lo quando a gravação aparecer.


Um relatório interessante foi sobre o Dependency Hell, de Erik Derr. No início do relatório, ele disse que você usa dependências no projeto, está tudo bem com você, tudo está estruturado. Mas quando a biblioteca entra no APK compilado, ela obtém acesso a tudo o que o próprio aplicativo tem acesso.
Em seguida, ele continuou discutindo a segurança das bibliotecas para download e por que é importante que o desenvolvedor saiba que a dependência não contém vulnerabilidades e não rouba dados do usuário.
Depois disso, ele analisou o uso do SDK do Facebook, em particular, analisou quais versões do SDK são mais usadas em outros aplicativos e notou que um número suficiente de projetos usa a versão vulnerável do SDK do Facebook e, por algum motivo, muitas vezes não é atualizado.
No final do relatório, ele apresentou a extensão para o Android Studio Up2Dep , que sugere a versão mais recente compatível da extensão (provavelmente no nível da interface).



Exemplo de plug-in


O relatório sobre navegação de Anthony Agby (Anthony Agby) analisou como eles costumavam trabalhar com geolocalização no Android, como o FusedLocationManager agora é usado, o que fazer se o usuário mora na China.


Depois fui à palestra de Ricardo Lage sobre a migração do AutoValue para a Kotlin Data Class. Ele disse à metade do relatório o que é o AutoValue, para que serve e como eles ainda geram serializadores. Ele se concentrou em como é legal usar a Data Class e em como eles escreveram um plug-in que converte código antigo em Data Class. Mas mesmo com a classe de dados, eles usam seu plug-in para gerar o código do serializador, pois não gostam da serialização do Kotlin.


Naquela época, meu colega foi ao relatório de Saket Narayan "Persistência como a única fonte de verdade" , o que o impressionou, então eu também quero assistir quando o vídeo aparecer.


Vitaliy Zasadnyy fez uma apresentação sobre DeepLink. Se o orador estiver vestido com muito estilo: camisa, colete e sorrisos para os ouvidos, então este é um relatório de gestão (que acabou sendo verdade). Se você tentar destacar a essência, precisará usar a API do Google Referer, se quisermos transferir informações adicionais imediatamente após o download do aplicativo.


Houve um relatório de Nishant Srivastava sobre o ProcessLifecycle, que é uma releitura de seu artigo .



No final do primeiro dia, tirei uma foto com Hannes Dorfman.


Segundo dia


Job van der Voort abriu o segundo dia com a palestra “Os melhores aplicativos são construídos em calças de pijama” . Job trabalha no GitLab e sua história era sobre como todos eles trabalham em casa e quais são os benefícios, por exemplo, ele consegue trabalhar e monitorar como a filha cresce. Com base em uma experiência bem-sucedida, ele conclui que os escritórios são opcionais.



Foto da palestra de Jó


Ele prestou atenção especial ao paradigma OpenSource, segundo o qual o código de todos os seus produtos, mesmo aqueles que eles vendem, é de domínio público, ou seja, qualquer usuário pode baixar o código-fonte, compilá-lo e usá-lo sem problemas.
Mas o mais interessante foi a história da comunidade que eles criaram. Acontece que muitas empresas clientes criam novos recursos que são úteis não apenas para eles, mas também para outros clientes. Apesar disso, as empresas ainda compram produtos do GitLab, embora muitas vezes criem a funcionalidade necessária para os produtos GitLab.


Em seguida, ouvimos um relatório sobre o aumento da velocidade de construção do projeto de Nikita Kozlov e Boris Farber (Nikita Kozlov, Boris Farber), dependendo da versão do grale, kotlin, etc. ... Em particular, eles mediram a velocidade de construção em papoilas de 15 e 17 anos. Para resumir, os caras queriam novas papoilas e precisavam de alguma forma discutir por que precisavam de computadores mais poderosos.



Lista de parâmetros considerados pelos palestrantes


Para minha surpresa, a partir de um relatório bastante padrão de Abdelmounaïm Belghalem sobre a bateria, descobri que o 3G come mais que o LTE.


Depois veio a apresentação de Vasiliy Zukanov “Atividades e fragmentos não são visualizações MVX” . Foi demonstrado que as atividades e os fragmentos são muito importantes, por isso é lógico colocar algumas funcionalidades repetidas em classes adicionais.


Danny Preussler falou sobre injetar dependências no Kotlin usando Koin e Kodein. Ele concluiu que Dagger é uma biblioteca muito boa, mas se você usa Koin e Kodein, pode injetar dependências através de propriedades delegadas e isso é muito mais conveniente.


E o último relatório foi relatado por Parth Padgaonkar. O relatório examinou o método de conversão de código síncrono em código Rx. Em particular, o código RxBindings (escrito por Jake) e a criação de um Observable personalizado usando o método Observable.create foram analisados. Acontece que muitas pessoas esquecem de escrever uma linha em negrito e, portanto, são possíveis vazamentos de memória ao criar um Observable.




Mas os últimos relatórios não atraíram tantos ouvintes, já que em 27 de junho a seleção alemã jogou a partida final na fase de grupos com a seleção coreana na quarta-feira.








Mais tarde, consegui me encontrar e conversar com Dmitry Vinogradov. Este é o criador do startandroid.ru , as informações postadas são muito úteis para iniciantes e não apenas para desenvolvedores do Android.




Breves conclusões:


  • O nível de relatórios como um todo é um pouco menor que em Petersburg Mobius, mas mais alto que em Moscou
  • Uma ideia muito legal com o primeiro dia interativo, pois houve tempo para conhecer outros participantes da conferência
  • Problemas com lanches e comida no primeiro dia
  • Pausas curtas entre os relatórios, não há tempo suficiente para discutir relatórios, tomar café, conversar com os patrocinadores
  • Ninguém está seguindo as regras, então você não apenas não tem tempo para fazer nada durante o intervalo, mas está atrasado para o próximo relatório
  • Bom depois da festa após um dia interativo
  • Você pode jogar kicker, caça-níqueis, jenga e outras coisas no seu tempo livre.
  • Se não houver dinheiro para um ingresso, você pode se inscrever para uma conferência como voluntário, e não é necessário ajudar na organização por três dias.

Fatos interessantes em uma linha


  • Conversou e conheceu um grande número de pessoas de diferentes países
  • Tendências nesta conferência: Flutter e Cross-Platform
  • Conversou com o fundador do site StartAndroid, também tirou uma foto com ele, descobriu como ele se mudou para a Alemanha
  • Teve uma foto com Hannes Dorfmann
  • Disse a Jake Worthan que eu sou seu fã russo
  • Aprendi que não há departamentos de controle de qualidade nos escritórios de terceirização europeus. Testadores apenas do cliente
  • Os desenvolvedores europeus geralmente se mudam para países e cidades mais baratos (por exemplo, da Escócia, não para Londres, mas para Berlim)
  • Desenvolvimento e vida em Berlim são mais baratos do que em outras cidades alemãs (Munique e Colônia)
  • Em Berlim, problemas com o pagamento com cartão, você precisará de dinheiro
  • Amsterdamians não distinguem o cheiro da grama do cheiro dos cigarros

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


All Articles