BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias ThoughtWorks Radar - Novembro 2015

ThoughtWorks Radar - Novembro 2015

Favoritos

A ThoughtWorks publicou seu radar para o final de 2015, cobrindo tecnologias em quatro áreas: Linguagens e Frameworks, Plataformas, Técnicas e Ferramentas.

Algumas das principais tendências observadas são:

  • O uso do Docker como uma forma de gerenciar dependências para realizar o build de um projeto ou até mesmo como ferramenta para fornecer escalabilidade horizontal na nuvem;
  • O crescimento na popularidade de microservices e ferramentas associadas;
  • Ferramental JavaScript está estável e menos caótico;
  • A segurança como um problema geral que preocupa todos em todo o ciclo de vida de desenvolvimento de software.

Das quatro áreas que o radar cobre, mencionamos somente os itens que nos chamaram atenção, agrupadas nos quatro anéis de recomendação dos quadrantes: Adote, Experimente, Avalie e Espere.

Adote

A ThoughtWorks sugere adotar os seguintes:

  • ECMAScript 6 - recomendado usar a partir de agora, mesmo que nem todos os navegadores suportem todos seus recursos, o uso de transpilers como o Babel permite programar no ECMAScript 6;
  • Swift - apesar de algumas questões sobre "ferramenta de suporte, refatoração e testes", a ThoughtWorks está usando a linguagem internamente para todo o desenvolvimento Apple. E o anúncio de que o código fonte vai ser liberado faz com que tenham mais confiança em investir na linguagem;
  • Autenticação de duas etapas - este é um item obrigatório, com o propósito de proteger as credenciais de login, a solução popular que está sendo usada é o uso de uma senha temporária de acesso único (TOTP) gerados por aplicativos gratuitos da Google ou Microsoft;
  • Desacoplamento entre deployment (implantação) e release (lançamento) - a ThoughtWorks faz uma diferenciação entre os dois: Deployment como "o ato de implantar uma mudança de componentes ou de infraestrutura de aplicativos", enquanto que o termo Release deve ser usado quando uma mudança de funcionalidade é liberada para os usuários finais. Como por exemplo, através do uso de feature toggle.

Experimente

Do quadrante Experimente destacamos:

  • SignalR - A ThoughtWorks sugere o uso deste framework quando precisar de um servidor WebSocket na plataforma .NET;
  • AWS Lambda - permite iniciar processos com vida muito curta, seja uma reação a um evento dentro da AWS, ou através de uma chamada a partir do serviço API Gateway. Isso significa que é possível criar serviços de Backend sem se preocupar em criar máquinas para execução do código;
  • Fastly - uma CDN usada pelo Twitter e o GitHub com um "conjunto de funcionalidades, velocidade e preços combinados" a tornam uma opção muito atrativa quando se está procurando por uma solução de cache de borda;
  • HTTP Strict Transport Security (HSTS) - permite que servidores se protejam de ataques downgrade de uma conexão HTTPS para HTTP;
  • Docker para builds - utilizar containers para gerenciar os ambientes de build, executando a etapa de compilação em um ambiente isolado completo com as dependências sem contaminar o agente de compilação. Como por exemplo, o golang-builder;
  • Back-end for Front-end (BFF) - serviços back-end para cada tipo de cliente front-end;
  • iFrames para isolar o ambiente de execução - iFrames para isolar o ambiente de execução de JavaScript não confiável (leia mais na iniciativa, AMP HTML);
  • NPM para tudo - usando o NPM para todas as ferramentas JavaScript;
  • Browsersync - recomendado para testar em vários navegadores e dispositivos;
  • Docker Toolbox - um substituto para o boot2docker.

Avalie

A ThoughtWorks sugere avaliar as seguintes tecnologias:

  • Material UI - componentes React que implementam o guia de Material Design do Google;
  • React Native - framework para construir aplicações móveis nativas com o React. E diferentemente de outras soluções híbridas, é possível ter acesso ao componentes nativos da interface gráfica;
  • AWS ECS - serviço de container da Amazon, que por enquanto é excessivamente complicado e carece de uma boa camada de abstração, recomendado para executar container Docker na AWS;
  • Kubernetes - publicação de containers em um cluster de máquinas;
  • Microsoft Nano Server - uma versão simplificada de servidor Windows, recomendado para soluções .NET;
  • Presto - um SQL query engine de código fonte aberto com uma "arquitetura de processamento paralelo massivo", com suporte para o Cassandra, Hive, MySQL e PostgreSQL;
  • Bug Bounty - usado para pagar hacker para encontrar falhas de segurança. Com serviços para intermediar esse processo: BugCrowd e HackerOne;
  • IDE hospedado - código e ambiente de compilação ficam hospedados na nuvem privada da empresa por razões de segurança, enquanto a IDE é carregada no navegador do desenvolvedor via VPN;
  • Espresso - uma ferramenta de testes funcionais para Android;
  • Gauge - é uma ferramenta leve de automação de testes multiplataforma, de código fonte aberto da ThoughtWorks;
  • Let's Encrypt - uma autoridade de Certificação que fornece certificados de graça;
  • RAML - uma linguagem de modelagem de APIs RESTful que a ThoughtWorks considera ser mais leve que o Swagger e muda o foco de adicionar documentação a APIs existentes para o processo de projetar APIs;
  • Visual Studio Code - uma IDE multiplataforma gratuita da Microsoft.

Espere

A ThoughtWorks colocou algumas tecnologias em espera, entre elas:

  • Servidores de aplicação - servidores embarcados são a melhor solução;
  • API Gateways excessivamente ambiciosos - API Gateways podem ser úteis para lidar com algumas preocupações genéricas - por exemplo, autenticação e limitação de taxa de acessos - mas qualquer inteligência de domínio como transformação de dados ou processamento de regras devem residir em aplicações ou serviços nos quais eles possam ser controlados por times de produto trabalhando próximos aos domínios que eles suportam;
  • SPDY - está em espera porque a tecnologia em si já foi incorporada no HTTP/2;
  • Gitflow - A ThoughtWorks explica porque o Gitflow está em espera: "adoramos a flexibilidade do Git, mas abominamos ferramentas que incentivam práticas ruins de engenharia. Branches de vida muito curta prejudicam menos, mas a maioria das equipes que vemos usando Gitflow se sentem habilitadas para abusar de seu fluxo de trabalho carregado de branches, que incentiva a integração tardia (inibindo assim uma integração verdadeiramente contínua). "

Para ver todas as tecnologias mencionadas pelo ThoughtWorks radar recomendamos a leitura do relatório (PDF) ou o acesso online em ThoughtWorks Radar.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT