O alcance das aplicações está a crescer exponencialmente. A convergência de várias tecnologias está a acelerar o progresso e as várias plataformas digitais fornecem espaço para a emergência de mais e melhores serviços.
Com o mundo mais interconectado do que nunca, a audiência de usuários expande-se à escala global e as oportunidades para desenvolver produtos e serviços que alcancem potenciais clientes transfronteiras são agora ainda mais tangíveis. Neste sentido, reunimos 5 temas tecnológicos que os programadores de software deverão ter no seu radar, a fim de acompanhar a cadência veloz da inovação tecnológica.
1. Machine Learning
Um número cada vez mais crescente de empresas está a apostar em Machine Learning. Este ramo da ciência computacional usa técnicas estatísticas para dar ao sistema a possibilidade de “aprender” com dados (melhorando progressivamente a sua performance numa tarefa específica), sem ser explicitamente programado para o fazer. Algumas aplicações de Machine Learning incluem Google Maps, Google Search, Uber, Lyst e Spotify.
Atualmente, há uma quantidade massiva de dados operacionais a ser gerada, tanto de componentes de hardware, como de software, além das aplicações de servidor e sistema operativo. Através de Machine Learning, as empresas poderão ser mais proativas e menos reativas; os algoritmos auxiliam a identificar a causa principal dos problemas, e as disrupções serão mais mitigadas devido ao uso de predictive analytics. Atualmente, a ferramenta Azure Log Analyics permite a análise inteligente por via de Machine Learning, de forma a diagnosticar issues de performance.
2. Realidade Aumentada
Mais um tema “quente” do momento. A integração de informações virtuais a visualizações do mundo real, conhecida por Realidade Aumentada explodiu no panorama este ano devido ao Machine Learning, ao novo hardware e ao aparecimento de melhores frameworks para que os developers consigam criar a sua própria experiência de Realidade Aumentada. Um exemplo de que os grandes players tecnológicos estão atentos a este novo paradigma é a Microsoft com os seus Cognitive Services, que possuem já uma série de use cases baseados em Realidade Aumentada.
3. Xamarin e C#
Xamarin posiciona-se como uma tecnologia que permite ter apps em C#, fazendo o respetivo deploy para as várias plataformas. Numa altura em que a maior parte das aplicações são disponibilizadas com serviços de subscrição, é crucial que estas tenham presença nos vários sistemas. Xamarin permite desenvolver apps multiplataforma, sendo, por isso, o conhecimento desta tecnologia uma grande aposta para os developers. Se quiser aprender mais sobre Xamarin, a Xpand IT encontra-se a promover uma ação de formação, o Xamarin Bootcamp, que poderá consultar aqui.
4. Kotlin
Kotlin surge como a nova linguagem programática, sendo 100% interoperacional com Java. Esta linguagem permite continuar a trabalhar em projetos com Java, usando Kotlin, possibilitando a utilização de todas as frameworks Java que possa desejar. O apoio oficial à linguagem Kotlin em Android foi anunciado no evento Google I/O. Esta linguagem tem um feel muito moderno (como o Swift), o que facilita a transição entre múltiplas plataformas.
5. Azure Cosmos DB
O Azure Cosmos DB emerge como uma base de dados com vários modelos à escala global. Este serviço permite distribuir dados para qualquer número de regiões Azure e com as APIs multi-homing, a aplicação reconhece qual é a região mais próxima e envia os pedidos para o datacenter mais perto. O modelo de dados baseado em sequência de registo (ARS) suporta nativamente diversos modelos de dados, incluindo modelos de documentos, gráficos, chaves-valores, tabela e dados de família de colunas. Com esta tecnologia é possível criar aplicações com elevada capacidade de resposta, garantindo baixa latência no percentil 99 aos seus clientes. Esta solução é indicada para qualquer app web, móvel, de jogos e IoT que utilize quantidades significativas de dados, leituras e escritas numa escala global com tempos de resposta em tempo quase real.