Otimização extrema: Construindo aplicações otimizadas

Com a facilidade de se construir páginas para a internet, seja blogs, pequenos aplicativos para algum fim específico ou ainda grandes aplicações, em algum momento, aqueles que desenvolvem tal aplicação vão acabar esbarrando na questão do “sistema lento”. Isso por que, a necessidade pela rapidez da entrega das informações é tão grande que pode significar em perdas de cifras ou a total desistência dos usuários do site/aplicação pela demora que a informação é entregue.

Há algum tempo venho pensando nessa questão como sendo um dos principais problemas da ineficiência dos sistemas que são projetados atualmente. A grande maioria dos programadores/engenheiros/designers não trabalham em conjunto por que em algum momento foi decidido que seus trabalhos são atividades que são em momentos distintos e então não há necessidade de revisão dos seus trabalhos. Mal esses sabem que seu trabalho feito com algum tipo de despreocupação em algum momento relacionando a otimização ou mesmo a falta de conhecimento de que tal decisão no projeto pode afetar a velocidade que essa informação vai ser entregue, pode tirar uma aplicação do ar pro conta da demora na entrega!

Por experiência, já vi alguns sistemas que inicialmente o projeto parecia perfeito. Vários diagramas de classes explicando detalhadamente por que X padrão de projeto estava sendo implementado naquela parte de código para resolver tal problema, regras de negócios maravilhosas, limitando ao máximo a questão de segurança dos dados que serão inseridos no banco de dados, e finalmente o documento de interface. Mas em nenhum documento dos que passava algum tempo lendo para implementar tudo o que foi pensando previamente vi a preocupação com a qualidade e rapidez com que as informações são entregues ao usuário final.

No final me sobra uma dúvida: No final das contas, de quem é a responsabilidade pela questão velocidade da entrega da informação? Arquiteto, desenvolvedor, designer? Todos juntos?

Levando isso em consideração, hoje inicio um compendio de dicas que afetam todas as disciplinas, desde a infraestrutura até o designer. Não vou seguir uma linha lógica para publicação dos artigos, até por que não existe um pensamento linear. Levando isso em consideração, o primeiro artigo é para os designers.

Front-end