call_stack

Como o Javascript funciona: O event loop e o surgimento da programação assíncrona + 5 maneiras de codificar melhor com async/await

Bem-vindo ao post 4 da série dedicada a explorar o JavaScript e seus componentes de construção. No processo de identificação e descrição dos elementos centrais, também compartilhamos algumas regras gerais que usamos ao criar o SessionStack , um aplicativo JavaScript que precisa ser robusto e altamente eficiente para se manter competitivo. Continue reading…

1_-dy70uysIH0N9MfVVitzgg

Você ou o seu time não vão aprender ReactJs em 7 dias ou em um Hello World!

O objetivo desse artigo é posicionar o leitor de que desenvolver com ReactJs uma aplicação para rodar em produção de forma estável e evoluindo, pode não ser tão simples como alguns artigos podem dar a impressão.

Com toda a popularidade atual do ReactJs, Vue.js e Angular também vem um mar de informações, artigos e video aulas simplificando( na minha opinião) a sua curva de aprendizado. Esse artigo é baseado na minha experiência ao aprender ReactJs. Comecei a utilizar em setembro de 2017, bem no lançamento do React 15.6 para 16.0 e algumas polêmicas de troca de licença de MIT para BSD, que depois de um barulho, voltou para MIT.

Porque comecei a usar ReactJs ?

Procurando um software para fazer gestão Lean com OKR e Kanban em 2017 não achei nenhuma solução que resolvesse o problema que tínhamos na empresa, então resolvi criar uma solução. Cheguei a conclusão que a melhor abordagem seria criar uma PWA, e quis fazer o backend e o front-end com Javascript.

Parei na dúvida que acredito que todos ainda tem. ReactJs, Vue.js ouAngular ? Eu já conhecia o Angular 1.6 e o 2.0. Vue.js e ReactJS eu nunca havia testado, nem para brincar. O Angular 2.0 eu achei complexa a arquitetura e pouca documentação oficial, e havia uma certa tensão se o Google iria continuar com ela ou não, dado o imenso breaking change da versão 1.6 para 2.0, fiquei inseguro com isso. Então comecei a comparar Vue.js e ReactJs.

Acabei optando pelo ReacJs por 2 motivos principais: comunidade e a arquitetura.

Comunidade

Espero não o ofender a comunidade do Vue.js que é tão grande quando a de ReactJs, mas na minha opinião é menos ativa na inserção de código para o repositório. Se olhar ambos os projetos no Github, tive em 2017 e continuo tendo agora as seguintes percepções:

  • Ambos os projetos tem mais 120 mil starts, Vue.js tem até mais que o ReactJs atualmente(em 2017 ainda não tinha), mas isso eu vejo apenas como admiradores do projeto. Eles consomem(talvez), mas não contribuem necessariamente.
  • O ReactJs tem quase 5X mais contribuidores que o Vue.js. Penso que isso faça uma diferença na longevidade da plataforma, mais do que o número de starts(admiradores)
  • Claro que contribuidores não significa também atividade significativa, mas se olharmos no Insights de cada projeto e compararmos os itens Pulse, Contributors, Commits Code Frequence, os números do ReactJs são mais elevados. Logo entendo que de fato tem mais gente melhorando e mantendo o ReactJs do que o Vue.js.
  • Pelo tamanho do Facebook, que é quem criou e principal mantenedor do ReactJs vejo maior estabilidade no longo prazo. O ReactJs é utilizado amplamente dentro do Facebook, então eles tem muito a perder no caso da biblioteca deixar de existir, não que isso não possa acontecer, obviamente, mas eu pensei assim.
  • Se você pesquisar no Google Trends também se percebe que ReactJs está em maior ênfase.
  • Gosto de ver também o Stack Overflow Survey

Arquitetura

Basicamente achei muito interessante o JSX, Virtual DOM e a liberdade ao se desenvolver com ReactJs. Sei que essa liberdade tem um preço, explico isso mais adiante.

Eu acredito que qualquer problema que se resolve com ReactJs, pode ser também resolvido com a mesma eficiência com o Vue.js ou com o Angular, só depende dos desenvolvedores dominarem a ferramenta e o problema que precisam resolver. Dito isso, também tem um lado emocional na minha escolha, apesar dos pontos acima citadas, eu também gostei mais de codificar com ReactJs e ponto final.

Mesmo assim recomendo ficar sempre atendo as melhorias do Vue.js e do Angular, pois se pode aprender bastante com elas.

Continue reading…

Google V8 engine

Como o JavaScript funciona: dentro da engine V8 + 5 dicas sobre como escrever código otimizado

Algumas semanas atrás nós começamos uma série com o objetivo de aprofundar como o Javascript atualmente funciona: pensamos que conhecendo melhor os blocos de construção do Javascript e como eles funcionam juntos, você vai estar habilitados a escrever melhores códigos e aplicativos.

O primeiro post dessa série focou em fornecer uma visão geral da engine, o runtime e a call stack. Esse segundo post vai mergulhar nas partes internas da engine Javascript V8 do Google. Também vamos fornecer algumas dicas rápidas de como código Javascript melhor — melhores práticas que nosso time de desenvolvimento no SessionStack segue quando está construindo o produto.

Continue reading…

Runtime Javascript

Como o Javascript funciona: uma visão geral da engine, runtime e da call stack

Como Javascript está ficando mais e mais popular, os times estão aproveitando o seu suporte em muitos níveis da sua stack — front-end, back-end, apps híbridas, dispositivos embarcados e muito mais.

Este post é destinado a ser o primeiro de uma série que visa aprofundar o JavaScript e como ele realmente funciona: pensamos que conhecendo os blocos construídos do Javascript e como eles funcionam juntos, você vai estar habilitado a escrever melhores códigos e apps. Nós também compartilhamos algumas regras de ouro que usamos quando construímos SessionStack, uma aplicação Javascript leve que precisa ser robusta e de alto desempenho para se manter competitiva. Continue reading…

Protótipos em papel

Como a prototipação deixou minha equipe mais ágil para desenvolver software

Qual desenvolvedor de software não teve problemas ao tentar entender o que o cliente quer e então desenvolver um software que gere valor. Nesse post vou mostrar como a prototipação de baixa fidelidade deixou minha equipe mais ágil e ajudou a gerar uma linguagem compartilhada entre a minha equipe e as demais áreas da organização.

 

Continue reading…

livros-javascript

Livros de Javascript que já li e recomendo

Sem dúvida alguma javascript é o que mais gosto no desenvolvimento web, como fiz a lista de livros de php , agora vou listar os livros de javascript que já li com um resumo e onde adquiri-los . Espero que seja útil para quem estiver buscando conhecimento de javascript e, pessoal vocês não programam em Jquery!!!, é tudo javascript (rsrsrsr). Digo isso porque qualquer busca que se faça no Google hoje sobre termos relacionados a frontend developer vai nos retornar como fazer algo com um framework, acredito que existe muitos desenvolvedores programando as escuras, por isso que compartilhar esta lista.

Importante frisar que muitos livros de javascript passam pelos mesmo conteúdos, mas é sempre bom ver a perspectiva de outro autor sobre o mesmo caso de uso.
Continue reading…

livros-php

Livros de PHP do básico ao avançado que li e recomendo

Aprender sobre PHP é algo relativamente fácil hoje, mas quando se eleva o nível um pouco o conhecimento começa a ficar meio escasso na internet, aonde a maioria dos conteúdos são mais básicos e intermediários (pelo menos quando era programador era assim). Por este motivo comecei a me habituar a ler livros de programação e virou praticamente um vício. Então como referência para quem busca aprendizado segue os livros de PHP que eu já li , um resumo bem básico e onde adquirí-los.

Continue reading…