Junto com colegas da comunidade Flutter, estamos fazendo um podcast sobre Flutter. O primeiro episódio foi ao ar em 29 de janeiro de 2019. Desde então, todos os meses, convidamos colegas do mundo do Flutter e de outras esferas de TI: discutimos notícias, eventos, nuances técnicas, damos conselhos sobre a experiência de combate - em geral, olhamos para o Flutter de ângulos diferentes.
Como e por que estamos fazendo o podcast, eu falei em detalhes sobre vc.ru . Neste artigo, analisei os episódios mais interessantes e populares do Flutter Dev Podcast.
Vim para o Flutter do Android: aprendi sobre a nova tecnologia durante a conferência com Zviad Kardava, Relações com o desenvolvedor do Google Rússia, que mais tarde se tornou o primeiro convidado de nosso podcast. A ideia de criar uma mídia sobre o Flutter surgiu porque fomos um dos primeiros no país a começar a fazer algo nesse framework: o nicho era livre.
Flutter é uma tecnologia de desenvolvimento de aplicativos de plataforma cruzada para iOS, Android, web e desktop do Google.
Lancei o Flutter Dev Podcast com meu colega Artyom Zaitsev - trabalhamos juntos no Surf . Naquela época, praticamente não sabíamos nada sobre o Flutter e, pode-se dizer, crescemos junto com o podcast. Paralelamente ao podcast, o Flutter foi desenvolvido no Surf. Agora temos todo um departamento Flutter com 13 pessoas . Os caras e eu mantemos um repositório SurfGear público no GitHub , onde postamos todos os tipos de utilidade para desenvolvimento no Flutter: um conjunto de bibliotecas, padrões, ferramentas.
Agradeço ao Google e pessoalmente a Ekaterina Vinnichenko e Zviad Kardava por apoiar nosso podcast e por me convidar a revisar os episódios no blog do Google.
Lançamentos do Flutter Dev Podcast: do começo ao início
"Uma plataforma completa para ganhar todos os tipos de pessoas"
# 19 Yandex.Pro
Gennady Evstratov: "O objetivo global é fazer um Frankenstein enorme, no qual a porcentagem de Flutter vai crescer, crescer, crescer, e você pode simplesmente pegar o código Android com uma pequena espátula, jogá-lo fora e deixar apenas um aplicativo Flutter."
A equipe Flutter de Yandex são convidados regulares do podcast. Nas primeiras edições, eles falaram sobre Yandex.Taxometer - isso, aliás, também entrou em nossa análise. Agora Yandex.Taxometer renasceu em Yandex.Pro. A versão iOS é escrita puramente em Flutter, e a versão Android é híbrida: a versão puramente Flutter ainda não alcançou a funcionalidade da versão Android, então não pode ser descartada ainda.
Os convidados da Yandex contam por que e de que forma o Flutter penetra nos projetos da empresa: a estrutura já é usada para módulos individuais em Yandex.Lavka, Yandex.Taxi, Yandex.Go. Eles falam sobre o que impede a mudança total para o Flutter agora, quais problemas foram revelados ao trabalhar com o Fish Redux devido ao dimensionamento e o que um desenvolvedor precisará passar para integrar o Flutter em um aplicativo nativo.
"Eu faço muitas coisas na equipe do Flutter, mas minha principal preocupação é que os desenvolvedores externos tenham uma boa experiência."
# 17 Flutter Day 2020
Chris Sells: “Você sempre pode escrever código nativo em seu aplicativo ou até mesmo criar seu próprio plugin. Se você escreve seu próprio plug-in e não temos um, compartilhe-o com o mundo. É assim que o ecossistema Flutter cresce. "
Este é um episódio incomum em muitos aspectos: pela primeira vez hospedamos uma parte do podcast em inglês e pela primeira vez fizemos uma transmissão online no Youtube.
Chris Sells, gerente de produto do Google, veio visitar o Flutter Dev Podcast: junto com a equipe do Flutter, ele está desenvolvendo o Flutter. Discutimos várias coisas: a capacidade de depurar simultaneamente em um grande número de dispositivos e emuladores, de onde veio o Dash - o símbolo Flutter, quais problemas o comando Flutter tem no modo de trabalho remoto.
Chris falou sobre como a segurança nula será implementada e o que mais afeta a arquitetura do aplicativo (e esta não é uma escolha de gerenciamento de estado). Você descobrirá se o Flutter terá seu próprio Jetpack, por que a API do Reflection foi removida das versões anteriores do Dart e se será adicionada novamente, se suportará objetos de valor de dados. Os apresentadores também discutiram com Chris a compilação de aplicativos Flutter para processadores Arm em novos dispositivos Apple, o que impede o lançamento de uma versão alfa do Flutter com suporte para construção de aplicativos para Windows e Linux e se o Flutter terá carregamento de código dinâmico.
"A mídia é o tipo de atividade humana em que tudo sempre dá errado do jeito que você quer."
# 16 Meduza
Boris Goryachev : “Encontrei a resistência que sempre encontro com desenvolvedores nativos. Quando ouvem algo sobre uma plataforma cruzada, eles imediatamente fazem uma pose, eles dizem que é uma merda, que tudo funciona mal, tudo é lento e geralmente é uma droga. Seus argumentos são mais ou menos assim:
- E se você precisar mostrar isso, isso, isso?
“Mas não teremos que mostrar isso.
- Não, mas e se for preciso?
- Muito improvável.
- Bem, desempenho ruim!
- Bem, meio que não.
- Não, bom, ruim, no nativo será mais rápido.
O novo aplicativo Meduza foi escrito em Flutter do zero. No episódio 16 do Flutter Dev Podcast CTO Meduza, Boris Goryachev explica por que Meduza precisa disso. Começamos do início: discutimos por que o conceito de dispositivo móvel falhou pela primeira vez em 2014, falamos sobre as difíceis relações com desenvolvedores nativos, o incrível mundo do desenvolvimento de mídia, jogos com fontes, as dificuldades de trabalhar com WebView e IU orientada por backend. E Boris também responde às reivindicações de Artemy Lebedev.
Relato detalhado do lançamento do Flutter Dev Podcast com Boris Goryachev
"Inicialmente, eu queria fazer algo semelhante ao VS Code, mas melhor."
# 15 Flide - IDE no Flutter
Andrey Lesnitsky: “Comecei um produto para mim mesmo para aumentar minha produtividade. Se isso melhorar minha produtividade, também poderá aumentar a produtividade de todos os desenvolvedores do ecossistema Flutter. "
Andrey Lesnitsky de Minsk escreve um ambiente de desenvolvimento em Flutter. Ele se inspirou no Android Studio e no VS Code e tenta tirar o melhor deles - mas quer tornar o IDE seu. Por que escolheu o Flutter para o projeto: é um desafio ou uma ideia especial? Como o produto foi concebido e como ficou?
No episódio, Andrey conta como teve essa ideia, quais os principais desafios que enfrentou e como está o projeto hoje.
“Gostei muito de ser taxista. Se as taxas fossem mais altas, eu treinaria novamente "
# 11
Yandex.Taxi Gennady Evstratov: "O serviço de segurança disse: 'Reaja nativo - apenas através de seu cadáver'."
A equipe Yandex.Taxi faz um "pacote de software para o serviço de táxi" no Flutter - o aplicativo Yandex.Taxômetro. Na edição, eles contam por que primeiro viram um projeto no React Native, mas depois mudaram para o Flutter, por que os funcionários da Yandex cobram impostos à noite e por que o aplicativo no Flutter é feito duas vezes e meia mais rápido do que no Android. E também sobre os hieróglifos na documentação do Fish redux, a integração do Yandex Map Kit e seu próprio pacote de widgets.
"CI / CD fará tudo por você, mesmo se você não tiver a tecnologia Apple"
# 9 CI / CD - Jenkins, Bitrise, Codemagic
Mikhail Tokarev: “Quando falamos com a equipe do Flutter sobre CI / CD, eles disseram muito claramente:“ Queremos ver CI que até minha avó possa usar ”. Foi com essa configuração que começamos a fazer Codemagic. "
Junto com o CTO Codemagic, descobrimos por que precisamos de CI / CD, em que ponto fica claro que isso não pode ser feito sem ele e quais builds locais estão repletos. Comparamos Jenkins, Bitrise e Codemagic em todos os parâmetros que eles puderam alcançar: recursos, limitações, estabilidade, customização, preços. Descobrimos de onde veio o Codemagic e por que ele está posicionado exatamente como um CI / CD para Flutter, e não para tudo em uma fileira, qual é sua diferença em relação às outras ferramentas e qual compensação é devida ao usuário se a montagem cair por falha da ferramenta.
"Funciona em tudo com uma tela"
# 7 Tudo sobre a plataforma cruzada
Maxim Salnikov: “O que está em jogo em nosso processo simplesmente desaparece, simplesmente não precisamos deles. Este é um aplicativo da web comum que você pode pegar e instalar no seu dispositivo, se desejar. "
Maxim Biyanov: “Xamarin se aproximou da maturidade máxima. Para o estado quando todos os principais problemas foram resolvidos e um amplo desenvolvimento começou. Existem chips que dificilmente são perceptíveis. O foco agora está no iOS nativo. "
Alexander Fedorov: “React Native é uma solução intermediária entre nativo e web. O nativo é mais rápido, a web é mais lenta. Algo intermediário é React Native. Provavelmente, a maior vantagem é que foi escrito em JS. Existem muitos desenvolvedores JS, a entrada no desenvolvimento é rápida. O React também não é muito complicado. "
Artyom Zaitsev:“A principal diferença entre Flutter e React ou Xamarin é que ele tem seu próprio motor sob o capô. E ele não usa elementos nativos, ele apenas desenha o mesmo. "
Roman Yatsyna: “O nativo de Kotlin como um todo é o mesmo Kotlin, apenas restrito. Hoje em dia é muito difícil encontrar uma pessoa que concorde em escrever em Java. Muitas pessoas deixam suas empresas imediatamente porque Kotlin não está lá. "
Alexander Efremenkov: “Vamos começar com o fato de que este é C ++. Não vale a pena aprender C ++ se você não quiser se aprofundar em como a memória é alocada, como funciona e tentar se aprofundar no trabalho de hardware. "
React Native, Xamarin, PWA, QT, C ++, Kotlin Native, Flutter ... Plataforma cruzada é uma palavra bastante geral, por trás da qual existem muitas tecnologias diferentes.
Por que escolher uma tecnologia, escopo, limite de entrada, prós e contras - nesta edição, discutimos os critérios para escolher tecnologias para sua pilha.
"Os desenvolvedores móveis vieram para o Flutter, olharam para async / await e ficaram horrorizados."
# 6
Evgeniy Kot assíncrono : "Para entender os fluxos, você precisa entender como funciona o encanamento."
Existe async / await, Future API, Stream API, existe um método Compute, existe até RXDart. Como entender dessa diversidade o que deve ser usado e o que não deve ser usado. O que fazer com tudo isso assíncrono se você vem do mundo do iOS ou Android. Por que isolar é como uma pizza na prateleira, e como o Flutter lida com operações assíncronas quando o Dart é de thread único.
"Todas as máquinas virtuais são realmente iguais"
Ouça o episódio 5 de Dart VM
Vyacheslav Egorov: “Você pode começar com o nome Dart VM - está um pouco errado. É correto chamá-lo de Dart Runtime, porque nem sempre representa uma máquina virtual. Pessoas que imaginam uma máquina virtual, imaginam que dentro de algum tipo de bytecode seja executado. Provavelmente é mais correto chamá-lo de Dart Runtime. ”
Vyacheslav Egorov, desenvolvedor do Dart VM, conta porque Flutter é escrito em Dart, qual magia negra Hot reload usa, quais são as características do Coletor de lixo. Sobre a compilação dos anos 90, funções quentes e Flutter-web. Como os isolados no Dart se relacionam com multithreading, em que um aplicativo Flutter é compilado em uma versão de lançamento e em que Flutter tem engenharia reversa.
Podcast All Flutter Dev no Soundcloud