For the complete documentation index, see llms.txt. This page is also available as Markdown.

Arquitetura Front-end

— Guilherme Siquinelli đŸ—“ïž 17/09/2022

Atualmente, com necessidades mais complexas e equipes numerosas, problemas e erros difĂ­ceis de resolver aparecem. É uma tendĂȘncia natural que projetos se tornem obsoletos com o passar do tempo e, a dificuldade de mantĂȘ-los atualizados aumenta quando temos um nĂșmero alto de dependĂȘncias, fazendo com que a entropia do projeto cresça. A pessoa responsĂĄvel pela arquitetura entra em cena, pois ela vĂȘ o software como ponto principal para que o produto consiga gerar o valor esperado, planejando um design de alto nĂ­vel que serĂĄ o alicerce, a estrutura sobre a qual o software serĂĄ desenvolvido.

Fazendo uma analogia entre o desenvolvimento de software e a construção de um prĂ©dio, o arquiteto faz o desenho considerando suas necessidades estruturais e o uso que Ă© previsto para ele, tanto em casos de uso como em intensidade. EntĂŁo entrega aos engenheiros e tĂ©cnicos que irĂŁo trabalhar na construção. Isso Ă© muito importante na engenharia de software, porque diferente de um prĂ©dio, o software segue sendo construĂ­do e modificado, e nĂŁo Ă© concluĂ­do em 1 ou alguns poucos anos. É muito comum que novos planos apareçam com mudanças no escopo, este mercado Ă© muito mais rĂĄpido, nĂŁo sĂł pelas variaçÔes de oferta e demandas no mercado, mas tambĂ©m por evoluçÔes de tecnologias usadas. A arquitetura de software facilita o desenvolvimento de produtos mais robustos e sofisticados, criando diretrizes claras que permitem aos engenheiros saber a todo momento que tipo de cĂłdigo precisam construir para obter os resultados esperados.

Tendo uma visĂŁo ampla sobre a vida Ăștil de um software, os arquitetos podem incluir jĂĄ nos estĂĄgios iniciais estruturas chaves que se feitas quando o produto estiver em produção, demandam alto custo de implementação. É muito comum que empresas de tecnologia se concentrem mais na funcionalidade e na entrega de resultados imediatos do que na arquitetura e no ciclo de vida de seus produtos. Isso faz com que elas comecem a usar tĂ©cnicas que nĂŁo escalam bem e frameworks fĂĄceis de usar ou que dependem muito de serviços de terceiros, porĂ©m quando aparecem milhares ou milhĂ”es de usuĂĄrios e os investidores exigem escalabilidade com estabilidade, as coisas se complicam.

Alterar a estrutura de uma aplicação que ninguém usa e uma mudança global que afeta milhÔes de usuårios ao mesmo tempo são coisas completamente diferentes, assim como não é a mesma coisa alterar a Stack ou framework usado quando apenas algumas pessoas trabalham no projeto, que realizar isso com centenas de colaboradores envolvidos.

A arquitetura de software ajuda na tomada de decisÔes a tempo de escolher quais riscos desejam ser assumidos ou evitados e, que poderiam afetar para sempre o rumo do projeto.

Last updated