Quick post: Desenvolvendo aplicações web na velocidade da luz com Yeoman

Quantas vezes você já teve idéias que pararam antes mesmo de começar devido ao grande trabalho de montar ambiente e estruturar uma aplicação web? Ou quantas vezes você já teve que criar a mesma estrutura, os mesmos arquivos, copiar as mesmas bibliotecas para começar seu projeto? Lhes apresento um senhor muito simpático (e nada preguiçoso) chamado Yeoman.

yeoman-logo

Yeoman é uma coleção de ferramentas e boas praticas que integradas visam facilitar o desenvolvimento de aplicações web. O Yeoman veio para facilitar sua vida, ele cuida de scaffolding, depêndencias, live reload, build, testes, …

Como funciona?

Por exemplo, você precisa começar uma nova aplicação com Angular JS:

Abra o terminal e entro da pasta que deseja criar a aplicação, digite:

yeoman install angular //instalando a extensão
yeoman init angular //fazendo o scaffolding da aplicação

Ele irá fazer algumas perguntas rápidas  (as respostas são “Sim” ou “Não”, como por exemplo, se deseja adicionar algum outro componente), e pronto! Ele cria toda a estrutura, inclusive com testes!



Ops, você esqueceu de adicionar JQuery? Sem problemas:

yeoman install jquery

Feito:


Quer rodar sua aplicação? o yeoman também ajuda:

yeoman server

o build será executado, uma janela do browser abrirá rodando a aplicação e ‘escutando’ qualquer mudança para atualizar a pagina.

Saiu uma nova versão do jquery? o yeoman atualiza pra você:

yeoman update jquery

E o melhor, se você tem alguma estrutura própria na sua empresa ou em casa, ele foi escrito para permitir você criar extensões (inclusive, existe um site só com elas!) que adaptam-se ao seu modo de desenvolver.

Shut up and take my money!

Gostou? Yeoman (e as ferramentas que o compôe) são inteiramente grátis. Para conhecer mais, saber como instalar e melhorar sua produtividade, confira o site oficial do projeto.

Construindo uma aplicação à prova do tempo

Quando iniciamos o desenvolvimento de uma aplicação, ainda no papel, nos deparamos com várias dúvidas e uma delas é  ‘Quais tecnologias utilizar?’. Essa pergunta não é fácil de responder, cada cenário leva a uma (ou muitas!) respostas diferentes. Com a alta volatilidade das tecnologias que vivenciamos atualmente, o essencial para uma aplicação é que ela esteja preparada para evoluir, acompanhando o que há de melhor surgindo no mercado, e para isso, a melhor carta na manga é uma boa arquitetura.

Nesse artigo abordarei um pouco de uma arquitetura na qual trabalhei recentemente e que na minha opinião exemplifica bem a flexibilidade que necessitamos: SOFEA (também conhecida como Thin Server).

Service Oriented Front-End Architecture (ou Arquitetura Front-End Orientada a Serviço) é um padrão de arquitetura que tem como objetivo desacoplar toda a lógica de apresentação de uma aplicação do servidor, ou seja, nenhuma lógica de como mostrar os dados na tela ficará no servidor, deixando a responsabilidade para quem realmente tem o dever de fazer: a aplicação cliente do usuário.

Tradicionalmente o servidor, quando requisitado, costuma reunir todas as informações necessárias (inclusive muitas repetidas) e agrega-las a uma página (htmljsp, …) que é retornada ao browser, que por sua vez necessita parsear todo o conteúdo a cada nova requisição.

d-arqcomum

O Problema desse tipo de arquitetura é o alto grau de dificuldade em evoluir a aplicação, especialmente em uma época onde a cada dia surge uma nova necessidade (como por exemplo, um site mobile ou um app) e para adaptar-se acaba gerando muito retrabalho, engessando todo o processo e deixando-a obsoleta. Continuar lendo