Como Micro Frontends podem ser uma ponte para adesão de novas tecnologias.
Esse material é referente a palestra abordada sobre #microfrontends na edição do BrazilJsOnTheRoad em São Carlos/SP. Abordo sobre o que é Micro Frontends e como estamos adotando na Conta Azul.
de front-end para que muitas equipes possam trabalhar simultaneamente em um produto grande e complexo é ainda mais difícil. @MartinFowler Good frontend development is hard. Scaling frontend development so that many teams can work simultaneously on a large and complex product is even harder. @MartinFowler https://martinfowler.com/articles/micro-frontends.html
um site ou aplicativo da web como uma composição de recursos pertencentes a equipes independentes. Cada equipe possui uma área distinta de negócios ou missão na qual se preocupa e é especializada. Uma equipe é multifuncional e desenvolve seus recursos de ponta a ponta, do banco de dados à interface do usuário. https://micro-frontends.org/
atualizar sua stack sem precisar se coordenar com outras equipes. Mantenha o módulo(código) isolado da equipe Não compartilhe em tempo de execução, mesmo que todas as equipes usem a mesma estrutura. Crie aplicativos independentes. Não confie no estado compartilhado ou nas variáveis globais. Estabeleça prefixos para a equipe Concorde em convenções de nomenclatura onde o isolamento ainda não é possível. Espaço para nome CSS, Eventos, Armazenamento local e Cookies para evitar colisões e esclarecer a propriedade. Favoreça os recursos do navegador nativo sobre as APIs personalizadas Use Eventos do Navegador para comunicação em vez de criar um sistema PubSub global. Se você realmente precisa criar uma API de equipe cruzada, tente mantê-la o mais simples possível. Crie um site resiliente Seu recurso deve ser útil, mesmo que o JavaScript tenha falhado ou ainda não tenha sido executado. Regras de Ouro
criar gradualmente um novo sistema em torno dos limites do antigo, permitindo que ele cresça lentamente ao longo de vários anos até que o sistema antigo seja estrangulado" Martin Fowler https://martinfowler.com/bliki/StranglerFigApplication.html
se tem biblioteca e frameworks como: AngularJs, prototype, jQuery e etc; - Queremos evoluir nossa forma de desenvolvimento Que problemas tentamos resolver?
coesas e sustentáveis; - Organizações mais escaláveis com equipes autônomas e dissociadas; - Capacidade de atualizar, ou mesmo reescrever partes do front-end de maneira mais incremental.