Previsões para 2017 pelos profissionais da Umbler: parte II

Umbler
Umbler News
Published in
16 min readJan 18, 2017

Continuando nossas previsões para o ano que inicia, chegou a hora de falarmos sobre tecnologias que serão tendência em 2017. E só vem coisa boa por aí!

Baseadas na análise diagnóstica das condições oceânicas e atmosféricas globais, e em prognósticos de modelos dinâmicos e estatísticos de previsão climática sazonal, previsões apontam grandes volumes de chuva em todo o Brasil, logo no primeiro semestre de 2017. Isso justifica-se pela fraca condição do La Niña.

Opa!

Não, assim como primeiro artigo da série sobre previsões para 2017, esse post também não pretende dar conta de prognósticos climáticos — até porque a gente sabe que a previsão do tempo está cada vez mais desconfiável e que só mães são capazes de acertar :P

Aqui, tentaremos ser um pouco mais certeiros. A ideia é dar seguimento a lista de presságios para o ano que mal começou e já está voando. Desta vez, o foco é tecnologia — web design, front-end, back-end e por aí vai. E isso não exclui a galera de humanas (assim como a primeira parte não afastou o pessoal de exatas!), pelo contrário — a intenção é apontar métodos e práticas que estarão presentes na vida de qualquer profissional (ainda mais se este estiver aberto a observar ao seu redor).

Quer ver? Então, acompanhe!

Se você não tiver tempo (ou não quiser) ler todo o post, pule para o TL;DR (que, novamente, teve que ir lá para o final do post, para evitar spoilers!) :)

Docker

Vamos começar com algo que guia a maioria das previsões para o próximo ano. Vamos começar com conteinerização: a moda do momento. E não é qualquer modinha, está vindo para ficar. Na Umbler, o movimento de transição da atual plataforma para Docker já está ocorrendo (OK, OK! Informação em primeira mão). É o que o Diego, CIO na Umbler, comenta em suas previsões para 2017, relatadas em frente ao mar — mentira, parece praia, mas é só mais uma selva de pedra.

A expectativa é que tudo virará container. Ou melhor, que nesse ano haja uma maior clareza do que realmente é e como funciona o conceito da conteinerização. Mas não, não estamos falando de arquitetura sustentável (que, aliás, também é uma tendência bastante interessante!), estamos falando de Docker. E, se você chegou até 2017 só “ouvindo falar” nessa tecnologia, chegou a hora de investigar a fundo e colocar a mão na massa.

Apenas para fins de nivelamento, vale explicar que Docker é uma plataforma líder em conteinerização de softwares, com uma abordagem arquitetônica de isolamento e alocação de recursos que permite praticidade e eficiência — muito mais do que máquinas virtuais. Além de acelerar processos para desenvolvedores, evitando horas de configuração de novas instâncias, permite mais criatividade, já que os recursos de isolamento libertam das restrições de tecnologias e dos conflitos entre elas, e eliminam inconsistências no ambiente de desenvolvimento, já que o containers funcionam em qualquer computador, em qualquer infraestrutura e em qualquer nuvem.

Docker apareceu no topo de relatórios sobre tendências em DevOps, como no Technology Radar, publicado pela ThoughtWorks, e no State of the Cloud Report, publicado pela Right Scale. Passadas as fases de avaliação e teste, entra o ano novo como uma tecnologia que vem sendo implementada principalmente pelas grandes empresas — e que vem em crescente também nos pequenos e médios negócios.

Entre os principais desafios relacionados a Docker, relatados pelas empresas que já implementaram a plataforma, estão a falta de experiência na área de containers, além de questões de segurança. E isso demonstra um gap de profissionais focados na tecnologia (alô, galera de dev! alô, galera de infra!).

Justamente pensando nessa forte tendência, a Umbler saiu na frente e promoveu o Docker Mentor Week (RS), um evento global do Docker que teve como objetivo trazer conteúdo técnico de alto nível e que reuniu cerca de 70 pessoas em nossa sede em novembro/2016. Foi muito legal ;)

Então, sentiu-se motivado a aprender mais sobre Docker? Recomendamos muito o Mundo Docker, um site focado no tema, com posts muito didáticos e bacanas, mantido por dois superespecialistas na tecnologia — o Cristhian e o Cristiano (ambos da Umbler!) ;)

Tecnologias especialistas

Com o cenário da TI abrindo portas para o Docker (e para os containers de forma geral), a tendência citada pelo Fábio, CTO na Umbler, ganha ainda mais força: a escolha de ferramentas cada vez mais especialistas, para resolver problemas específicos, é uma das principais expectativas para 2017, principalmente pelo avanço de tecnologias mais certeiras — e pela permissividade dos containers.

Como o Fábio cita, a junção de diversas linguagens ultra-específicas vai compor cada vez mais sistemas a serem desenvolvidos nesse ano. Mas, se parece muito difícil mirar e acertar os alvos, não se preocupe: apontamos algumas ótimas alternativas para soluções precisas (tanto como sinônimo de ‘precisão’, quanto de ‘necessidade’).

RethinkDB

Ainda que tenha anunciado seu encerramento em outubro/2016, o RethinkDB, felizmente, permanece disponível como projeto open-source no GitHub — ou seja, pode (e deve!) ser utilizado como uma tecnologia especialista em 2017. O foco, nesse caso, é banco de dados, voltado a construção de aplicações web em tempo real. A intenção é ajudar desenvolvedores a criar aplicativos escaláveis em pouquíssimo tempo. Outras vantagens que podem ser destacadas são: banco de dados NoSQL, a capacidade de armazenar documentos JSON sem esquemas, a possibilidade de escala, além da alta tolerância a falhas. Fica a dica!

InfluxDB

Já o InfluxDB aparece como uma excelente alternativa para armazenamento de dados temporais. Aliás, 2016 foi um excelente ano para o InfluxData, desenvolvedor da tecnologia, já que recebeu um aporte na casa dos seis zeros para investimentos na área de Internet das Coisas. Escrito em Go, o InfluxDB é um projeto open-source, específico em lidar com dados de séries temporais, com alta disponibilidade e requisitos de alto desempenho. É possível de ser instalado em minutos, sem dependências externas, sendo flexível e escalável o suficiente para implementações complexas. Vale investir nessa tecnologia ;)

Realm.io

Precisamos concordar que vivemos em um mundo onde a primeira pergunta ao chegarmos em qualquer lugar é: “qual é a senha do wi-fi?”. Parece impraticável ficarmos desconectados — e depender de 3g/4g não é fácil. Desenvolver aplicativos que considerem o offline first já não é um diferencial, é uma necessidade. Uma alternativa alinhada a esse cenário é o Realm.io, um banco de dados mobile considerado como alternativa ao SQLite e CoreData, sendo absolutamente mais rápido e com ótimos recursos, como consultas complexas em nanossegundos, acesso simultâneo de dados com vários threads (sem falhas), uso multiplataforma, criptografia, arquitetura reativa e, claro, funcionalidades offline. Um grande aliado em 2017!

Vault

Algo que sempre será tendência, não só em 2017, é a segurança das suas informações. Por isso, tecnologias especialistas na proteção de dados sempre são muito bem-vindas. É o caso do projeto Vault, da Hashicorp. Trata-se de uma ferramenta para armazenamento de chaves, que oferece uma interface unificada e soluções personalizadas. Nela, é possível armazenar senhas de forma segura, com criptografia de segredos antes da gravação em disco, geração de chaves dinâmicas, com permissões sob demanda, além de permissões para criptografar (e descriptografar) dados sem armazená-los — o que permite que equipes de segurança definam parâmetros e desenvolvedores armazenem dados criptografados sem precisarem criar seus próprios métodos. É uma excelente aposta!

Apache Kafka

Quando o assunto é processamento de eventos em fila, não poderíamos deixar de citar o Apache Kafka. Aliás, poderíamos resumir a tecnologia de diversas formas, mas nada seria tão preciso quanto uma analogia: o Kafka (complexo, mas nem tanto quanto o Franz) atua como um “sistema nervoso central”, coletando dados de alto volume, como atividades de usuários e logs, e tornando esses dados disponíveis por meio de um fluxo em tempo real para o consumo por outras aplicações. Com a popularidade do Big Data e da Internet das Coisas, torna-se ainda mais desafior coletar uma imensa quantidade de dados e analisá-los — principalmente considerando o fluxo constante. É aí que entra o Kakfa, que já dominou empresas como Netflix, Spotify, PayPal e LinkedIn. Logo, é bem provável que seja uma boa alternativa seus projetos, não é?

Redis

Por fim, mas não menos importante, uma solução para cache de dados, que também apesar de não ser tão recente, segue sendo uma ótima alternativa: o Redis, um projeto open-source para armazenamento de dados de valor-chave NoSQL. Uma diferença importante entre o Redis e outros sistemas de armazenamento é que ele suporta não apenas strings, mas também outros tipos de dados abstratos — o que leva o Redis a ser utilizado em uma gama enorme de necessidades. Com relação a cache, dois usos podem ser destacados: como cache de sessão e cache de página inteira. Vale a pena investigar essa tecnologia!

E, por falar em tecnologias, chegou a hora de observarmos ainda mais o backstage.

Back-end

Adentrando ainda mais no universo do back-end, apesar das muitas opções disponíveis para desenvolvedores (como vimos!), precisamos ser honestos como o Marcos, desenvolvedor na Umbler: não existe bala de prata quando se refere ao desenvolvimento de um produto.

Malz, amigo dev! Cabe a você definir o que será melhor para um projeto, afinal, ninguém melhor para conhecer, avaliar e testar possibilidades. O mais legal é que o cenário vem se ampliando cada vez mais e permitindo desde escolhas mais certeiras até soluções que agregam milhares de funcionalidades. Mais uma vez, cabe a você estar de olho em tudo que circula o cosmos do desenvolvimento — lembrando que somos uma maneira do cosmos se autoconhecer, já diria nosso amigo Carl.

Aliás, falando em conhecimento (e na busca por ele!), uma das tendências destacadas pelo Marcos é o paradigma funcional, que, segundo ele, se destacará ainda mais em 2017 devido a circunstâncias de hardware e por trabalhar bem com concorrência. Mas, peraí, paradigma na programação? Isso parece tão filosófico, não é? Pois bem, é! Afinal, trata-se da linha (quase) ideológica adotada na construção de softwares — e cada linguagem tem a sua.

Provavelmente você deve saber (ou já ouviu falar) muito sobre paradigmas imperativos, lógicos, orientados a objetos e orientados a aspectos. Mas, e o funcional? Vamos falar rapidamente sobre ele.

Em linhas gerais, linguagens funcionais são caracterizadas por uma visão totalmente modular do fluxo de um programa, pelo desenvolvimento de funções que solucionam determinados problemas. Ou seja, para cada elemento do seu conjunto domínio (entrada) há apenas um elemento no seu conjunto contradomínio (saída). Linguagens funcionais trabalham de forma avaliativa (estimuladas principalmente por não utilizarem memória), lendo uma expressão, calculando seu valor e apresentando o resultado.

Tá, mas afinal, quais as vantagens sobre essa filosofia? Podemos destacar algumas: mais eficiência do que linguagens imperativas para cálculo recursivo, mais transparência referencial, mais flexibilidade e mais capacidade de abstração. Com ótimas performances como server-side, linguagens funcionais estão sendo estimuladas pelos avanços tecnológicos em dispositivos móveis à medida que são excelentes para executar tarefas simultâneas, sem necessidade de sincronização complexa.

Mas, como nem tudo são flores, vale ressaltar que, como ponto negativo, as linguagens funcionais ainda encontram barreiras, principalmente pelo mundo do desenvolvimento não ser tão funcional quanto elas. Como lidar com isso? Exercitando seu uso. Que tal começar em 2017?

Quer um ótimo estímulo? Saiba que linguagens baseadas no modelo funcional, como Erlang, Clojure, Scala, Haskell, F# e Elixir, por exemplo, aparecem em lugares de destaque no Developer Survey Results 2016, feita pelo Stack Overflow, em posições como ‘linguagens mais amadas’ e ‘tecnologias mais bem pagas’. Parece que vale se dedicar a elas, não é mesmo?

Agora, saindo do campo filosófico e voltando às tecnologias. Você provavelmente já passou por essa situação:

Então, quando estiver de bobeira, sugerimos que você troque essa pesquisa para “progressive web apps” — até porque a resposta sobre o apoio do braço ninguém sabe, tanto é que já inventaram um produto para acabar com as divergências. Já sobre Progressive Web Apps, as incidências são mais de 1.770.000 e contam com materiais bastante interessantes.

Por que você deve procurar essa keyword? Ainda que tenha sido proposta originalmente pelo Google em 2015, a tendência vem ganhando forma e pretende atingir seu ápice em 2017. Em resumo, o conceito de aplicativos web progressivos trata-se de uma junção do melhor da web e do melhor das aplicações móveis. Um estudo mostrou que um aplicativo perde 20% dos seus usuários a cada nova etapa que exige deles. Então, porque não criar uma aplicação web com todo o potencial mobile, que não exige download e nem instalação, por exemplo? Que tal utilizar as capacidades dos navegadores modernos para entregar ao usuário uma experiência tão agradável quanto a de aplicativo nativos? São muitas as vantagens:

  • Para o usuário, a principal vantagem é não ter que baixar um app para ver se este realmente é usual e resolverá seus problemas;
  • Com relação à técnica, os progressive web apps tendem a ser mais responsivos, com interações tão avançadas quanto de aplicativos mobile, mais seguros e com melhor SEO.

Interessou-se pelo tema e quer estudar mais? Então siga a dica do Marcos, pesquise e confira um podcast muito bacana sobre Progressive Web Apps feito pela galera do Hipsters Ponto Tech.

Front-end

Mas, o que seria do back sem o front, não é mesmo? Saindo do backstage e adentrando o picadeiro, chegou a hora de falarmos sobre tão amado front-end. E, se você sempre se perguntou quem era o criador do Umblerito, eis que chegou a vez de saber. Fontella, designer na Umbler e amigo íntimo do nosso mascote, traz como principais tendências em front-end para 2017 os web components.

Andando duas casas (ou uns dois/três anos) para trás, sabemos que os web components já não são assim tão trend. Já não é de hoje que esses conjuntos de tecnologia vêm sendo adotados (e adorados) pelos desenvolvedores front-end, mas, em 2017, a tendência é que continuem marcando presença, ainda mais por meio do queridinho da vez: o ReactJS.

Citando novamente o Technology Radar, publicado pela ThoughtWorks, o ReactJS aparece como uma tecnologia a ser cada vez mais adotada e, por seu papel bastante facilitador, ainda é um dos frameworks JavaScript preferidos de desenvolvedores front-end. Sua principal diferenciação está no fato de permitir uma ligação unidirecional de dados, o que simplifica (e muito) a lógica de renderização e evita muitos problemas que afligem aplicações escritas sobre outros frameworks.

Criado pela gang do Instagram (que depois foi comprada pelo Tio Mark), o React é um projeto open-source e tem uma lista longa de benefícios. Aqui, alguns:

  • Criado com o intuito de criar componentes (o futuro do desenvolvimento web), apresenta uma facilidade absurda para criar componentes pequenos e reutilizáveis;
  • Utiliza sintaxe específica (amada por uns, odiada por outros), a JSX — para escrever JavaScript como se estivéssemos escrevendo XML.
  • Pode rodar ao lado do servidor, o que permite melhor SEO;
  • Unifica markup e lógica da view, facilitando a manipulação;
  • E, claro, o motivo favorito: trabalha com V-DOM (Virtual-DOM), bem mais rápido que o DOM nativo;

Quer mais motivos para trazer o React.JS para sua vida? Confira essa série de posts do Willian Justen, desenvolvedor front-end e grande especialista na área (e amigo da Umbler!).

Ainda dentro do tema web components, é impossível não lembrar daqueles mais voltados para otimização — afinal, tudo o que você mais quer é que sua aplicação tenha uma boa performance, não é mesmo? Fontella destaca que além dos task runners mais conhecidos, como Grunt e Gulp, um dos destaques de 2017 é o webpack, que tende a se tornar ainda mais consolidado. Trata-se de um empacotador de códigos para projetos web, que foca nos módulos da sua aplicação e oferece a função code splitting, onde é possível modularizar partes reaproveitáveis do projeto, facilitando o desenvolvimento independente.

Enquanto soluções como RequireJS já vinham agregando módulos de JavaScript, concatenando-os e retornando apenas um arquivo JS, no Webpack os módulos não ficam restritos a essa linguagem. Utilizando Loaders, o Webpack compreende que um módulo JavaScript pode requisitar um arquivo CSS, e que aquele CSS pode requisitar uma imagem, por exemplo — tudo o que for gerado vai conter apenas o necessário, com o mínimo de interferência.

Para mais detalhes, recomendo esse post de introdução ao Webpack :)

Design

Impossível falarmos de front-end e não considerarmos fatores como design e experiência do usuário (UX). Por isso, convidamos o Adriano, designer na Umbler, para apontar suas profecias sobre essas áreas.

Segundo o Adriano, dentro do cenário de UX, que amadurecerá ainda mais em 2017, algo que será bastante explorado é o design responsivo (vale ressaltar que já apresentamos tecnologias específicas que ajudam nesse ponto!). Mas, aí, entra um detalhe bem importante: a responsividade já não se reduz apenas à adaptação do conteúdo em diferentes tamanhos de tela. O foco está no design responsivo como aquele que está mais próximo das necessidades do usuário.

Aliás, a importância de absorver esse pensamento é muito maior do que você pode imaginar. Note que uma pesquisa recente realizada pela Forrester indicou que 93% dos profissionais de design estão planejando ou desenvolvendo um projeto web responsivo. No entanto, como dado reverso, é possível perceber a forte aplicação de um modelo fracassado: que transpõe a experiência web para o mobile e vice-versa, apenas com modificações de visualização e exibição, sem o viés crítico de notar que o usuário tem comportamentos diferenciados a partir do dispositivo que utiliza. Ou seja, digamos que você tenha um e-commerce e não consegue uma aderência considerável em um aplicativo mobile. Considere estudar seu público e compreender o que ele realmente quer quando utiliza um smartphone — talvez, você descubra que ele só realize compras pelo desktop e o que você precisa é entregar uma melhor experiência web (ou quem sabe trabalhá-la melhor no mobile).

É redundante dizer que esse raciocínio evitaria muito retrabalho ou até projetos frustrados. Lembra do que falamos no post anterior sobre Jobs To Be Done? Então, tem tudo a ver! Integrar outras áreas ao processo de desenvolvimento do design responsivo é fundamental. Uma ideia bem interessante, proposta pelo pessoal do Smashing Magazine, é a de espiral, onde as expertises se complementam em uma movimentação não linear em busca do produto ideal.

Aliás, se quiser ler mais sobre o tema, recomendamos esse ótimo artigo sobre processos eficientes em design responsivo.

Outro ponto que promete movimentar a área de design e UX são as microinterações, pequenos detalhes que podem abrilhantar a interação entre a interface e o usuário. O termo, cunhado pelo designer Dan Saffer, dá conta de todas as pequenas interações que podem tornar um produto mais pessoal, humano e divertido. Quando você curte uma foto no Instagram e o ❤ pisca na tela, quando a cor do favicon do GitHub muda acompanhando o status no sistema, quando você extrapola o limite de caracteres no Twitter e os alertas decrescentes são exibidos em vermelho, tudo isso é microinteração.

Mas, o que seria uma boa microinteração? A sua eficácia não depende de sua perceptividade ou tamanho, por exemplo, mas pela atenção dedicada às partes que a compõem: trigger, gatilho ou ação inicial; rules, regras sobre o que pode ou não pode acontecer na sequência; feedback, forma como o usuário entende a interação realizada; loops, que determinam se haverá prolongamento ou repetição; e modes, quando surge a necessidade de uma interrupção crítica.

Mas, claro que nem só de técnica nasce uma microinteração — ela é mais psicológica do que você pensa. Antes de começar a pensar em cores, animações ou posicionamentos, pesquise acessos para entender o comportamento do usuário e compreender suas necessidades, desejos, emoções e interatividade (mais uma vez a importância da multidisciplinaridade, a integração entre áreas!). Certamente esse estudo poderá contribuir para quaisquer ação de design e UX que você desenvolver em 2017.

Chatbots

E, por citar a multidisciplinaridade, para finalizar trazemos a tendência destacada pelo Pablo, desenvolvedor e UX na Umbler. Uma das principais apostas para 2017 abrange não só o setor de tecnologia, mas também outras tantas áreas, principalmente no quesito interação com o usuário: os chatbots (ou chatterbots ou robozinhos que conversam como e com pessoas).

Tá, não vamos reduzir tanto a função dessa tecnologia, ela pode ser fundamental para melhorar ainda mais as interações entre marcas e consumidores.

Digamos que os chatbots finalmente alcançaram a maioridade e chegou o momento de migrarem cada vez mais de tecnologia. Em 2016, foi a vez dos smartphones e tablets, que já passaram a assumir os assistentes virtuais (os migos, Siri e Cortana, por exemplo) como itens obrigatórios. E, se a previsão do CEO da Microsoft, Satya Nadella, se manifestar, daremos mais um passo para a era Bot is the new App (fica a dica para a produção de camisetas).

A indústria tem se mostrado cada vez mais louca pela tecnologia. O Facebook, por exemplo, já possui mais de 34 mil bots em sua rede de mensagens e mais de 33 mil desenvolvedores envolvidos no processo. Mas, fato é: em 2017 ainda estaremos distantes dos robôs sci-fi, de aparência humana — as tentativas de tecnologia baseadas em Inteligência Artificial e Machine Learning, inclusive, ainda geram alguns resultados frustrados (vide caso do Tay, o polêmico Twitter-bot da Microsoft).

Mas afinal, a ideia nem é essa — pelo menos não agora!

Pensemos nos chatbots como jovens adultos, que já mantêm certa independência de seus pais, conseguem se resolver de forma cada vez mais autônoma e prática, mas que ainda precisam de conselhos, cuidados e amadurecimento. O objetivo principal dessa tecnologia para os próximos anos é melhorar ainda mais a experiência do usuário em seus contatos com sistemas de informação, reduzindo transações para um número mínimo e automatizando tarefas ao longo do caminho. O que temos ainda é baseado, em sua maioria, em matching (tipo Tinder), mas o desafio reside justamente aí: é possível trabalharmos para expandirmos essas habilidades?

Se empolgou com a tendência e quer estudar mais sobre o assunto? Algumas dicas de comunidade para acompanhar:

The end. Sim, as previsões são muitas, mas todas focadas naquela palavrinha que citamos na primeira parte desse post: integração. Encontrar todas as peças fundamentais com foco nos objetivos do que se pretende desenvolver é a linha a ser seguida para montar quebra-cabeças em 2017. São muitas as tecnologias à nossa disposição, nos cabe avaliá-las, estudá-las e, claro, experimentá-las :)

TL;DR

Rapidão: a ideia foi convidar alguns profissionais da Umbler para contar o que acham que vai bombar em 2017 em suas áreas de atuação.

E as tendências são:

  • Docker: o conceito de conteirenização ganha mais clareza em 2017 e as empresas passam a implementar o Docker, ainda que haja um grande gap de profissionais focados na tecnologia.
  • Tecnologias especialistas: com as portas abertas à conteinerização, avança-se o uso de tecnologias focadas em resolver problemas específicos.
  • Back-end: não existe bala de prata em desenvolvimento de produtos! Adapte as possibilidades à sua realidade. Vale estudar sobre o paradigma funcional e progressive web apps em 2017.
  • Front-end: os não tão novos web components seguem em alta, com destaque para o React.JS. Com relação à otimização, o webpack é uma excelente alternativa.
  • Design: a necessidade de compreender o design responsivo como uma adaptação às necessidades do usuário e as microinterações como uma aproximação mais humana e divertida são promessas para esse ano.
  • Chatbots: chegou a hora dos robôs ganharem mais força, e avançarem no quesito interação com usuários. Quem sabe os bots serão os novos apps?

--

--

Umbler
Umbler News

Oferecemos soluções de hospedagem de sites, e-mail profissional, registro de domínio e educação para agências digitais entregarem mais valor aos empreendedores!