Imaginação na janela do carro: craft que começa cedo
Imaginar mundos na janela é protótipo precoce de criação.
Resposta direta
Imaginar mundos na janela é protótipo precoce de criação — o núcleo do material original é direto: Quando eu era criança, eu costumava olhar para a janela do carro e pretendia que eu estava bem. Não havia carro, nem estrada. Apenas eu, andando dentro e fora dos trânsitos, por as ilhas, por as estrelas. Bom, hoje é terça-feira, eu vou ter que ir em Florianópolis, um pouquinho mais longe. Eu moro a uns cento e poucos quilômetros de Florianópolis. E eu vou ter que ir pra lá pra passar no cartório, resolver umas coisas da empresa e também passar na Leroy Merlin, comprar umas coisas pro cenário novo do escritório.
O que o material mostra de fato
No material original, o ponto de partida não é teoria abstrata: é uma sequência concreta ligada a «Imaginação na janela do carro: craft que começa cedo». Ele já vai até poder fazer um testezinho e tal. Então, vai ser a primeira tela. E eu estou com uma grande dificuldade com o Flexbox, dessa desgraça. Vou botar esse botãozinho embaixo, porque ontem tem pão aqui e eu acho que eu sei o que é. Até sonhei com isso daqui. Eu acho que eu sei qual foi o erro tosco que eu cometi nesse código. Eu dou aula disso pra vocês verem. É foda. A gente sempre tem esses errinhos que incomodam.
Detalhe do transcript que não pode virar genérico: Esses bugs, o cara pode ser sênior do que for, sem ver esses probleminhas. Mas enfim, vamos lá, vamos resolver. E aí E aí Bom, vocês conseguiram acompanhar que a semana foi bem intensa aqui. Eu não consegui gravar todos os dias e nem desenvolver o SaaS todos os dias, porque eu tenho outras milhares de empresas aqui pra cuidar e outros negócios e tudo mais pra resolver. Ainda família, estou com um bebê recém-nascido em casa, então não tenho todo o tempo do mundo pra ficar trabalhando.
Contexto e motivação
O contexto importa porque a mesma ideia muda de preço conforme ferramenta, fase do produto ou disciplina pessoal. Mas a gente conseguiu evoluir bastante, tá? Em dois pontos. Primeiro, a gente criou bastante componente reutilizável. Eu vou mostrar aqui no código pra vocês, então a gente vai conseguir reutilizar muito componente. Eu poderia, inclusive, criar aqui mais seis telas. Vocês vão ver que os... porém já estão todos reutilizados. Mas não adianta eu ficar criando tela, porque o meu intuito nesse aplicativo não é ser aqueles aplicativozinhos que a maioria das pessoas programa por aí. Vai lá, pega o aplicativo, desenvolve tela por tela, entrega, mas tudo muito verboso, muito código.
Detalhe do transcript que não pode virar genérico: Cada tela tem seu código e tudo mais. Eu não quero isso. Eu quero pegar ali o nosso projeto e cada tela ser guiado por um dado, por uma base de dados, por um JSON. Então eu vou ter um JSON onde eu vou ter as telas, onde eu vou ter as próximas ações. E a partir disso eu vou construindo as telas em cima desse JSON. Porque aí eu posso alterar lá no meu back-end e eu crio uma fila de sincronização com base nisso.
Como funciona na prática
Em vez de colecionar slogans, trate o conteúdo como checklist operacional: o que fazer nesta semana, o que medir, o que descartar. Eu até vou mostrar um pouquinho da arquitetura que eu estava escrevendo aqui para vocês. Que inclusive está aqui. Deixa eu ver se eu consigo focar. Olha só. Basicamente o que a gente tem aqui? Fluxo de sincronização. Então eu tenho a arquitetura. Ela é uma arquitetura bidirecional. Por quê? Porque eu preciso... Eu tenho dois fluxos, né? Eu tenho o fluxo que tem as fases. que são as perguntas que é do aplicativo para o back-end.
Detalhe do transcript que não pode virar genérico: Então, eu tenho fases que o usuário está passando, eu tenho os objetivos dele, a pontuação dele e tudo mais, que isso vai se alterando enquanto ele está usando. E lembrando que esse aplicativo deve ser offline first. Então, primeiro eu tenho que fazer com que o aplicativo funcione offline, para depois eu sincronize com... ao nosso back-end. Então, em primeiro lugar, a gente vai ter essas fases que são perguntas, fases, perguntas e tudo mais que o usuário vai estar lá no ônibus e tal, vai estar em qualquer lugar, vai estar fazendo.
Erros comuns e armadilhas
Onde isso quebra na prática: quem tenta atalho sem o mecanismo descrito no transcript perde consistência rápido. Quando ele se conectar na internet, eu tenho o fluxo 2, que eu vou pegar tudo isso. Então, vocês vão ver que aqui eu tenho um fluxo de sincronização que é bidirecional.
Detalhe do transcript que não pode virar genérico: Isso aqui é bem complexo, é uma das coisas mais complexas que tem quando a gente vai lidar com aplicativos e com sincronização, principalmente offline first, porque o nosso aplicativo vai ser utilizável sem internet, então qualquer pergunta, qualquer fase que seja respondida, qualquer resposta, fase e tudo mais, pontuação, isso vai ser primeiro salvo no aplicativo e quando tiver internet isso vai para o back-end. Só que também o back-end precisa sincronizar com o aplicativo em questão de mandar novas... fases, novas perguntas, tirar fases que antes existiam.
Checklist de aplicação
Na prática, isso vira rotina: escolha um experimento curto, documente antes/depois e só então escale. Então, o meu aplicativo vai ter uma estrutura em JSON salva no seu storage, onde ele vai consultar, onde ele vai atualizar e tudo mais, mas eu preciso que também haja um efeito contrário, que o back-end também atualize o nosso aplicativo. Beleza, então eu tenho esse primeiro fluxo aqui, que são as fases, perguntas e tudo mais, que é...
Detalhe do transcript que não pode virar genérico: basicamente do back-end para o aplicativo, até coloquei errado aqui, mas é do back-end para o aplicativo e eu tenho do aplicativo para o back-end, que são as respostas, fases e tudo mais que foram dadas, tá?
Information gain
Ganho específico deste material (3036): preserve a especificidade de «Imaginação na janela do carro: craft que começa cedo» — números, ferramentas e narrativa do source, sem genificar.
Próximo passo concreto
Feche o ciclo com um próximo passo observável — sem isso, o artigo vira entretenimento e some na timeline. E aí, logo aqui eu tenho até uma descrição que eu coloquei, ó, não enviar requisições a cada ação, atualizar apenas o meu objeto local e depois o banco de dados, criando para cada ação uma fila de sincronização, onde, por exemplo, cada resposta vai ser criada uma fila e essa fila depois vai ser consumida e enviada para o back-end, tá? Então, isso daqui vai funcionar dessa forma. E aqui eu tinha um esboço que eu estava fazendo. E aqui eu também estava pensando em alguns dados para o banco de dados.
Detalhe do transcript que não pode virar genérico: Então, por isso que eu não dei continuidade aqui com o nosso código. Porque eu preciso realmente ter toda essa estrutura. Então, a gente vai criar toda essa estrutura e depois a gente vai trazer para cá para o nosso código. Mas a gente já tem uma primeira estrutura desenhada. Faltam algumas telinhas aqui que vão vir depois no fluxo. Várias telas no fluxo. Isso aqui é muito fácil a gente criar.