Nessa apresentação faço um setup simples para iniciantes explicando o webpack, react, flux e css modules. Foi feito um live code onde o código criado foi publicado nesse repositório https://github.com/pedrotcaraujo/react-chat-demo
ele lida com todas as dependências (assets, scripts, images, styles…) da aplicação e cria um pacote de entrega. - Tudo para o webpack é um módulo. - É possível quebrar a árvore de dependências em vários pedaços sob demanda (chunks). - É possível substituir ferramentas como Gulp, Bower.
ele funciona é necessário conhecer 4 core concepts. - Entry: webpack cria um gráfico de dependências, e o entry point fala para webpack por onde começar seguindo o gráfico de dependências. - Output: Depois que temos um bundle, o output é onde tratamos a saída desse bundle (filename, path). - Loaders: como tudo é módulo (.css, .html, .scss, .jpg, etc.), os loaders transforma esses arquivos em módulos para o gráfico de dependências. - Plugin: lida com o bundle gerado para fazer coisas extras (uglify, env var).
interativas criada e mantida pelo facebook. Dizem que o React é o "V" do MVC. - Única coisa que faz é criar um wrapper de um componente. - NÃO é um framework e nem MVC. - NÃO utiliza template html, o html é no próprio js (tem um cara que chama jsx que facilita a escrita de html no js). - Diferente de todas as libs que tem no mercado, porém cumpre muito bem o que promete, então 'Give it 5 minutes' (https://signalvnoise.com/posts/3124-give-it-five-minutes)
usa para construir suas aplicações web client-side. - Model-View-Controller não existe dentro de uma arquitetura flux. - Mantém uma comunicação de dados unidirecional. - Pode ser utilizado com qualquer aplicação javascript, não precisa ser react.
no flux, que possui três partes principais: dispatchers, stores e views (no caso, os componentes React). Essa imagem representa o modelo mental primário de um programador Flux. As "actions" são apenas objetos que contém as chamadas para o dispatcher com seus identificadores.
métodos helper que passa instruções para dispatcher. - Dispatcher: é o hub central que gerencia todo o data flow da aplicação. Basicamente faz registro de callbacks. - Store: contém o estado e a lógica da aplicação, parecido com o model do MVC, mas uma store gerencia vários objetos e emite um evento quando é atualizado. - View: são como os controllers views, faz chamada para as actions e escuta mudança dos estados das stores.
e animation names são "escopados" localmente por default. - Garante que o estilo funciona para um único componente. - Possui escopo por arquivo. - Possui dependência explícita. - Precisa ser "buildado" (webpack, browserfy, etc.) - NÃO é mais necessário o uso de BEM. - NÃO é uma spec oficial.