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
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
20. 8 rasgos de las aplicaciones Metro
Metro style design
Fast and fluid
Snap and scale beautifully
Use the right contracts
Invest in a great Tile
Feel connected & alive
Roam to the cloud
Embrace Metro principles
22. 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
23. 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
24.
25. El código que vamos a escribir en
Windows 8
using Windows.Media.Capture;
var new CameraCaptureUI
new Size
var await CameraCaptureUIMode
if
var new BitmapImage
await FileAccessMode
29. 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.
30. Casi todo se mapea directamente entre
Windows Runtime y .NET
33. 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)
38. 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!
49. Web Sockets Touch-first
Web Workers Pointer events
Zoom regions
IndexedDB
Snap Points
Ecmascript 5
File API & Blobs Forms
Geolocation Validation
Input types
Audio tag
Video tag Spell checking
59. 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