desarrollo de aplicaciones windows 8 modern ui con visual studio 2012
DESCRIPTION
Introducción al desarrollo de aplicaicones Modern UI en Windows 8 con Visual Studio 2012TRANSCRIPT
Desarrollo de aplicacionesWindows 8 Modern UI con Visual Studio 2012
Rodolfo Finochietti – [email protected]@rodolfof
Windows reimaginado
La misma experiencia en todos los dispositivos
Tablets to laptops to all-in-ones
Highest power to the most efficient chipset
Touch, mouse, keyboard
Demo
Windows 8
Plataforma
• Windows Runtime (WinRT)• Modern UI (ex Metro)• App Execution Environment• Windows Store
Plataforma Windows 8
Ventajas de WinRT
• Es Asincronico• Acceso unico y rico a todos los dispositivos,
SO, y servicios• Sintaxis inspirada en .NET• Codigo nativo para dar la mejor experiencia
Lenguajes
WindowsRuntime
Object(or Component)
Writtenin C++, C#, VB
Windows Metadata
C++ App
Projection
CLR
C#/VB AppProjection
HTML AppChakra
Projection
Process Isolation
Process state transitions
Roaming
La aplicacion utiliza los datos normalmente
La informacion del usuario se sincroniza en la cuenta de Microsoft
Contracts
The Windows Store
Instalacion de aplicaciones
8 rasgos de las aplicaciones Modern UI
Modern UI style designFast and fluidSnap and scale beautifullyUse the right contractsInvest in a great TileFeel connected & aliveRoam to the cloudEmbrace Modern UI principles
Windows RuntimeFor Developers
Windows Runtime desde .NET
• Windows siempre ha proporcionado caracteristicas que los desarrolladores pueden utilizar para construir software sobre ellas.
• Pero nunca fue algo facil de usar desde C# or VB
[DllImport("avicap32.dll", EntryPoint="capCreateCaptureWindow")]static extern int capCreateCaptureWindow( string lpszWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hwndParent, int nID);
[DllImport("avicap32.dll")] static extern bool capGetDriverDescription( int wDriverIndex, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszName, int cbName, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszVer, int cbVer);
// more and more of the same
El código de C# que hoy escribimos
El código que vamos a escribir en Windows 8
using Windows.Media.Capture;
var ui = new CameraCaptureUI();ui.PhotoSettings.CroppedAspectRatio = new Size(4, 3);
var file = await ui.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (file != null) { var bitmap = new BitmapImage() ; bitmap.SetSource(await file.OpenAsync(FileAccessMode.Read)); Photo.Source = bitmap;}
Windows Runtime desde .NET
• Usar Windows Runtime desde C# y Visual Basic se siente natural y familiar.
• La mayoria de las diferencias entre Windows Runtime y.NET estan ocultas
• El uso de Extension methods nos permite cerrar el gap entre Windows Runtime y el código manejado.
Windows Runtime desde JS
• WinRT tambien se siente natural para programadores habituados a HTML y JS
• La naturaleza dinamica de JS permite absorber el gap con WinRT de manera natural
Demo
Desarrollando Apps Modern UI
¿Preguntas?