Tudo o que você precisa saber dos últimos eventos da Microsoft

O último mês foi muito movimentado para quem acompanha a evolução das tecnologias da plataforma Microsoft. Ousaria dizer que fazia tempo que as novidades anunciadas não causavam tanta empolgação na comunidade. Eu, pelo menos, fiquei muito empolgado com o que foi divulgado, como há tempos não ficava. Mas não se trata de um sentimento superficial, vazio, de simplesmente celebrar o novo pelo novo, de mudar para continuar como está, como muitas vezes vemos por aí. Muito pelo contrário. Dá para perceber que os anúncios feitos seguem uma coesão e alinhamento que normalmente não se via na Microsoft, famosa por disputas internas entre suas divisões de produtos, que costumavam defender seus próprios interesses, que não necessariamente era o melhor para a empresa. A ideia de One Microsoft não era brincadeira.

É possível perceber que por trás de tudo isso existe uma linha de pensamento, um direcionamento estratégico, que todos os times de produto da empresa parecem estar perseguindo. A Microsoft vem mudando nos últimos anos, mas nesse último mês chegou-se ao ápice desse processo, quando foi possível vislumbrar as peças se encaixando e muita coisa começando a fazer mais sentido. É claro que esse comprometimento com a mudança é uma questão de sobrevivência para a empresa, já que o mundo mudou muito nos últimos 15 anos, mas não deixa de ser fascinante acompanhar essa transformação. A Microsoft se deu conta que não é mais o centro da computação pessoal, como foi um dia. E que nunca mais o Windows será a única plataforma computacional utilizada pelas pessoas, e sim, mais uma das plataformas com as quais as pessoas interagem. Claro que a Microsoft prefere que o Windows seja a escolha, mas se não for, tudo bem também, pois ela pode oferecer seus serviços, sua plataforma de computação na nuvem e suas ferramentas. A Microsoft de hoje aceita e abraça a computação na nuvem, a filosofia open-source, o modelo de serviços/assinatura (ao invés do licenciamento perpétuo) e as múltiplas plataformas assim como quando, no meio dos anos 90, aceitou e abraçou a Internet. Se alguém acha que a Microsoft vai se tornar irrelevante nesse novo mundo, é bom rever os seus conceitos, pois ela está mais forte do que nunca, com uma estratégia bem definida e muito bem posicionada tecnicamente para alcançar seus objetivos.

No início de abril, ocorreu o evento Build, voltado para desenvolvedores, e em maio, o TechEd (os vídeos das palestras, tanto do Build quanto do TechEd, podem ser vistos e baixados gratuitamente no Channel 9). O que se viu foi uma avalanche de anúncios de novas tecnologias, ferramentas, funcionalidades e o roadmap para onde a Microsoft está caminhando. Listo abaixo um resumo dos principais anúncios feitos nesses eventos. Apesar de já ter se passado um certo tempo, principalmente em relação ao Build, ainda há muita coisa a ser digerida. Pretendo voltar a alguns desses temas com mais detalhes, conforme eu conseguir processar tanta informação:

  • Windows Phone 8.1: possuirá um novo modelo de desenvolvimento, baseado no WinRT (Windows Runtime) e com possibilidade de uso de C++, .NET (XAML/C#/VB.NET) ou HTML5/Javascript/CSS, como já ocorre no desenvolvimento de aplicações Windows Store (antigo Metro) no Windows 8 para PCs e tablets, tornando possível assim a unificação do modelo de desenvolvimento entre as diversas plataformas e versões do Windows! Também foi demonstrada a Cortana, o assistente pessoal digital que utiliza técnicas de inteligência artificial e machine learning, com o qual será possível interagir através de linguagem natural, falada e escrita. Todos smartphones com Windows Phone 8 receberão a atualização para Windows Phone 8.1, que deve ser liberada nas próximas semanas.
  • Windows 8.1 Update: a novidade é o Brokered Windows Runtime Components,  que permitirá aplicações Windows Store/Metro (que rodam sobre WinRT) interagirem com aplicações desktop .NET (que não rodam sobre WinRT). O objetivo é permitir maior reaproveitamento de código legado, possibilitando modernizar a camada de apresentação de uma aplicação legada sem ter que reescrevê-la totalmente. Essa é uma funcionalidade voltada para aplicações corporativas. Além disso, essa atualização traz várias melhorias para equipamentos baseados em teclado e mouse, ou seja, que não possuem touch, o que é uma grande reclamação do Windows 8. O Windows 8.1 Update já está disponível no Windows Update;
  • Windows Universal Apps: com o Windows Phone 8.1 e Windows 8.1 Update ambos baseados no WinRT, a Microsoft introduziu um novo tipo de projeto do Visual Studio chamado Windows Universal Apps, que possibilitará que a mesma aplicação rode tanto em smartphones, PCs e tablets Windows, adaptando somente a interface de cada dispositivo e reaproveitando todo o resto. No futuro, a ideia é que aplicação também possa ser executada no Xbox One;
  • Demais assuntos sobre Windows: smartphones e tablets de até 9 polegadas não precisarão mais pagar licença do Windows. Haverá uma versão do Windows para Internet das Coisas (Internet of Things) e foi feita uma demonstração da volta do menu Iniciar ao Windows, cuja retirada sempre foi motivo de polêmica, além da possibilidade de se executar aplicações Windows Store/Metro em janelas no desktop, ainda sem previsão de data;
StartMenuWindows8Novo menu Iniciar do Windows, ainda sem data para chegar

 

  • Internet Explorer 11: o engine do IE11 será o mesmo no Windows 8.1 Update e Windows Phone 8.1. Assim, o mesmo núcleo do browser rodará em PCs, tablets e smartphones;
  • Office: foi exibida brevemente a cara da nova versão do Office para Windows, otimizada para touch e reescrita em cima do WinRT. Ainda não há previsão de lançamento;
OfficeTouchForWindowsNovo PowerPoint para Windows, otimizado para touch

 

  • .NET Compiler Platform: a Microsoft está desenvolvendo um novo compilador para C# e VB.NET chamado Roslyn e o disponibilizou como open-source. A novidade é que esse compilador fornecerá uma API com a qual será possível interagir (o que a Microsoft chama de compiler as a service) e facilitará funcionalidades como análise de código, refactoring, geração de código, etc. O principal usuário disso será quem desenvolve ferramentas ou plug-ins para IDEs, como Visual Studio, além da própria Microsoft, que poderá fornecer novos recursos de maneira mais rápida. Foi feita uma demonstração no palco, na qual esse novo compilador foi utilizado em um MacBook para compilar código C# através de uma versão especial do Mono (implementação alternativa do .NET Framework). Com esse novo compilador, também foram exibidas algumas novas funcionalidades da próxima versão do C# e VB.NET;
  • .NET Native: promete combinar a performance do C++ com a produtividade do C#, permitindo compilar uma aplicação C# diretamente para código nativo e que não exigirá a presença do .NET Framework para ser executada. Nesse momento, só funciona para aplicações Windows Store/Metro, mas a ideia é expandir para outros tipos de aplicação futuramente;
  • .NET Foundation: foi criada a .NET Foundation, que será uma organização independente e responsável por fomentar o desenvolvimento e a colaboração de projetos .NET open-source, como ASP.NET MVC, ASP.NET Web API, ASP.NET Web Pages, SignalR, Entity Framework, .NET Compiler Plataform, bibliotecas da Xamarin, etc.
  • Visual Studio 2013: foi lançada uma atualização (Update 2) para o Visual Studio 2013 que possibilita as funcionalidades citadas anteriormente e muito mais. O destaque é para a integração cada vez maior com o Azure (por exemplo, criação e gerenciamento de máquinas virtuais de dentro do Visual Studio, debug remoto de aplicações hospedadas no Azure, etc), além de várias outras melhorias para desenvolvimento de aplicações web. Além disso, a Microsoft posicionou o Visual Studio como uma IDE para desenvolvimento de aplicações multiplataforma. Há outras empresas que têm feito coisas muito interessantes nesse sentido, com destaque para a Xamarin, que permite escrever aplicações nativas com C# tanto para Windows, iOS, Mac e Android. A Xamarin teve uma grande exposição nos keynotes e palestras do Build, e não me espantaria se a Microsoft a comprasse futuramente (há vários boatos circulando sobre essa possibilidade). Além disso, no TechEd, foi anunciado o suporte nativo do Visual Studio ao Apache Cordova (antigo PhoneGap), que é uma plataforma open-source muito popular para desenvolvimento de aplicações híbridas para dispositivos móveis (iOS, Android, Windows Store e Windows Phone) através de HTML, Javascript e CSS;

netinnovation

 

  • ASP.NET: o TechEd foi o evento onde foram feitos os principais anúncios envolvendo a próxima versão do ASP.NET, chamada de ASP.NET vNext. Vale lembrar que essa versão ainda encontra-se em estágio pré-alfa, ou seja, ainda é um trabalho muito inicial, sem previsão de quando estará disponível para uso em produção. A próxima versão do ASP.NET segue alguns pilares: será totalmente modularizada e flexível (será possível escolher quais módulos sua aplicação irá utilizar, ao invés de carregar todos os módulos do .NET Framework, o que permitirá menor consumo de memória e maior rapidez na inicialização e maior vazão), multiplataforma (irá executar em Windows e outras plataformas que suportem Mono, como Mac e Linux), agnóstica de servidor (a aplicação ASP.NET poderá ser hospedada no IIS ou em um self-host; a Microsoft já dava sinais de que seguiria esse modelo com os projetos OWIN e Katana, nos quais a próxima versão do ASP.NET é baseada), modelo de desenvolvimento unificado para ASP.NET MVC, ASP.NET WebAPI e ASP.NET WebPages (esses três “componentes” serão agrupados em um framework que eles chamaram de ASP.NET MVC 6), mecanismo de Injeção de Dependência nativo unificado, maior agilidade na dinâmica de desenvolvimento (não será preciso gerar DLLs, basta alterar o código no seu editor preferido e atualizar o browser, pois a compilação ocorrerá em memória, em tempo de desenvolvimento, utilizando o .NET Compiler Platform – Roslyn), substituição de arquivos de configuração baseados em XML por baseados em JSON, referências a pacotes do NuGet (e não a assemblies) e open-source (agora mantido no GitHub). Também foram anunciadas novas versões do SignalR e Entity Framework. Além disso, foi mostrada a nova versão do .NET Framework, chamada de .NET vNext Cloud Optimize (.NET otimizado para a nuvem). É versão do .NET otimizada para ser executada em servidores, suportando aplicações web e serviços, que utiliza somente os módulos necessários para esse tipo de cenário e que foi drasticamente reduzida em termos de tamanho (em torno de 10 MB), já que não contém várias bibliotecas que só fazem sentido em aplicações client, como Windows Forms e WPF. Com o .NET Cloud Optimize, não é mais necessário ter o .NET Framework instalado no servidor, já que ele poderá ser distribuído junto com a aplicação, ou seja, cada aplicação ASP.NET poderá conter uma versão customizada do .NET (somente com os módulos que interessam para a aplicação, pois cada módulo será um pacote do NuGet). Um exemplo dessa funcionalidade na prática, que foi demonstrado no TechEd, foi a execução de uma aplicação ASP.NET a partir de um pen drive em uma máquina sem o IIS e sem o .NET Framework. Você pode estar se perguntando: e o ASP.NET WebForms? Ele não irá suportar essas novas funcionalidades, pois o WebForms é dependente do System.Web, o que não permite usufruir dessas novidades. O System.Web é um assembly muito complexo e acoplado ao .NET Framework, o que dificulta as coisas. Entretanto, será possível continuar utilizando o ASP.NET WebForms, sem esses novos benefícios, mas para isso será necessário continuar instalando o .NET Framework completo.

    dotNetFuture


Em breve, pretendo citar alguns vídeos de palestras do Build e TechEd que valem a pena ser vistas.

MVP Global Summit 2012

Após 4 anos, finalmente voltei a participar de um MVP Global Summit, que é o encontro mundial de MVPs promovido pela Microsoft. Após ter participado em 2007 (sobre o qual você pode ler a primeira, segunda e terceira partes da série que escrevi) e em 2008, entre 28 de Fevereiro e 02 de Março de 2012, tive novamente a oportunidade de estar presente nesse evento que aproxima os MVPs do mundo inteiro com os times de produtos da Microsoft, de acordo com suas respectivas especialidades técnicas. Uma das diferenças desse ano em relação às outras vezes que participei foi que, ao invés de Seattle, a "base de operações" (local onde ficam os hotéis e onde acontecem várias palestras) do evento foi em Bellevue, que é uma cidade vizinha de Seattle e mais próxima de Redmond, onde fica o campus da Microsoft.  

Por falar em Redmond, infelizmente, nesse ano não houve nenhuma palestra sobre ASP.NET, que é minha especialidade como MVP, no campus da Microsoft. Digo "infelizmente" porque ir ao campus da Microsoft é uma atividade muito inspiradora, pois além de ser um lugar extremamente agradável e tranquilo, é possível sentir a atmosfera do lugar onde se criam produtos e tecnologias que irão influenciar boa parte do mundo. Mas nem por isso deixei de fazer uma visita ao local, em um dos poucos momentos livres que tive. Abaixo, você pode assistir a um pequeno vídeo que fiz no Microsoft Visitor Center, ou seja, o centro para visitantes da Microsoft:

Conhecendo o Microsoft Visitor Center - Redmond - 27 de fevereiro de 2012 from Ricardo Oneda on Vimeo.


Entre as várias oportunidades que eventos desse tipo proporcionam, uma das que vale mais a pena é poder rever os amigos e conhecer pessoas cujos contatos, muitas vezes, restringia-se ao mundo virtual. E isso se aplica tanto aos MVPs do Brasil quanto de outros países, e também a profissionais conhecidos no mundo Microsoft, como Scott Guthrie e Scott Hanselman.

 

Da esquerda para a direita, eu, Rodolpho Carmo, Scott Guthrie, Victor Cavalcante, Rodrigo Kono e Fernando Henrique

 

 

Outro destaque do evento foram os MVPs brasileiros. Devidamente "uniformizados" com o amarelo da seleção brasileira de futebol, não se pode negar que chamávamos a atenção, principalmente nas festas de abertura e fechamento do evento.

 

Sim, eu estou aí no meio!

 

 

Apesar de não ter sido minha primeira participação em um MVP Global Summit, posso dizer que foi uma ótima experiência. Como das outras vezes, não me canso de ficar impressionado com a organização do evento. A logística empregada para dar suporte a mais de 1.000 MPVs de várias partes do mundo, considerando hotéis, alimentação, transporte e o próprio evento em si não é para amadores. Os organizadores do evento estão de parabéns!

 

Microsoft Web Camps no Brasil

Nos dias 18 e 19 de março, a Microsoft irá promover o evento Web Camps em São Paulo. Esse é um evento gratuito, que ocorre em várias cidades ao redor do mundo, e é dedicado a treinamentos voltados para tecnologias web, como ASP.NET MVC, jQuery, WebMatrix, etc. O treinamento será ministrado por Phil Haack, Program Manager da Microsoft, responsável por projetos legais como o ASP.NET MVC e NuGet.

Microsoft Web Camps

 

Algumas observações importantes: aparentemente, as vagas para o dia 19 já se esgotaram! Portanto, se você pretente ir ao evento e ainda não se inscreveu, corra pois só restam vagas para o dia 18. Além disso, as pessoas que pretendem participar do treinamento, devem levar um notebook. Mais informações no site do evento em http://webcamps.ms/upcoming-web-camps.aspx

Além disso, o material que é utilizado nesse treinamento está disponível para download ou então para consulta on-line. Aproveitem!

 

Vídeos gratuitos de eventos da Microsoft para download

Nas últimas semanas, aconteceram vários eventos da Microsoft no exterior. Como já virou tradição, os vídeos de todas as sessões desses eventos foram disponibilizados para download. Seguem abaixo mais informações de onde obter esses vídeos:

O Professional Developers Conference é o principal evento para desenvolvedores da Microsoft. Nesse ano, pela primeira vez, o evento aconteceu em Redmond, cidade vizinha de Seattle, na sede da Microsoft, em outubro passado. Os destaques foram Windows Phone 7, Windows Azure e uma amostra do que vem por aí nas novas versões do C# e Visual Basic. O evento também foi muito comentado por causa da polêmica envolvendo o Silverlight e o HTML 5. Os vídeos das sessões podem ser encontradas no site do evento. Para aqueles interessados em fazer o download de vários vídeos, foi desenvolvida uma aplicação em Silverlight que permite fazer a cópia em massa.

 

O Tech-Ed Europa aconteceu em novembro, em Berlim, na Alemanha. O evento contém sessões para desenvolvedores e também para profissionais de infra-estrutura. Apesar de não ter sido apresentada nenhuma grande novidade ou lançamento, vale a pena dar uma olhada nas várias sessões, pois sempre há assuntos interessantes abordados com qualidade.    

 

O Silverlight Firestarter foi um evento on-line de um dia inteiro, que aconteceu em 2 de dezembro. Nesse evento, foram mostradas várias novidades do Silverlight 5, que está previsto para 2011. Também serviu para colocar um fim de uma vez por todas nas dúvidas quanto ao futuro do Silverlight, que começaram a cirular no PDC 10. Além dos vídeos, também é possível fazer o download de alguns labs.

 

 

PDC 09 – Dia 3

O terceiro e último dia do PDC 09, que aconteceu em 19/11, não teve keynote. Portanto, tivemos o dia inteiro com sessões. Aliás, todos os vídeos e apresentações (PPTs) estão disponíveis para download, gratuitamente, no site do PDC. É uma ótima oportunidade para aqueles não puderam ir fisicamente ao evento ou, para aqueles que foram, assistir a alguma sessão que não conseguiu ver.

Nesse dia, a maioria das sessões que acompanhei foi relacionada a assuntos de deployment de aplicações, testes e qualidade de software. Confesso que fiquei surpreso, positivamente, com o que estão preparando para o Visual Studio 2010. Atualmente, existem vários problemas que podem impactar a produtividade de um projeto de software: o deploy dos builds pode ser propenso a erros e demorar muito se for feito de forma manual, existe dificuldade de se testar a aplicação e os bugs são difíceis de serem reproduzidos.

O Visual Studio Team Lab Management 2010 permite fazer o deployment e executar testes automaticamente, em ambientes virtualizados de teste e homologação. Assim, é possível possuir N máquinas virtuais, cada uma contemplando uma determinada situação de teste, não sendo mais necessário montar os ambientes para cada caso. Além disso, ele gerencia esses ambientes virtuais de modo que, caso seja necessário, possa voltar para a situação inicial rapidamente. Depois do deploy, é tirado um snapshot com o estado em que o ambiente se encontra após as modificações. Se algum dos testes automatizados falhar na execução, é possível ter acesso ao snapshot e reproduzir o erro facilmente. Também é gravado um vídeo com os testes manuais que foram feitos, o que também facilita na reprodução de bugs, pois nesse caso é possível ver exatamente a situação que causou o problema.

Outra funcionalidade que será muito útil é o IntelliTrace. Hoje, é comum ter no meio do código de nossa aplicação, código para instrumentalizar a geração de logs e informações para que possamos rastrear problemas. O que o IntelliTrace faz é gerar essa instrumentalização automaticamente, pois ele grava todo o fluxo de execução da aplicação (por quais métodos ele entrou e saiu) e dados relativos ao programa (parâmetros passados e valores retornados). Com base nessas informações armazenadas, é possível carregar o Visual Studio 2010 exatamente com a mesma situação na qual o bug ocorreu, podendo realizar o debug a partir de então. Ou seja, é possível debugar uma situação que ocorreu no passado, e não somente o estado da aplicação que está sendo executada no momento.

 

Também foi mostrada uma funcionalidade do Visual Studio 2010, Test Impact Analysis, que faz a análise de impacto de testes. Funciona assim: quando uma mudança é feita no código, ela analisa quais os testes que deverão ser executados para garantir que a mudança não irá fazer com que a aplicação deixe de funcionar. Ou seja, ela aponta automaticamente quais testes serão impactos pela alteração do código. Assim, somente executam-se os testes que realmente importam, não gastando tempo com testes desnecessários e nem testando menos do que o suficiente para garantir que nenhum bug foi introduzido na alteração. Também é possível utilizar a função de Gated Checkin em conjunto, que só permite o checkin de código caso determinadas regras tenham sido cumpridas, como por exemplo, somente após a compilação do programa sem erros, se os testes automatizados terem sido executados com sucesso, entre outras que podem ser definidas.

Essas são só algumas das novidades do Visual Studio 2010, no que se refere ao gerenciamento do ciclo de vida da aplicação. Caso tenha ficado interessado, sugiro fortemente que assista às sessões do PDC sobre esse assunto. Como disse anteriormente, fiquei impressionado com as facilidades que serão oferecidas e permitirão ganhos de produtividade.

 

PDC 09 - Dia 2

O segundo dia do PDC 09 começou com o keynote de Steven Sinofsky, presidente da divisão do Windows e Windows Live; Scott Guthrie, vice-presidente da plataforma de desenvolvimento .NET; e Kurt DelBene, vice-presidente sênior do grupo de produtividade de negócios do Office. O keynote também já está disponível no site do PDC.

Com relação ao Windows, não houve nenhuma grande divulgação em si. A apresentação de Sinofsky  ficou restrita a como a Microsoft conduziu o desenvolvimento do Windows 7, o que fez com que, até o momento, ele tenha sido muito bem sucedido. O que me chamou atenção foram alguns dados da telemetria coletados durante as versões CTPs e betas do Windows. São números impressionantes, que mostram como as pessoas estão utilizando o sistema, o que permite fornecer subsídios para eventuais mudanças no funcionamento de alguma característica. Para vocês terem uma idéia do nível de detalhe, eles sabem até a quantidade de cliques dados no botão “Iniciar” do Windows. Sugiro que vejam a gravação do vídeo para obter mais informações.

No Office, o principal anúncio foi a liberação, para o público em geral, da versão beta do Office 2010, que pode ser baixado gratuitamente. Também se falou muito sobre o Sharepoint e sua integração com o Visual Studio 2010, e foi possível perceber que esse é um produto que tem crescido muito em importância para a Microsoft.

 

Mas foi na apresentação de Scott Guthrie que foram feitas as divulgações mais impactantes. Se no primeiro dia o assunto dominante foi Windows Azure, podemos dizer que o Silverlight foi o tema do segundo dia. Apesar de só ter dois anos de vida, o Silverlight já se encontra instalado em 45% dos dispositivos conectados a Internet no mundo, segundo a Microsoft. A adoção tem crescido muito rapidamente com vários sites já fazendo uso do mesmo. O lançamento de novas versões também apresenta um ritmo impressionante, pois nesses dois anos partiu-se da versão 1 até o beta da versão 4, divulgado durante o PDC e cujo download já está liberado.

Entre as principais novidades do Silverlight 4, estão o suporte ao uso de webcam e microfone, suporte a impressão, edição de texto no formato Rich Text, acesso ao clipboard, menus de contexto acessados com o botão direito do mouse, exibição de HTML dentro de uma aplicação Silverlight e arrastar-e-soltar de arquivos locais diretamente para uma aplicação Silverlight. Agora também é possível compartilhar exatamente o mesmo assemblie .NET entre uma aplicação Silverlight 4.0 e uma aplicação .NET 4.0. Outra funcionalidade nova possível será executar uma aplicação Silverlight out-of-the-browser fora do contexto de segurança da sandbox, claro que desde que o usuário permita. E por fim, o Silverlight 4 terá suporte ao browser Chrome do Google. A versão final do Silverlight 4 está prevista para ser lançada em meados de 2010.

Abaixo, mais alguns links sobre como foi o segundo dia do PDC 09, segundo a visão de outros brasileiros presentes no evento:

Dia 2 do PDC 2009 – por Giovanni Bassi

pdc09: segundo dia do evento! – por Waldemir Cambiucci

 

 

 

PDC 09 - Dia 1

Na terça-feira, 17/11, o PDC 09 começou oficialmente. O dia iniciou com os keynotes de Ray Ozzie, Chief Software Architect e substituto de Bill Gates na Microsoft, e Bob Muglia, presidente da divisão de Server and Tools (inclusive, já é possível assistir à gravação ou fazer o download do keynote no site do evento). Como não poderia ser diferente, o assunto principal foi Windows Azure e Cloud Computing, ou computação na nuvem. Definitivamente, esse é a grande tendência do momento (se é que restava alguma dúvida em relação a isso) já que não só a Microsoft, mas todas as grandes empresas de tecnologia possuem alguma iniciativa nesse campo, como Google, Amazon, IBM, etc.

Se dividirmos a história da informática em “eras”, estamos atualmente em seu quinto estágio. O primeiro durou até o fim dos anos 70 e era dominado pelos Mainframes. Nos anos 80 veio a segunda era, com a popularização dos PCs e o surgimento da arquitetura cliente-servidor. Nos anos 90, apareceu, para as massas, uma coisa chamada Internet, que mudaria a vida de todos, principalmente através da web. Na virada do século, veio o quarto estágio, no qual ficou estabelecido o conceito de serviços/SOA. Por fim, entra o estágio no qual estamos atualmente, representado pela nuvem, onde os serviços ficam disponíveis e a infra-estrutura é tratada como se fosse eletricidade, de forma transparente, fazendo com que até mesmo nos esqueçamos que ela existe.

Pode parecer algo ainda distante para muitos, mas já existem empresas implantando sistemas em produção e aproveitando-se das vantagens que a nuvem oferece. E durante o keynote, foram mostrados vários casos que já estão utilizando o Windows Azure, apesar dele só começar a ser comercializado em 2010. O principal benefício é ter uma infra-estrutura de TI dimensionada exatamente para as necessidades do negócio, nem mais e nem menos, pagando somente por que é utilizado. Assim, evita-se que haja uma infra-estrutura superdimensionada só para atender aumentos temporários de demanda, o que caracteriza desperdício, e também se evita a indisponibilidade do serviço caso ocorra um aumento de demanda não previsto. Foi mostrado o exemplo da empresa Kelley Blue Book, que comercializa carros. Eles possuíam dois datacenters, sendo que um deles ficava totalmente ocioso, funcionando como backup para alguma eventualidade. Com o Azure, esse tipo de custo foi eliminado. Além disso, antigamente, levavam 6 semanas para disponibilizar novo hardware para o site deles. Agora, aproveitando-se da capacidade elástica da nuvem, são necessários apenas 6 minutos para aumentar a capacidade de processamento. E quando a mesma não é mais necessária, volta-se a situação anterior rapidamente.

A nuvem do Azure

Esse tipo de infra-estrutura exigirá um novo modelo de gerenciamento e de aplicação, que são diferentes do que temos atualmente. Questões como escalabilidade, orientação a serviços, disponibilidade, elasticidade, entre outras, devem ser consideradas.

Também foram anunciados novos serviços e produtos, como o Microsoft Pinpoint, uma espécie de marketplace para profissionais e empresas de TI oferecerem seus produtos; o Microsoft Dallas, que dá acesso a conjuntos de dados, quaisquer que sejam eles, pagos ou não, para serem utilizados nas aplicações; e o Projeto Sydney, que fornecerá a conectividade entre a nuvem do Azure e o ambiente interno das empresas. Aliás, essa é uma característica muito importante para que o conceito de computação na nuvem decole. Na minha opinião, o futuro será formado por um ambiente misto, com parte da infra-estrutura e dados mantidos internamente na empresa e parte suportado por uma nuvem pública como o Azure.

Saindo do assunto Windows Azure, outra sessão que achei interessante e que vale alguns comentários foi sobre o futuro do ASP.NET. Em linhas gerais, o que estão avaliando para as próximas versões do ASP.NET são: utilização do pattern ActiveRecord para acesso a dados no ASP.NET MVC e WebForms; suporte a funcionalidades do HTML 5, como vídeo, drag and drop e armazenamento de dados offline; melhorias na manipulação de imagens; envio automático de e-mail para confirmação de cadastro em um site, útil para se certificar que o e-mail é válido; notificação sobre progresso de upload de arquivos; melhor suporte a CSS Sprites. Aliás, esse é um conceito interessante: com os CSS Sprites é possível, através de CSS,  agrupar vários arquivos de imagens e tratá-los como se fossem uma única imagem. A vantagem é que o browser só necessita de uma única conexão com o servidor para obter o arquivo, ao invés do que aconteceria caso essa técnica não fosse aplicada (seria necessária uma conexão para cada uma das imagens). Isso aumenta a velocidade com que os elementos da página são baixados, tornando a navegação mais ágil.

Abaixo, seguem links para posts sobre o primeiro dia do PDC, com mais informações sobre o que está acontecendo, escritos por outros brasileiros que também estão aqui em Los Angeles:

Logo mais escreverei sobre como foi o segundo dia do PDC 09. Houve muitas novidades sobre o Silverlight. Se você quiser saber o que está acontecendo no PDC 09 em tempo real, acompanhe-me pelo twitter.

PDC 09 - Dia 0

Como escrevi no último post, estou em Los Angeles, para participar do PDC - Professional Developers Conference, que é um evento voltado para desenvolvedores e arquitetos de software, no qual são mostradas as tecnologias de longo prazo e tendências da plataforma de desenvolvimento da Microsoft.

Apesar do evento só começar oficialmente no dia 17, em 16/11 ocorreu o que foi chamada de “pré-conferência”, na qual foram dados workshops que ocuparam todo o dia, sobre vários assuntos. O workshop que assisti foi o Microsoft Technology Overview, apresentado por Michele Leroux Bustamante. Partiu-se do princípio de que há uma quantidade absurda de tecnologias a serem consideradas no desenvolvimento de software, fazendo com que muitas vezes não saibamos nem mesmo por onde começar. Pegue como exemplo as tecnologias de acesso a dados. No .NET Framework 1.X, devia-se escolher, basicamente, entre DataSets e DataReaders. No .NET Framework 2.0, foram introduzidos os DataSources. Já no .NET Framework 3.5, a grande atração foi o Linq To Sql. E agora, fala-se sobre o Entity Framework e o ADO. NET Data Services.  Esse é só um exemplo, sendo que muitos outros podem ser encontrados. O objetivo do workshop era equalizar o conhecimento de todas as tecnologias de desenvolvimento da Microsoft, apresentando a evolução das mesmas ao longo do tempo e algumas tendências.

Os pontos que achei interessante foram com relação às tendências para linguagens de programação na visão da Microsoft. O C# e o Visual Basic estão cada vez mais parecidos em termos de características, o que vai continuar acontecendo nas próximas versões. Ou seja, a linguagem que você escolhe para desenvolver é uma questão de gosto pessoal e deve ter pouca influência no resultado final. O que realmente importa é a plataforma sobre a qual a aplicação será executada, no caso, o .NET Framework. Outras apostas são programação declarativa, linguagens dinâmicas e programação funcional (C# e Visual Basic estão recebendo elementos de linguagens funcionais gradativamente, e o F#, uma linguagem totalmente funcional, será lançado com o Visual Studio 2010, em março do ano que vem). Outro destaque vai para computação paralela, ou seja, aproveitar da melhor forma os processadores multi-cores disponíveis atualmente no mercado, com a utilização de tecnologias e ferramentas que facilitem essa tarefa. 

Um ponto que foi reforçado durante todo o workshop foi a importância da consistência nos critérios para escolha das tecnologias a serem utilizar nos projetos. Windows Forms ou WPF? WPF ou Silverlight? Silverlight ou ASP.NET? WebForms ou MVC? Linq to Sql ou Entity Framework? Não importa qual tecnologia seja escolhida, desde que o processo de escolha seja consistente, criterioso, consciente, com base em uma sólida arquitetura e de acordo com as reais necessidades da aplicação. Caso contrário, haverá um apanhado de tecnologias e produtos cuja integração não será fácil.

Esse é um breve resumo do que foi falado, com o que eu considerei como principais pontos, mas muitos outros assuntos foram abordados, como por exemplo, acesso a dados, desenvolvimento de aplicações Windows, desenvolvimento Web e, como não poderia deixar de faltar, cloud computing e Windows Azure. Como escrevi no início, todas as tecnologias de desenvolvimento da Microsoft foram apresentadas. Como esse é um assunto extenso, o workshop, em alguns momentos, acabou ficando genérico e superficial. Além disso, para quem já tinha alguma noção dessas tecnologias, ficou um pouco cansativo, mas acredito que foi proveitoso para aqueles que precisavam se atualizar no que hoje é considerado o estado da arte tecnológico do mundo Microsoft.

O PDC 09 vai começar

PDC 09

O PDC - Professional Developers Conference, é o evento da Microsoft voltado para desenvolvedores e arquitetos de software, no qual são mostradas as tecnologias da plataforma de desenvolvimento da Microsoft. Nesse ano, o evento vai começar oficialmente no dia 17/11 em Los Angeles, nos EUA. Se você me acompanha pelo twitter, já deve saber que, graças a uma oportunidade no trabalho, já estou em Los Angeles para acompanhar o evento pessoalmente pela primeira vez.

A expectativa é alta, pois normalmente são feitos grandes anúncios no PDC. Foi assim quando a Microsoft anunciou o .NET Framework no PDC de 2000, e o Windows Azure em 2008, só para ficar em alguns exemplos.

Irei fazer uma cobertura ao vivo pelo twitter, escrevendo sobre as principais novidades que aparecerem por lá. Além disso, pretendo escrever um resumo sobre cada dia de evento aqui no blog. Por falar nisso, vocês devem ter notado que o ritmo de atualizações aqui do blog está devagar. Ultimamente, tenho dado preferência ao twitter, onde estou sendo mais participativo. Portanto, se você quiser ficar por dentro do que vai rolar no PDC, acompanhe o blog ou minha conta no twitter.

MVP Global Summit 2008

Entre os dias 14 e 18 de abril, tive a chance de participar do meu segundo MVP Global Summit, em Seattle e em Redmond, cidade onde fica o campus da Microsoft (você pode saber como foi o primeiro, no ano passado, lendo a primeira, segunda e terceira partes da série que escrevi aqui no blog). O principal objetivo desse evento é aproximar os MVPs do mundo todo com os times responsáveis pelos produtos da Microsoft e, a partir daí, poder influenciar no rumo que eles tomam, baseando-se nas necessidades que encontramos no dia-a-dia, e dar feedback diretamente para quem é responsável pelos produtos.

O evento desse ano teve duas principais novidades. A primeira foi a possibilidade dos MVPs participarem das sessões de áreas diferentes da sua especialidade. Por exemplo, um MVP em ASP.NET, neste Summit, pode assistir sessões de C#, VB.NET ou SQL Server, por exemplo. Isso foi muito bom, pois dificilmente alguém trabalha somente com uma determinada tecnologia e não tem interesse em outras. Assim, cada um pode montar sua agenda de acordo com seus interesses.

A outra novidade foram as sessões do tipo Open Space, coordenadas pelos próprios MVPs e que aconteceram no primeiro dia. Open Space é uma metodologia de condução de reuniões e eventos que, diferentemente de uma apresentação tradicional, não possui um roteiro pré-definido e nem muitas regras. Também não existe a figura do palestrante que fica lá na frente falando enquanto a platéia só ouve. Existe somente o host, que é o responsável por iniciar o debate e agir como um facilitador, mas a sessão não fica centralizada nele. Em uma sessão Open Space, a participação das pessoas é fundamental e todos que quiserem podem dar suas opiniões, tornando a discussão muito mais rica e interativa. No Brasil, este tipo de evento parece não ser muito aplicado, mas pelo que acompanho em vários blogs, nos EUA parece ser bastante difundido. Nunca havia participado de um evento desse tipo, mas tive a oportunidade de fazê-lo, tanto como participante quanto como host de uma das sessões, e posso dizer que a experiência foi bastante interessante.

Nos segundo e terceiro dias do evento, os MVPs foram para o campus da Microsoft em Redmond, onde participamos das sessões técnicas. Devido a um termo de sigilo, os MVPs não podem divulgar detalhes do que foi abordado lá, mas falando de modo geral, se no ano passado o foco estava no LINQ, neste ano falou-se muito em Silverlight. Isso não significa que as aplicações web tradicionais (HTML + JavaScript) não tenham mais futuro, tanto é que também foram abordados o que se pretende fazer nas próximas versões do ASP.NET AJAX e do ASP.NET MVC Framework.

Uma das partes mais legais de um evento como esse é a possibilidade de ver e conhecer pessoalmente verdadeiros ícones da área de TI. No ano passado foram Bill Gates, S. Somasegar, Anders Hejlsberg e Scott Guthrie. Neste ano, pude conhecer Scott Hanselman, um dos blogueiros mais famosos da área de desenvolvimento, e Phil Haack. Atualmente, ambos são os responsáveis pelo ASP.NET MVC Framework.

Ricardo Oneda e Scott Hanselman

 

Neste ano, não teve Bill Gates, mas houve um keynote de Ray Ozzie, que é o substituto de Bill Gates como Chief Software Architect e, entre outros projetos, foi um dos responsáveis pelo Lotus Notes. A transcrição do que foi dito pode ser lido aqui.

Ray Ozzie

 

Para fechar o evento, o keynote de Steve Ballmer, CEO da Microsoft, com direito a piadinha sobre a compra do Yahoo pela Microsoft e tudo mais. A transcrição também está disponível para leitura.

Steve Ballmer 

 

Além do evento em si, aproveitei a viagem para fazer alguns passeios que não consegui no ano passado. Dessa vez, consegui ir a um jogo da NBA, entre o time da casa, o Seattle SuperSonics e o Dallas Mavericks, com a vitória dos Sonics por 99 a 95, num jogo emocionante decidido nos minutos finais. Aliás, não é só um jogo, mas sim, um verdadeiro show de entretenimento, do qual o jogo é só uma parte. O curioso é que este pode ter sido o último jogo do time em Seattle, já que seu novo dono pretende mudá-lo para Ocklahoma, o que os torcedores e a cidade não querem deixar, naturalmente.

Key Arena

 

Também pude ir ao Experience Music Project, uma espécie de museu dedicado à música e onde você também pode tocar vários instrumentos, e ao Science Fiction Museum, o museu que conta a história e evolução da ficção científica, com réplicas de vários personagens de filmes do gênero. Gostei bastante, pois são assuntos que me interessam.