Sharethis, Meteoro e o Arranque Lean
por Ishika Paul, Engenheiro Principal
Sharethis adotou recentemente a abordagem Lean Startup. Esta filosofia foca no trabalho mais inteligente e não mais difícil:
- Aprender e iterar
- Desenvolver a ideia
- Construir sobre a idéia (Código, protótipo, testes unitários!)
- Implementar a ideia aos clientes e medir os resultados
O meteorito abraça esta filosofia. Ele permite que os engenheiros sejam produtivos e construam características de forma inovadora.
O que é o Meteoro:
Meteoros é um framework javascript de código aberto que utiliza um backend nodeJS, juntamente com uma profunda integração com o MongoDB como um armazenamento de dados. Para o frontend, o Meteor fornece bibliotecas de Tracker e Blaze. Estas tecnologias conjugadas fornecem aos desenvolvedores um poder incrível para construir facilmente aplicações e produtos. Abaixo discutirei como o Meteoro nos ajudou a "Trabalhar de forma mais inteligente, não mais difícil".
Acabou de funcionar:
Instalar o meteoro na sua máquina é fácil:
encaracolar https://install.meteor.com/ | sh
Deu-lhe uma plataforma de empilhamento completa! Você terá um servidor, cliente e uma base de dados (MongoDB) fora da caixa. Você só tem que navegar para
localhost:3000
Lá você verá o seu aplicativo de teste rodando no seu navegador. Agora podemos criar o nosso aplicativo e começar a codificar!
Um idioma:
Construir aplicações web já não significa apenas trabalhar com o front end. Há uma quantidade considerável de desenvolvimento de servidor necessário para obter a funcionalidade desejada. Na maioria dos casos, o código do servidor está normalmente em outra linguagem, o que introduz frustração e confusão entre os desenvolvedores. O servidor de meteoros é construído em cima do NodeJS. O desenvolvimento em Javascript através da pilha liberta o desenvolvedor para se concentrar na construção de recursos e produtos e não em diferentes idiossincrasias de linguagem de programação.
Integração MongoDB
O meteoro está profundamente integrado com o MongoDB. A estrutura permite uma interface perfeita com a base de dados sem muita codificação e lógica. As chamadas db são comuns e disponíveis em todo o servidor e cliente.
Reativa e Responsiva
Todos nós queremos que os nossos produtos sejam rápidos e ágeis. Este é um dos fundamentos filosóficos do Meteoro. Os desenvolvedores não têm que adicionar tomadas complexas ou lógica de sondagem para fornecer essa capacidade. O Meteor aproveita a capacidade de publicação/assinatura da MongoDB para aproveitar a sua capacidade em tempo real. Uma vez criado um relacionamento pub/subs para uma coleção, as mudanças na coleção são propagadas sem problemas da base de dados para os templates e UI.
Velocidade e Suporte de Teste
Os testes estão no coração da filosofia "Trabalhar mais esperto, não mais difícil". Como a equipe de desenvolvimento está agitando idéias e características, há uma alta probabilidade de que os bugs e regressões se insinuem de volta ao produto. Durante as fases iniciais de desenvolvimento, é necessária disciplina para integrar uma estrutura de testes. Meteoros fornece Velocidade desde a sua primeira instalação. Basta integrar sua biblioteca de testes javascript favorita e você está pronto para escrever seus testes!
Coisas grátis!
Meteorologia é tecnologia de código aberto e se integra facilmente com estruturas adicionais. A comunidade é muito ativa e existem muitos pacotes de código aberto para Meteoros que funcionarão fora da caixa. Temos usado vários para construir características complexas. Nosso tempo de desenvolvimento foi reduzido significativamente porque não tivemos que construí-lo a partir do zero. Como estes pacotes são construídos para o Meteor, a integração servidor/cliente já está lá para que você possa alavancar.
Agora você pode ver por que em Sharethis, a alavancagem do Meteoro permitiu que a equipe itere de forma mais rápida e confiável. Não há outra estrutura web lá fora que nos dê o poder que o Meteoro tem. Somos capazes de lançar com sucesso produtos e funcionalidades para os nossos clientes com um curto tempo de resposta.
Alguns links úteis: