Microsoft Build 2018 – ZettaBytes e hypes! – Jefferson Balivo
A Build 2018 já passou e já deixou saudades… Mas também deixou muitos ZettaBytes de conteúdo para a comunidade de desenvolvedores em todo o mundo! Então pretendo resumir algumas coisas e me aprofundar naquelas que tem maior relação a minha expertise… Vamos lá?!
Muitas coisas bacanas foram anunciadas e demonstradas na Build 2018, e também "fora" dela. A Microsoft, mais uma vez, deixa claro (pelo menos para mim) seu empenho em consolidar-se como a maior empresa de produtos e serviços para nuvem do mundo. Todas as apresentações transmitidas ao vivo no site do evento, relacionavam-se com computação em nuvem de alguma forma.
Machine Learning e Inteligência Artificial também foram tópicos constantes, principalmente nos anúncios de novas ferramentas e iniciativas, das quais destaco a seguir.
"AI for Accessibility", apresentada por Satya Nadella, que tem como objetivo oferecer mecanismos para inclusão e ampliação do acesso a recursos de IA para pessoas com deficiências diversas. Em uma demonstração do "Teams", uma pessoa com limitações de dicção teve sua fala transcrita para todos os participantes de uma conferência e traduzida para outros idiomas instantaneamente, foi impressionante!
"Cortana + Alexa", também estiveram presentes em uma demo onde as assistentes se interagiram e "compartilharam" funcionalidades e gentilezas (rs).
A demo da Microsoft em parceria com a "DJI drones" também surpreendeu, apresentou oportunidades comerciais interessantes para o "Azure IoT Edge".
Um portfólio incrível de parceiros, fabricantes de "Cloud Ready Devices", capazes de levar o poder da nuvem (Machine Learning, IA, etc) para uma infinidade de dispositivos foi apresentada, tudo para aguçar a criatividade dos desenvolvedores.
O projeto "Kinect on Azure" também foi anunciado, aproveitando os recursos dos "AI-enabled edge devices", demonstrando algumas oportunidades para educação, saúde, games, etc…
Interessante mencionar que tudo isso foi apresentado só no primeiro dia da Build (rs), que também contou com a apresentação das novidades e planos para .NET, o "Go Live" do .NET Core (2.1) + anúncio do .NET Core 3.0 (preview), lançado o Visual Studio 15.7.x e é anunciado o VS 15.8 (preview), lançado o Visual Studio for Mac 7.5…
A Microsoft também anunciou um CDN próprio, o "Azure CDN", que é muito interessante, com preços mais interessantes ainda e conta com pontos de presença em vários lugares ao redor do globo.
O Live Share, agora está em "public preview" e pode ser testado através da instalação de uma extensão no Visual Studio, esse recurso é muito interessante pois possibilita que vários desenvolvedores trabalhem no mesmo ambiente simultaneamente diretamente pelo Visual Studio, particularmente, como professor eu achei essa novidade fantástica, fora outras aplicações possíveis para home-office, etc…
DevOps também ganhou destaque, integração do GitHub com o Microsoft AppCenter e também com pacote Office, onde foi demonstrada a possibilidade de responder uma "Issue" diretamente do Outlook!
AKS que agora é Azure Kubernetes Service e continua AKS (rs) é oficialmente parte do Kubernetes Conformance Program, e traz muita consistência e e portabilidade do Kubernetes em diferentes ambientes.
Mais impressionante foi a demonstração do "Dev Spaces for AKS" que permite ao desenvolvedor trabalhar isoladamente em suas demandas em uma réplica do ambiente produção, porém sem interferir na aplicação atual, isso é fantástico! Seria o fim do "Works on my machine"? (rs)
Foi anunciado também a "ML.NET", a SDK de Machine Learning para .NET, também muito legal!
Se você acha o IntelliSense incrível, vai vibrar com o IntelliCode… Trata-se de poder contar com uma Inteligência Artificial para ajudar você no desenvolvimento de suas aplicações… Ele não vai escrever o código por você (pelo menos não ainda… rs…) mas vai revisá-lo, vai organizar o IntelliSense para destacar alguns recursos que você mais usa… Enfim, uma série de coisas bacanas…
Mas ainda não terminamos… Lembra do DNA?!
Pois é… Dot Net Anywhere!!! Foi anunciado o projeto experimental Blazor!
Blazor é um "framework web full stack" (e não um framework SPA) que utiliza WebAssembly para rodar o .NET DIRETAMENTE NO NAVEGADOR, ISSO MESMO, DIRETO DO NAVEGADOR!
Não pretendo me alongar muito sobre Blazor e WebAssembly aqui, pois estou estudando ele um pouco mais a fundo e irei publicar alguns conteúdos a respeito em breve… Trata-se de uma ferramenta experimental mas absurdamente promissora, que inclusive foi destaque em MUITAS apresentações durante a Build!
É desenvolvedor Desktop?! Essa vai te interessar… O .NET Core 3.0 vai oferecer interoperabilidade entre UWP + WPF + WinForms! Exatamente, WinForms! Isso vai ajudar bastante a portabilidade e migração entre as plataformas.
E olha que praticamente tudo que falei até o momento rolou no primeiro dia da Build! Então pensa… rs… Foi alucinante…
Os demais dias, foram focados em demonstrar o que foi apresentado e citado no primeiro dia, demo do Teams com todas as integrações com traduções, acessibilidades, HoloLens, a nova versão da Windows SDK e outras coisas mais…
As apresentações foram vibrantes e surpreendentes, tanto no dia 2 como no 3…
No 2, para "minha" demanda, o "Futuro do C#" apresentou os novos recursos da linguagem e o C# 8… Falarei deles em outra oportunidade, mas, IHMO apresentar o C# para iniciantes usando os recursos apresentados pode ser assustador (rs), tudo muito "resumido e auto-mágico" que pode causar um pouco de confusão aos iniciados…
No dia 3, foi focado em mostrar o "poder de fogo" da nuvem Microsoft, novos hardwares, novos projetos e uma capacidade de "Storage" inimaginável… Para se ter noção, hoje toda informação da internet está estimada em 1 Zettabyte de dados… 20 servidores em um só rack no datacenter do Azure é capaz de armazenar TODA A INFORMAÇÃO DA INTERNET!!! E o Azure conta com DEZENAS, CENTENAS desses RACKS de servidores… (rs)…
Antes de falar de Xamarin, uma apresentação densa para anunciar o "public preview" do "Azure Blockchain Workbench", com um conjunto de ferramentas para desenvolvimento de aplicações voltadas para Blockchain.
E então falaremos de Xamarin…
IMHO a apresentação de Xamarin foi um tanto quanto fria e nada empolgante, destoando completamente do restante do evento… Foram apresentados os "novos" recursos do Xamarin.Forms 3.0, nos quais destaco o "FlexLayout", "Visual State Manager" e "Right-To-Left Localization" recursos que já estavam disponíveis na versão "preview" e simplesmente entraram em "release"…
Dos 45 minutos de apresentação do Xamarin, ~10 foram consumidos pela Telerik em uma demo de sua suíte de componentes… Outros ~10 foram para mostrar o Ooui (que torna o Xamarin.Forms disponível para WebAssembly), o resto foram demonstrações das features acima citadas e também de uma feature citada nos dias anteriores que é o "Live Reload", cuja proposta é permitir ao desenvolvedor editar um código de interface XAML, salvar e ver como ficou imediatamente enquanto o aplicativo está em modo debug…
Falando do que afeta o meu cotidiano
IMHO, mais um ano passou e a palavra que define a participação da Xamarin na Build é: HYPE!
Ano passado foi o XAML Previewer, que gerou maior frenesi e, pelo menos para mim, nunca funcionou direito. E o mesmo ocorreu com o Live Reload, dá mais trabalho fazer funcionar do que fazer o que é preciso e recompilar a aplicação e ver como ficou… Rodou somente no emulador, e parou no 4º~5º build, assim como no celular que custou a funcionar e quando funcionou parou do nada e não voltou mais… Enfim, hype!
O roadmap do Xamarin apresentado na Build também não foi nada inovador (pelo menos no que foi anunciado publicamente), não desanimou o suficiente para "abandonarmos o navio" mas eu, particularmente, esperava mais… E o time Xamarin na Microsoft tem muita gente boa para voltar a empolgar!
Só tá faltando um pouco mais de prioridade…
Esse é um assunto que ainda está dando o que falar e é um projeto muito promissor.
Poder contar com .NET full stack rodando no browser realmente empolga demais, principalmente o desenvolvedor back-end que não precisará mais de frameworks JavaScript (e até do próprio JavaScript) para manipular os elementos de sua aplicação web… E ainda escrever seu código C# e rodar direto do navegador, simples assim… Realmente promete… Tomara que saia do experimental… rs…
Quanto ao Blazor eu não pretendo me alongar aqui, tenho feito alguns testes e logo publicarei novos materiais a respeito…
.NET Core (ASP.NET Core, Entity Framework Core, etc…)
A performance (do runtime e do tooling) do .NET Core é indiscutível e pretendo migrar/implementar meus projetos para ele… Mas o Entity Framework Core não conseguiu me convencer… Com uma demo cheia de bugs e fiascos, com momentos que pensei que os apresentadores iriam desistir e deixar pra lá, o EF Core ainda é uma âncora para o stack ASP.NET Core… Tanto que, o EF 6.3 ganhou destaque na apresentação do EF Core (rs), com comparativo de funcionalidades de interoperabilidade do EF 6 com o .NET Core 3 foi anunciada…
Todo o resto, excelente… Mas no caso do EF Core, eu "prefiro melão"… rs…
A Build veio com um "eco" gigantesco de uma plataforma cuja promessa permitir que seja utilizado todo o stack e tooling UWP e isso seja convertido para Android, iOS, UWP e WebAssembly AUTO-MAGICAMENTE! E GRÁTIS!
Confesso que fiquei muito empolgado com isso, tão empolgado quanto fiquei com o Xamarin em meados de 2007 quando descobri o potencial dessa plataforma…
Nos testes preliminares que realizei em meus estudos, é mais uma ferramenta promissora que tem tudo para bombar nos próximos capítulos…
Se você é desenvolvedor Xamarin, recomendo que dê uma espiada nesse cara: http://platform.uno/
E não se preocupe, sabendo Xamarin, você já está com 80% do caminho andado para usar Uno!
Enfim, vou ficando por aqui sem muito mais a acrescentar neste artigo, até porque já fiz minhas considerações durante todo o texto…
Uma coisa é fato, NUNCA HOUVE MELHOR MOMENTO para trabalhar com Xamarin, ASP.NET, .NET, etc!
Grande abraço a todos e até a próxima conexão!
Project Kinect for Azure: https://azure.microsoft.com/en-us/campaigns/kinect/
Azure CDN: https://docs.microsoft.com/en-us/azure/cdn/cdn-overview
Azure Kubernetes Service: https://azure.microsoft.com/en-us/blog/kubernetes-on-azure/
Dev Spaces for AKS: http://landinghub.visualstudio.com/devspaces
ML.NET: https://github.com/dotnet/machinelearning
IntelliCode: https://www.visualstudio.com/services/intellicode/
Blazor: https://blazor.net/
Azure Blockchain Workbench: https://azure.microsoft.com/en-us/blog/simplifying-blockchain-app-development-with-azure-blockchain-workbench-2/
Com as palavras-chave 2018, azure, blazor, build, cloud, computing, cross-platform, edge, IoT, IoT Edge, machine learning, microsoft, platform, uno, xamarin, xamarin.android, xamarin.forms