Desarrollo de Aplicaciones Metro en Windows 8

3,089 views
2,947 views

Published on

Introducción al desarrollo de aplicaicones Metro en Windows 8

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,089
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • WinRT is based on COM, interfaces, so doesn’t feel natural in OO lang.Projections take care of this so it feels natural.
  • Surface area of Windows 8.Projection of that surface area into languages like VB, CS, C++.
  • WinRT is based on COM, interfaces, so doesn’t feel natural in OO lang.Projections take care of this so it feels natural.
  • WinRT is based on COM, interfaces, so doesn’t feel natural in OO lang.Projections take care of this so it feels natural.
  • Desarrollo de Aplicaciones Metro en Windows 8

    1. 1. Desarrollo de aplicaciones Metro Mariano Sanchez Guillermo Montiel Rodolfo Finochietti
    2. 2. Windows reimaginado
    3. 3. La misma experiencia en todos los dispositivos
    4. 4. DemoWindows 8
    5. 5. Plataforma• Windows Runtime (WinRT)• Metro UI• App Execution Environment• Windows Store
    6. 6. Plataforma Windows 8
    7. 7. 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
    8. 8. Lenguajes
    9. 9. Instalacion de aplicaciones
    10. 10. Componentes de un paquete• App Manifest Contiene toda la informacion necesaria para isntalar al aplicacion• Blockmap contiene hashes de todos los archivos de la aplicacion• Signature valida la integridad del paquete
    11. 11. Process Isolation
    12. 12. Process state transitions
    13. 13. App data vs. User data
    14. 14. Roaming
    15. 15. Contracts
    16. 16. The Windows Store
    17. 17. Metro UI
    18. 18. 8 rasgos de las aplicaciones MetroMetro style designFast and fluidSnap and scale beautifullyUse the right contractsInvest in a great TileFeel connected & aliveRoam to the cloudEmbrace Metro principles
    19. 19. Windows Runtime desde .NET
    20. 20. Windows Runtime desde .NET• Windows siempre ha proporcionado features que los desarrolladores pueden utilziar construir software sobre ellas.• Pero nunca fue algo facil de usar desde C# or VB
    21. 21. El código de C# que hoy escribimos DllImport "avicap32.dll" "capCreateCaptureWindow"static extern int string int int int int int int int DllImport "avicap32.dll"static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int// more and more of the same
    22. 22. El código que vamos a escribir en Windows 8using Windows.Media.Capture;var new CameraCaptureUI new Sizevar await CameraCaptureUIModeif var new BitmapImage await FileAccessMode
    23. 23. DemoUtilizando WinRT desde C#
    24. 24. Windows Runtime Architecture
    25. 25. 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.
    26. 26. Casi todo se mapea directamente entre Windows Runtime y .NET
    27. 27. Mapeos de Colleciones entre .Net y Windows Runtime
    28. 28. Usando Extension MethodsFileOpenPicker picker = new FileOpenPicker();picker.FileTypeFilter.Add("*");StorageFile file = await picker.PickSingleFileAsync();Windows.Storage.Streams.IInputStream inputStream = await file.OpenForReadAsync();System.IO.Stream stream = inputStream.AsStream();System.IO.StreamReader reader = new StreamReader(stream);string contents = reader.ReadToEnd();
    29. 29. Componentes de Windows Runtime desde .Net• Se pueden construir componentes manejados de WinRT components que se proyecten a C++ o JavaScript bsiguiendo las siguientes reglas que aplican a los tipos y miembros publicos: – Firmas de la API solo pueden utilizar tipos de Windows Runtime. – Structs solo pueden contener campos publicos. – Todos los tipos deben ser sealed (excepto los controles XAML)
    30. 30. DemoCreando componentes de Windows Runtime desde .Net
    31. 31. Async
    32. 32. var data = DownloadData(...);ProcessData(data);var
    33. 33. Asynchronous programming models
    34. 34. Asynchronous Methods• Los “Asynchronous methods” transforman automaticamente “codigo normal” en un callback.• Se marcan con el nuevo modificador “async”• Devuelven void o Task<T>• El operador “await” permite “yield control” – Continua cuando la operación se completa.• Permite utilizar construcciones de código regulares• Feel just like good old synchronous code!
    35. 35. DemoExtensions & Async
    36. 36. Visual Studio 2012 XAML Designer
    37. 37. Visual Studio 2012 XAML Designer
    38. 38. Recap
    39. 39. HTML 5 y CSS
    40. 40. Web Sockets Touch-firstWeb Workers Pointer events Zoom regionsIndexedDB Snap PointsEcmascript 5File API & Blobs FormsGeolocation Validation Input typesAudio tagVideo tag Spell checking
    41. 41. WinJs
    42. 42. WinJS
    43. 43. Controles
    44. 44. DemoGrid Template
    45. 45. Data Binding Template Binding. Programmatic Binding Declarative binding
    46. 46. Template Binding
    47. 47. Declarative binding
    48. 48. Programmatic Binding
    49. 49. DemoData Binding
    50. 50. Promise Es un object que es una promesa de un valor en el futuro. El procesamiento se implementa en l método then() then(completion, error, progress) then() devuelve otra promesa Se implementa en base.js: WinJS.Promise
    51. 51. ¿A qué estamos acostumbrados?
    52. 52. Promises – Then escalonado
    53. 53. Promises - Join
    54. 54. DemoPromises
    55. 55. ¿Preguntas?
    56. 56. rodolfof@lagash.com @rodolfof http://shockbyte.net marianos@lagash.com @marianoszhrrp://weblogs.asp.net/marianos guillermom@lagash.com ¡GRACIAS!

    ×