Windows 8 Metro Style Apps @ ISEL Tech 2012

Na próxima semana decorre o ISEL Tech 2012, um evento sobre tecnologia, soft-skills, empreendedorismo e empregabilidade, que acontecerá no campus do Instituto Superior de Engenharia de Lisboa nos dias 22, 23 e 24 de Maio de 2012.

No dia 22, pelas 17:30, eu e o Carlos Guedes vamos falar sobre o desenvolvimento de aplicações para o Windows 8 utilizando HTML5 e JavaScript, com diversas demonstrações práticas onde iremos desenvolver uma Metro Style App do início ao fim.

Portanto, se tem interesse em conhecer como funcionam as aplicações Metro no Windows 8 e como podemos desenvolver apps em HTML5 + JavaScript ou tem alguma questão sobre o tema, apareça nesta sessão! :)

Para mais informações pode visitar a página do evento no Facebook, e a agenda do evento.

Publicado em Eventos | Tags , , , , , , , | Publicar um comentário

Evento: Microsoft Innovation Week | 17-20 Abril de 2012

De 17 a 20 de Abril acontece em Lisboa a Microsoft Innovation Week, um evento com quatro dias dedicados ao Windows 8, Visual Studio 11, SQL Server 2012 e Private Cloud, repleto de sessões apresentadas por oradores nacionais e internacionais:

  • 17 de Abril – Innovation Week | WINDOWS 8 DEV DAY (registo)
  • 18 de Abril – Innovation Week | VISUAL STUDIO 11 DEV DAY (registo)
  • 19 de Abril – Innovation Week | SQL SERVER 2012 (registo)
  • 20 de Abril – Innovation Week | PRIVATE CLOUD (registo)

O evento é gratuito e pode registar-se para um ou mais dias do evento que será realizado no “Microsoft Lisbon Experience”, as novas instalações da Microsoft no Parque das Nações, em Lisboa, junto ao Oceanário.

Estarei presente nos dois primeiros dias do evento e irei apresentar três sessões técnicas sobre o desenvolvimento de aplicações Metro style para o Windows 8 no primeiro dia, e uma sessão técnica sobre programação assíncrona no .NET 4.5 e Visual Studio 11 no segundo dia.

As agendas para estes dois dias serão:

WINDOWS 8 DEV DAY

  • 09:00 – Recepção e Credenciação
  • 09:30 – The Windows 8 Platform for Metro Style Apps – Tiago Andrade e Silva
  • 10:30 – Designing Apps with Metro Principles and the Windows Personality – Beatriz Oliveira
  • 11:30 – Coffee-break
  • 11:45 – Everything Web Developers must know to build Metro Style Apps – Tiago Andrade e Silva
  • 12:15 – Building Metro Style Apps with XAML: what .Net Developers need to know – Caio Proiete
  • 13:00 – Almoço
  • 14:30 – Building Windows 8 Metro Style UI with built-in controls – Carlos Guedes
  • 15:30 – Integrating with the Windows 8 Experience with Contracts – Caio Proiete
  • 16:15 – Coffee-break
  • 16:45 – Bring your Apps to life with Tiles and Notifications – Carlos Guedes
  • 17:15 – How and When Metro style Apps run – Caio Proiete

VISUAL STUDIO 11 DEV DAY

  • 09:00 – Recepção e Credenciação
  • 09:30 – Keynote – Welcome to Visual Studio 11 – Jay Schmelzer
  • 10:30 – Coffee-break
  • 11:00 – What’s new in the Visual Studio IDE – Michael Koster
  • 12:00 – Agile Application Lifecycle Management with Visual Studio 11 – Mitch Lacey
  • 13:00 – Almoço
  • 14:30 – Async – New Feature for Responsive Programming in Visual Studio 11 and .NET 4.5 – Caio Proiete
  • 15:30 – Software Testing with Microsoft Test Manager 11 and Lab Management – Luís Almeida
  • 16:30 – Coffee-break
  • 17:00 – Visual Studio 11 and Windows Azure – Jay Schmelzer

Registo no WINDOWS 8 DEV DAY (17/04);
Registo no VISUAL STUDIO 11 DEV DAY (18/04).

Publicado em Eventos | Tags , , , , | 2 Comentários

Exames BETA de Certificação em SQL Server 2012

A partir de hoje é possível registar-se para os exames BETA de Certificação em SQL Server 2012, e a Microsoft convida todos os profissionais com experiência no produto para fazerem um ou mais exames, de forma a obter feedback sobre as questões do exame.

Estes exames BETA são gratuitos, como é costume em todos os exames BETA da Microsoft, e basta utilizar o código promocional ao efectuar o registo para obter o desconto de 100%. Os exames e os respectivos códigos de promoção são:

Exame de Certificação Período Código
71-461: Querying Microsoft SQL Server 2012 29-03 à 12-04 DEN461 ou PASS461
71-462: Administering Microsoft SQL Server 2012 Databases 29-03 à 12-04 DEN462 ou PASS462
71-463: Implementing a Data Warehouse with Microsoft SQL Server 2012 23-03 à 06-04 DEN463 ou PASS463
71-464: Developing Microsoft SQL Server 2012 Databases 30-03 à 13-04 DEN464 ou PASS464
71-465: Designing Database Solutions for Microsoft SQL Server 2012 30-03 à 13-04 DEN465 ou PASS465
71-466: Implementing Data Models and Reports with Microsoft SQL Server 2012 23-03 à 06-04 DEN466 ou PASS466
71-467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012 23-03 à 06-04 DEN467 ou PASS467

Durante a fase BETA, o código destes exames começa po 71-xxx, mas na versão final terão o código normal a começar por 70-xxx.

Ao passar em qualquer um destes exames BETA, além de ter contribuído para a versão final do exame, o candidato recebe a certificação correspondente e não precisará fazer o exame quando chegar na versão final.

O registo é feito no site da Prometric (http://www.prometric.com/microsoft), e pode fazê-lo no centro mais próximo de si.

Prometric Promocode

É possível fazer o exame de 23 de Março de 2012 até 13 de Abril de 2012, mas os lugares são limitados e esgotam-se logo nos primeiros dias, por isso é melhor registar-se o quanto antes.

Para mais detalhes sobre as certificações Microsoft em SQL Server 2012, pode consultar o site da Microsoft Learning.

Publicado em Certificações | Tags , , , , , , , , , , , , , , , , , , , , , , | 5 Comentários

Eventos Microsoft DevCamps: Windows 8

A partir de Março de 2012 a Microsoft irá realizar dezenas de eventos sobre desenvolvimento de aplicações para o Windows 8 em algumas cidades de diferentes países, incluindo Portugal e Brasil.

Os Windows 8 Camps são eventos exclusivos para developers, com muitas sessões técnicas bastante aprofundadas e apresentadas por experts no desenvolvimento de aplicações Metro style em HTML5 e JavaScript e também XAML e C#/C++/VB.NET, e os participantes são incentivados a trazerem os seus computadores portáteis para fazerem exercícios práticos após as sessões técnicas e desenvolverem aplicações com o acompanhamento dos instrutores.

No momento em que escrevo este post ainda não existem eventos agendados para Portugal, mas em breve estarão disponíveis na agenda do DevCamps Windows 8.

Nos vemos no próximo Windows 8 DevCamp em Portugal ;) .

Publicado em Eventos | Tags , , , , | Publicar um comentário

Remover os ficheiros gerados pelo Visual Studio, ReSharper, etc…

Durante o desenvolvimento de projectos, o Visual Studio cria uma série ficheiros temporários para guardar as preferências do utilizador para a solução e para cada um dos projectos (*.suo, *.user, *.cache), ficheiros com informações sobre o sistema de controlo de versões (*.scc, *.vssscc, *.vspscc), além das pastas com os ficheiros gerados durante a compilação e execução de testes (bin, obj, TestResults). Quem utiliza o ReSharper, tem ainda outra pasta com diversos ficheiros temporários (_ReSharper.*) e um ficheiro com preferências do utilizado para a solução (*.ReSharper.user), e o próprio Windows, em pastas que possuem imagens, cria ficheiros com as miniaturas das imagens da pasta (Thumbs.db).

Estes são todos ficheiros que não devemos guardar no sistema de controlo de versões justamente porque são específicos para cada utilizador e são recriados a partir do projecto em cada máquina e, por isso, quando preciso enviar um projecto para alguém (por exemplo, por e-mail), tenho o cuidado de apagar todos estes ficheiros temporários primeiro, para então criar um ficheiro .zip com o conteúdo da pasta do projecto e enviar apenas os ficheiros essenciais para que a outra pessoa consiga abrir o meu projecto/solução no Visual Studio, compilar e executar os testes unitários.

Por ser uma tarefa repetitiva e que faço com alguma frequência, durante muitos anos tive o hábito de manter um ficheiro .cmd na mesma pasta da solução para automatizar isto, mais ou menos assim:

CleanUp.cmd

del /s /f /ah *.suo
del /s /f     *.user
del /s /f     *.cache
del /s /f /ah *.cache
del /s /f     *.scc
del /s /f     *.vssscc
del /s /f     *.vspscc
rd  /s /q     bin obj TestResults
rd  /s /q     _ReSharper.Projecto

Esta solução é bastante simples e funcionou bem durante muito tempo, até que um dia assisti a apresentação do Bruno Lopes sobre PowerShell numa das reuniões da Comunidade NetPonto, onde pude ver o potencial da linguagem e fiquei com vontade de utilizar no meu dia-a-dia.

Desde então, cada vez que preciso escrever um ficheiro .cmd/.bat para automatizar alguma tarefa, tenho feito em PowerShell. Tem sido uma experiência bastante interessante e percebo que começo a ficar cada vez mais à vontade com a sintaxe e, como parte do aprendizado, decidi converter os meus ficheiros .cmd que utilizava para apagar os ficheiros gerados pelo Visual Studio, que mencionei acima, e este foi o resultado:

CleanUp.ps1 (ver gist)

#Lista de pastas que devem ser apagadas
$foldersToRemove =
	 "bin",
	 "obj",
	 "TestResults",
	 "_ReSharper.*"

#Lista ficheiros que devem ser apagados
$filesToRemove =
	"Thumbs.db",
	"*.suo",
	"*.user",
	"*.cache",
	"*.scc",
	"*.vssscc",
	"*.vspscc"

#---- Acção ----

#Apaga todas as pastas definidas na colecção acima
Get-ChildItem .\ -include $foldersToRemove -force -recurse |
	where { $_.PsIsContainer } |
	foreach ($_) {
		Write-Host "  A apagar a pasta ./$($_.Name)"
		Remove-Item $_.FullName -force -recurse
	}

#Apaga todos os ficheiros definidos na colecção acima
Get-ChildItem .\ -include $filesToRemove -force -recurse |
	foreach ($_) {
		Write-Host "  A apagar o ficheiro ./$($_.Name)"
		Remove-Item $_.FullName -force -recurse
	}

Write-Host "Pronto. Pressione qualquer tecla para fechar..."
[void][System.Console]::ReadKey($true)

Agora, quando quero executar esse script, posso optar por correr directamente via linha de comandos do PowerShell, ou então carregar com o botão direito no ficheiro no Windows Explorer e seleccionar “Run with PowerShell“:

A primeira impressão é que se está a utilizar mais linhas de código para fazer a mesma coisa, e em certa parte é verdade, no entanto este script PowerShell é mais poderoso e mais flexível que o script batch acima, por várias razões:

  • Para adicionar novas pastas ou ficheiros para serem apagados, basta adicionar novos itens na variável correspondente, sem ter de incluir novos comandos;
  • Não é preciso ter a preocupação de saber se os ficheiros ou pastas a serem apagados estão escondidos (attrib +h) como é o caso dos ficheiros *.cache no script batch;
  • É possível apagar pastas utilizando nomes parciais (Ex: _ReSharper.*) enquanto que no script batch era preciso conhecer o nome exacto da pasta, ou então programar um loop semelhante ao script PowerShell para percorrer as pastas e sub-pastas, o que tornaria o script batch mais complexo que o script PowerShell;
  • O cmdlet Get-ChildItem permite definir uma lista de exclusão de ficheiros, além da lista normal de inclusão (Ex: -exclude *.txt);
  • O cmdlet Get-ChildItem permite utilizar Regular Expressions na definição do filtro (Ex: {$_.Name -match “\d”});
  • Cada elemento retornado pelo cmdlet Get-ChildItem é um objecto .NET da classe FileSystemInfo, o que nos permite consultar todas as propriedades destes objectos e facilmente filtrar, por exemplo, pela data de criação (.CreationTime) ou data de alteração (.LastWriteTime) do ficheiro;
  • Temos acesso a qualquer classe do .NET a partir desse script, e podemos instanciar objectos. executar métodos, etc…

Outras alternativas

Alguns sistemas de controlo de versão possuem comandos que permitem atingir mais ou menos o mesmo resultado, por exemplo o Git possui o comando git clean, que permite remover os ficheiros que estão a ser ignorados (definido no ficheiro .gitignore), o Mercurial possui um comando semelhante hg purge, e o TortoiseSVN possui uma opção de menu “Delete unversioned files” que também serve o mesmo propósito: Remover os ficheiros que não estão a ser controlados pelo sistema de controlo de versões.

Estes comandos são muito úteis e também os utilizo ocasionalmente (no caso do Git, pelo menos), mas ainda continuo a utilizar os meus scripts PowerShell porque existem situações onde tenho ficheiros que não estou a controlar a versão, mas que desejo partilhar com outras pessoas e não quero que sejam apagados, como é o caso dos ficheiros XML com as opções de publicação dos projectos Web, por exemplo.

Uma outra alternativa é utilizar CleanProject, um pequeno utilitário gratuito desenvolvido pelo Ron Jacobs que integra-se com o Windows Explorer e com o Visual Studio e permite remover essas pastas e ficheiros criados pelo do Visual Studio e ReSharper, e ainda tem a opção de criar um .zip da pasta do projecto automaticamente.

Publicado em .NET | Tags , | Publicar um comentário

Slides e Código da apresentação de Acesso a Dados no WP7 ‘Mango’ Dev Hub

Os slides da apresentação que fiz sobre as novidades relacionadas com acesso a dados introduzidas no Windows Phone 7 “Mango” no evento Windows Phone 7 “Mango” Developer Hub no passado dia 29 de Junho estão disponíveis no SlideShare:

E o código-fonte de todas as demonstrações que fiz durante a apresentação está no GitHub:

Agradeço a Microsoft Portugal pelo convite e a todos que assistiram a apresentação e espero que tenham gostado! Um muito obrigado às pessoas que fizeram perguntas e tornaram a apresentação muito mais interessante.

Publicado em Apresentações, Eventos | Tags , , , , , , , | 1 Comentário

Revista PROGRAMAR: Edição 29 – Junho de 2011

Já está disponível a 29ª edição da Revista PROGRAMAR, uma publicação digital gratuita, com diversos artigos relacionados com desenvolvimento de software, e com uma nova edição a cada dois meses.

Revista PROGRAMAR 29 Esta edição traz como destaque um artigo sobre a utilização do Git escrito por mim (Look Ma!), e outros artigos também interessantes sobre Windows Azure, BizTalk Server, OpenXML SDK, certificações técnicas da Microsoft, entre outros.

Conteúdo desta edição

  • Tema de capa
    • Git – Controlo de Versões para Pequenos e Grandes Projectos
  • A Programar
    • LUA – Linguagem de Programação (Parte 9)
    • Introdução ao Cloud Computing e à Plataforma Windows Azure
    • Managed Extensibility Framework (MEF) e AJAX
    • Microsoft BizTalk Server aos olhos dos programadores
    • O Editor de texto VIM
  • Colunas
    • Core Dump: Fazer mal = Rápido?
    • Visual (Not) Basic: Introdução ao OpenXML SDK
  • Comunidades Técnicas
    • NetPonto – Certificações Microsoft

Download: Revista PROGRAMAR Edição 29 – Junho de 2011.

Publicado em Comunidades, Publicações | Tags , , , , , , , , | Publicar um comentário

Data Access Features in Mango @ WP7 “Mango” Dev Hub

Actualização (11-07-2011): Os slides e o código-fonte das demonstrações desta apresentação já estão disponíveis.

No dia 29 de Junho decorre o Windows Phone 7 “Mango” Developer Hub, o primeiro evento Microsoft totalmente dedicado ao novo Windows Phone 7 “Mango” (que está a chegar), e a todos os Developers que queiram desenvolver aplicações utilizando as grandes novidades desta actualização, como multitasking, Internet Explorer 9 (IE9) com HTML5, acesso a sensores e à câmera, base de dados SQL Server local e muitas outras novidades.

Windows Phone 7 Mango

O evento é gratuito e será realizado no auditório da Microsoft Portugal em Lisboa.

Neste dia, pelas 12:00, vou falar sobre as novidades relacionadas com acesso a dados introduzidas nesta actualização do Windows Phone 7 “Mango”, com diversas demonstrações práticas incluindo a criação de bases de dados locais com o SQL Server Compact e a utilização destas bases de dados via LINQ to SQL.

Portanto, se tem interesse em conhecer o que há de novo para acesso a dados no Windows Phone 7 “Mango” ou tem alguma questão sobre o tema, efectue o registo e assista a minha sessão! :)

A agenda para este evento será:

  • 09:30 – 10:30 – Mango is coming… But I’m a developer, why should I care? – Nuno Silva, Microsoft
  • 10:30 – 11:30 – What’s new for Silverlight and XNA in Mango? – Virgílio Raposo, Comunidade NetPonto
  • 11:30 – 12:00 – (Coffee-break)
  • 12:00 – 13:00 – Data Access Features in Mango – Caio Proiete, Ciclo Formação, Comunidade NetPonto
  • 13:00 – 14:30 – (Almoço Livre)
  • 14:30 – 16:00 – Multitasking Deep Dive – Nuno Silva, Microsoft
  • 16:00 – 16:30 – (Coffee-break)
  • 16:30 – 17:30 – Enhanced Push Notifications and Live Tiles – Nuno Godinho, itech4all, Comunidade AzurePT
  • 17:30 – 18:30 Camera and Sensors API – Pedro Lamas, Devscope

Registo: Windows Phone 7 “Mango” Developer Hub.

Publicado em Eventos | Tags , , , , , , | Publicar um comentário

Vídeo, Slides, e Código da apresentação de ASP .NET MVC 3 no ISEL Tech’11

A gravação em vídeo da apresentação que fiz sobre as novidades do ASP .NET MVC 3 no evento ISEL Tech’11 no passado dia 24 de Maio está disponível no Vimeo:

Video

Os slides da apresentação estão disponíveis no SlideShare:

Slides

E o código-fonte de todas as demonstrações que fiz durante a apresentação (inclusive a do “Polvo indeciso entre o Porto e o Benfica” que muitos pediram-me por e-mail) está no GitHub:

Código-fonte

Agradeço a organização do evento pelo convite e a todos que assistiram a apresentação e espero que tenham gostado! Um muito obrigado às pessoas que fizeram perguntas e tornaram a apresentação muito mais interessante, e obrigado também ao Bruno Lopes por ter gravado a apresentação em vídeo.

Publicado em Apresentações, Eventos | Tags , , , , , , , , , | 2 Comentários

Comunidade Portugal-a-Programar completa 6 anos!

A comunidade Portugal-a-Programar completou hoje 6 anos de existência! São muitos anos de trabalho e dedicação de diversos colaboradores voluntários, para conseguir criar uma comunidade de programadores na língua Portuguesa que cresce a cada dia.

Esta comunidade possui com um fórum on-line onde os membros podem enviar e responder questões sobre desenvolvimento de software em diferentes linguagens de programação e plataformas de desenvolvimento, uma wiki onde são publicados artigos e code-snippets de forma colaborativa, e também produzem a Revista PROGRAMAR, uma publicação digital gratuita com diversos artigos relacionados com desenvolvimento de software, com uma nova edição a cada dois meses.

Parabéns a todos os organizadores e membros da comunidade Portugal-a-Programar, e continuem o excelente trabalho!

Publicado em Comunidades | Tags , | Publicar um comentário