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