As tendências mudam, novas técnicas e metodologias surgem e você tem que estar sempre atualizado. Apresentaremos nesse pequeno artigo algumas tendências em tecnologia, na área de desenvolvimento e arquitetura de software. Considere um auto-update nos seus skills com as dicas da nossa #TechTrendingTopics
Áreas de destaque em Tecnologia
IoT big data
Com a explosão do número de dispositivos usados atualmente, a montanha dos dados que são gerados tem crescido de forma exponencial.
Apesar de estar apenas começando, a Internet of Things (IoT) – ou Internet das coisas – já produz bilhões de dispositivos conectados a internet e outros bilhões ainda estão por vir. A consequência disso é a multiplicação dos dados gerados. Em consequência são demandadas mais ferramentas para explorar os dados e obter os insights.
Business intelligence
Como mencionamos antes, captar um volume enorme de dados é importante. Porém, analisar esses dados é a parte fundamental. Nesse aspecto é que o Business Intelligence – BI – se encaixa.
O BI fornece uma variedade de ferramentas, aplicações e metodologias que ajudam na interpretação dos dados.
As duas principais tendências no BI são o data-driven decision-making e o Analytics.
Uma corrente cada vez mais presente é o processo de decisão dirigido a dados ou data-driven decision-making. É o processo capaz de gerar, analisar e visualizar os dados para guiar o gerenciamento dos negócios.
Na prática são gerados relatórios, dashboards e outras visualizações dos dados que facilitam e clarificam o processo de tomada de decisão das empresas.
O resultado muitas vezes é a otimização dos processos, tornando as áreas mais eficientes – gerando assim vantagens competitivas.
A outra vertente em alta do BI é conhecida como Analytics, seu foco maior está em responder perguntas específicas do negócio e da sua operação. Por exemplo: Quais produtos mais vendidos em determinadas regiões?
Data mining
Data mining são as práticas responsáveis pelas pesquisas das informações no Big Data, procurando por padrões e tendências usando algoritmos que ajudam a segmentar os dados.
Buscar as respostas quando a fonte de informação não está estruturada é o grande desafio. Para isso é necessário interpretar e “desmistificar” os dados na busca de padrões e respostas conclusivas.
Buscar as respostas quando a fonte de informação não está estruturada é o grande desafio. Para isso é necessário interpretar e “desmistificar” os dados na busca de padrões e respostas conclusivas.
Inteligência artificial
Quando falamos sobre Inteligência Artificial, nós falamos sobre máquinas que são capazes de executar o que os humanos fazem através de sua própria inteligência.Para 2018 é previsto que mais da metade das empresas estejam usando analytics e algoritmos para serem mais competitivas. A ciência que está por trás desses algoritmos é a Inteligência Artificial.
Cada vez mais as máquinas são capazes de interpretar os dados e gerar melhores previsões.
Tendências em desenvolvimento de software
JavaScript e TypeScript
O JavaScript é uma das linguagens mais populares e poderosas do mundo. Ela pode ser usada para gerar interfaces mais interativas, adicionando efeitos visuais, criando games, animações e também por aplicações que podem renderizar em qualquer plataforma – web ou mobile – por exemplo.A plataforma pode ser usada tanto no back-end como principalmente no front-end. JavaScript é usado por mais de 80% das aplicações web.
O TypeScript é uma ótima linguagem capaz de compilar para qualquer navegador facilmente em qualquer ambiente. A curva de aprendizagem também não é alta, pois todos os componentes são classes. Como a linguagem mantém as propriedades do JavaScript é simples criar aplicações JavaScript com TypeScript.
O TypeScript é uma das linguagens que vem se popularizando, baseado na evolução do ranking do GitHub.
Java
O Java é uma linguagem open source, é considerada como uma das linguagens mais adotadas ao redor do mundo. Uma das razões é o fato da linguagem ser bastante legível e consequentemente simples.A linguagem é capaz de rodar em quaisquer dispositivos. A plataforma é aplicada para o desenvolvimento de soluções de software para computadores, smartphones, televisores e para o desenvolvimento de aplicações mobile nativas Android.
O Java está hoje na versão 9. A próxima versão – Java 10 – receberá a nova convenção de versionamento da Oracle. Nessa nova convenção o padrão será YY.M, no qual YY corresponde ao ano e M corresponde ao mês do lançamento. Prepare-se em 2018 para o Java nas versões 18.3 em Março e 18.9 em Setembro.
Swift
Swift é uma linguagem de programação desenvolvida pela Apple. A linguagem é principalmente usada para criação de soluções para dispositivos da Apple como iOS, macOS, watchOS, tvOS.O uso da linguagem cresceu bastante nos últimos anos. Ela adota padrões seguros de programação e introduz funcionalidades modernas que tornam o desenvolvimento mais simples e flexível, podendo ser considerada bastante produtiva e interativa.
Python
Python é conhecida por sua flexibilidade, performance e a incrível legibilidade do código. Grandes players como YouTube, Reddit e Instagram usam a linguagem nos seus websites e mobile apps.
O rápido crescimento da Inteligência Artificial é algo que todos desejamos. E Python é considerada como o futuro do machine learning.
Python também já é usada para tornar a experiência do usuário mais atrativa e intuitiva em empresas como Spotify, Evernote, Booking.com.
Angular
A arquitetura é baseada no Single Page Application estendendo o HTML DOM. Com Angular é possível criar web apps robustas, responsivas e performáticas.
A versão 4 é escrita com TypeScript 2.1. As mudanças introduzidas nesta versão reduzem o tamanho do código que é gerado até pela metade.
React.Js
O React.Js tem se tornado cada dia mais popular. A biblioteca é principalmente utilizada para construção do front-end das aplicações, com atualização da interface de forma prática e rápida já que ele renderiza automaticamente quando um novo dado está disponível.Spring
Spring é um padrão utilizado na construção de aplicações Java. Atualmente é um dos frameworksmais maduros e completos para o desenvolvimento na plataforma Java.
O Spring é decomposto em vários módulos, cada um deles especialista em uma determinada funcionalidade. Por exemplo, Spring Data na camada de acesso a Dados, Spring MVC para a camada de apresentação, dentre muitos outros.
Tendências em arquitetura de software
Micro serviços
A arquitetura de micro serviços é dirigida ao design de aplicações de software baseado em serviços que são independentes, autônomos no ponto de vista do deploy e sobretudo escaláveis. Cada serviço está rodando sobre seu próprio processo e é construído em função das capacidades e necessidades de negócio.Cada componente tem seu processo de deploy independente e completamente automatizado através de uma engine com toda infra-estrutura necessária ao deploy.
Os micro serviços podem ser escritos em diferentes linguagens de programação e podem usar diferentes tecnologias no armazenamento dos dados. Sendo assim, cada um deles pode também ser gerenciado por diferentes times.
São muitas as vantagens desse tipo de arquitetura, dentre elas:
Cada micro serviço é pequeno, simples e se destina a uma funcionalidade específica. Portanto, é mais fácil para entender, desenvolver e manter.O processo desacoplado de deploy torna mais simples o processo de deployment, é mais rápido e seguro publicar novas versões do componente. Assim, há simplificação do processo que conhecemos como Continuous Deploy e Continuous Delivery.
Esse modelo promove escalabilidade. A administração pode personalizar cada serviço segundo as necessidades de processamento, memória, espaço em disco, etc. O gerenciamento do micro serviço vai permitir que cada item seja alocado com um time diferente – de forma independente e paralela.
Docker
Docker é uma plataforma open source que fornece contêineres. A ideia é criar, publicar e rodar aplicações em laptops, data center ou mesmo em um ambiente em nuvem (on-cloud). Tudo isso é feito através de contêineres onde é possível empacotar uma aplicação completa com todos seus componentes e todas as suas configurações. Ao final essa imagem pode ser embarcada com tudo na máquina virtual.Além disso, com Doker é possível definir todo o processo através de scripts, automatizando todas as tarefas com poucas linhas de comando. Assim, também é possível integrar o Docker junto com às suas práticas do DevOps.
Comments