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…

Inovação

O desafio da mudança – Porque é tão difícil inovar em empresas estabelecidas

Inovação é uma das palavras mais faladas do momento dentro das empresas. Nesse post vou descrever minha percepção sobre a dificuldade das empresas estabelecidas em inovar seus processos, produtos e serviços. O que vou descrever aqui é baseado em minha própria experiência de 10 anos trabalhando com desenvolvimento de software (circulando por todas as áreas da empresa e 7 anos destes na liderança), das trocas de conhecimento através de amigos, eventos e livros que leio.

Hoje em dia ninguém mais questiona que inovar é uma questão de sobrevivência para as empresas e não mais uma questão de luxo. Há um número tão grande de artigos falando sobre isso no Google que nem vou detalhar muito a questão. Mas reconhecer que realmente é necessário não torna a tarefa mais fácil. Continue reading…

Conecta Imobi 2018

Conecta Imobi 2018 – AI, Big Data, experiência do usuário, startups e incertezas

Faz 4 anos que participo do Conecta Imobi. Para quem atua no mercado imobiliário é, sem dúvida, o evento mais relevante do setor. Tem uma diversidade de conteúdos e pessoas do Brasil todo. Achei que este ano foi o melhor até agora e também o mais provocador em relação ao futuro do mercado imobiliário.

Vou descrever um pouco a minha percepção em relação ao evento e o que podemos esperar do mercado. Eu sou da área de TI, e apesar de ser um evento de marketing imobiliário, sinceramente quase não vi diferença para os eventos de tecnologia que costumo ir e, é ai que já podemos ver tudo se transformando. Continue reading…

ciclo de vida do scrum

Os fundamentos e as origens do SCRUM. Como dar os primeiros passos

Conheço o SCRUM há alguns anos. Depois de ler o livro SCRUM – A arte de fazer o dobro do trabalho na metade do tempo de Jeff Sutherland pude entender realmente o valor do SCRUM. Principalmente os motivos e contextos que deram origem à um dos frameworks ágeis mais utilizadas no mundo e como ele acelera de forma significativa o trabalho humano. Neste post vou explicar um pouco do que é o SCRUM, como ele surgiu e como dar os primeiros passos na sua utilização.  

 

Continue reading…

migrando-para-https

Como e porque migrei meu site para HTTPS. E você também deveria!

Eu migrei o meu site para HTTPS e nesse post vou explicar como e porque você que é  desenvolvedor ou do marketing deveria fazer mesmo para ter melhores resultados. Isso mesmo, se você é desenvolvedor já passa da hora de você desenvolver em um ambiente com SSL/HTTPS . E você que é do marketing, se deseja ter uma audiência mais qualificada e gerar mais impactos no negócio também. Então vamos explicar para cada uma das perspectivas as razões.

 

Continue reading…