CURSODESARROLLO DE APLICACIONES   CON WINDOWS PHONE 7
COMUNIDAD AVANET    (@AVANET)
INSTRUCTOR   SOREY GARCÍA         (@SOREYGARCIA)El material de apoyo usado fue aportado por el MVP Cesar Fong y es materia...
INFORMACIÓN GENERAL (Nivel   1)    Nivel: 100 Público: Aplica solo para estudiantes del SENA e invitados    de AVANET P...
TEMAS (Nivel 1)SEMANA 1 (Nivelación)  Entendiendo el desarrollo con .NET  Conociendo Windows Phone 7  Conociendo el APPHUB...
TEMAS (Nivel 2)Pre-requisito: Solo podrán acceder al Nivel 2 quienes presenten unaaplicación con los conceptos del Nivel 1...
¡ADVERTENCIA!     Este curso es para personas con  conocimientos básicos. Los temas seránabordados en sus formas más simpl...
UN PAR DE CONSEJOS ANTESDE EMPEZAR…
Antes de intentar aprender algo tenpresente…       lo complejo, alguna vez… fue  simple     ,                   entiende l...
El problema está en la   técnica,    no en la   herramienta
Manejar correctamente los conceptos te       ayudará a defenderte en  cualquier herramientaPreocúpate por aprender a razon...
¿Listos?
¿Qué es la    orientación a objetos?
La orientación a objetos es            un    paradigma de    programación
Si bien esta definición   es correcta, el problemaestá, en   que tanto lo comprendemos…
Intentemos algo simple…            La orientación a objetos es       una forma de ver las   situaciones y de analizar el  ...
…es una forma de entender   un problema                  identificando las entidades             principales que se encuen...
Identificar los conceptos relevantes o las entidades involucradas   El propósito de la programación orientada a en un prob...
Esto se logra identificando lascaracterísticas comunes de un grupo de                                             objetosy...
La programación orientada a objetos (POO) es por tanto una forma de desarrollar software,    pensando en las entidades pri...
El lenguaje de programación esla herramientapara resolver el   problema
El propósito de la POO no tiene que ver con                         el lenguaje de programaciónSobre el lenguaje de progra...
Y aunque es claro que existe más        de una herramienta para     resolver un   problema
Es seguro que también hay  formas más    fácilesde hacerlo…
Veamos algunos  conceptos clave…
¿Qué es un   Objeto?
Un   Objeto es…             Cualquier Cosa
Cualquier Cosa…de la que puedas emitir un concepto.                       Es decir…                      Cualquier Cosa   ...
Veamos,Este es un objeto                          Es un automóvil                             de plástico, rojo           ...
Si realizáramos el proceso mental lentamente, nos daríamos cuenta de que al ver el objetoemitimos un concepto preconcebido...
En la imagen cada uno de los elementosque vemos es consideradoun objeto Sin embargo de todos ellos podemos emitir un conce...
A ese concepto conocido que representaunaagrupación de objetos                    …lo llamamos   Clase
Una clase es como un molde de galletas…… este determina la forma y características que  la galleta (el   objeto) va a tene...
La clase es una……los objetos son todos los que podamos crear mentalmente a partir de dicha clase o concepto
¿Recuerdan eso de la abstracción?                         Pues bien…          Una clase esta compuesta por   característic...
Así entonces…            entidad               =       concepto relevante               =             clase
Las características y comportamientosde una clase son determinadas por el contexto del              problema o escenario  ...
Veamos algunos conceptos adicionales…A los valores que tienen los atributos de un   objeto se les conoce como el estado de...
Los objetos se comunican se    comunican con otros a través de             mensajes Un mensaje es una comunicación dirigid...
Con respecto a la comunicación entre  objetos tenemos más principios     alta cohesión y el bajo         acoplamiento
Cuando decimos que un objeto tiene una  alta cohesión hablamos de que suscaracterísticas y comportamientos están      estr...
Cuando decimos que un objeto tieneuna bajo acoplamiento hablamos del nivel de independencia que tiene un     objeto con re...
Los principios que dirigen la orientación a objetos son…            … La modularidad y la            reusabilidad         ...
En términos simples lamodularidad significa trabajar       por partes…  Esas partes deberían ser lo más independientesposi...
Y la reusabilidad significa     ¡no se invente la                 rueda!Lo que ya esta hecho es para usarse y algunas de l...
¡UN CONSEJO!  No inventarse la rueda no  significa, que no mejores la              rueda.
Por último, veamos algunas características de laProgramación Orientada a Objetos
Encapsulamiento
Herencia
Polimorfismo
Ahora empecemos a entender que es eso de      Desarrollo con .NET
¿Qué es un Framework?                    ¿Recuerdan esto?     “No se invente la rueda....”
Veámoslo así… Los edificios de una ciudad son todos los tipos      de software que podemos construir
Suponga que usted necesita construir un             edificio…
Ahora imagine que a usted le tocaraconstruir cada una de las partes…
¿Cuánto tiempo cree que tardaría            en terminar?  Lo mismo sucede con el software, si cada veztuviéramos que const...
¿Qué es un framework? Un framework es, básicamente, un conjunto     de clases que interactúan en forma    cooperativa para...
Ahora un poco menos conceptual...    En términos simples un framework es un   conjunto de clases base agrupadas en compone...
Las características principales        de un framework son:   Estar enfocado en un tema          específicoy el ser altame...
Microsoft .NET .NET es el conjunto de tecnologías en las que  Microsoft ha trabajado con el objetivo de obtener una plataf...
¿Qué es Visual Studio .NET?  Es entorno de desarrollo (IDE), la herramienta   sobre la cual los programadores desarrollan ...
Línea de Tiempo                         .NET Framework 4                     2010                                         ...
¿Qué es .NET Framework?
.NET Framework Es una Plataforma de Desarrollo, la cual esta                compuesta por:Un entorno de ejecución (Runtim...
¿Qué NO es?  NO es un sistema operativo  NO es un lenguaje de programación  NO es un entorno de desarrollo  NO es un s...
¿Qué es el .NET Framework? Un conjunto de tecnologías que me permiten:   Unir las aplicaciones Web actuales que están ai...
Algunas Características Completamente Orientado a Objetos Multilenguaje Modelo de programación único para todo tipo de ...
Línea de TiempoVisual Studio 6.0Visual Basic                        .NET FrameworkVBAVisual FoxPro                       V...
Microsoft .NET Framework 2.0    VB     C++     C#       J#        …     Common Language Specification                     ...
¿Qué contienen las demás versiones? VB      C#        J#     IronPhyton     Ruby            …                             ...
Common Language Runtime    (CLR)    Es el motor de ejecución de .NET Caracteristicas:   Compilacion Just In Time (JIT) ...
¿Como trabaja el CLR?  Código                     Assembly  Fuente                      (MSIL)                Compilador  ...
Tiempos: Compilación yEjecución               Compilación   Código         Compilador    Código   Fuente          Lenguaje...
Modelo de Ejecución del CLRCódigo       VB.NET               C#             C++.NETFuente                                 ...
Estructura de un proyecto .NET Solución   Proyectos (Assemblies -   Componentes)    Namespaces (Agrupación lógica)     ...
Estructura de un Assembly                      Descripción de Tipos                       Clases MiBiblioteca.DLL      Cla...
Ahora sí, a lo que vinimos¿Qué es Windows    Phone?
El pasado: Windows Mobile
El presente: Windows Phone 7 (Metro)
El presente: Windows Phone 7
¿POR QUÉ DESARROLLAR WP7?     El mercado emergente     Silverlight o XNA – Ya eres un desarrollador de     WP     C# o VB....
METRO LENGUAJE DE  ETRODISEÑO MODERNO Y LIMPIO.RÁPIDO Y EN MOVIMIENTO.ES ACERCA DE CONTENIDO YTIPOGRAFÍA Y ESAUTÉNTICO.
PRINCIPIOS DE METROLimpio, ligero, abierto y rápidoCelebrar la tipografíaVivo, en movimientoContenido, no cromoAuténticame...
Las aplicaciones que desarrollemos deben estaralineadas     ETRO
Además deben verse bien con los temas más comunes del móvil     ETRO
HUBSCentralizarándistintasaplicaciones yarchivos entorno a un temao funcionalidad. Marketplace Juegos Personas Fotos ...
HUBS VS. SINGLE-PAGE APPS
Windows                  Elementos                                      Plataforma    Enfocado Phone                   Har...
Standardized Hardware Foundation            Capacitive touch            4 or more contact points            Sensors       ...
CAPACIDADES COMUNESInput                                    .NET•   Touch (4 o más puntos de contacto)   •   Superset of S...
PHONE 7APPLICATION RUNTIME SENSORS    MEDIA        STORAGE    LOCATION           .NET FRAMEWORK SANDBOXWINDOWS 7WINDOWS   ...
.NET FRAMEWORK SANDBOX•   Aplicaciones aisladas•   No acceso directo a recursos locales•   Acceso a funcionalidades limita...
ISOLATE STORAGETodas lasoperaciones deentrada y salidaestán limitadas alisolate storage(almacenamientoaislado), no se tien...
ARQUITECTURA                                        BSP = Board Support PackageApplications                        Your Ap...
Windows Phone 7 Frameworks Details                              Windows Phone Frameworks                                  ...
OBJETIVOS DE LAPLATAFORMA    Ayudar a los usuarios a personalizar los    equipos    Ayudar a los desarrolladores a ser ren...
PLATAFORMA DE APLICACIÓN         Runtime – On “Screen”   Tools & Support                                   Herramientas   ...
PLATAFORMA DE APLICACIÓN            Runtime – On “Screen”                             Tools          Sensors      Media   ...
DOS TIPOS DE APLICACIONES   Nuevo XAML/event-driven              Framework para juegos de alta    application UI framewo...
CLOUD SERVICES               TuyoConstruyes; Consumes; Se hace fácilcon los servicios de Cloud Computingcomo Windows Azure...
MODELO DE APLICACIONApplicationUniquely identifiable,licensable and serviceablesoftware productpackaged as a XAPApplicatio...
¿Qué haremos luego de aprender     Windows Phone 7?¡Publicaremos!
APP HUB / MARKETPLACEAppHub                                    Marketplace• Registrar   con el AppHub (99US$)       • Publ...
MARKET PLACE Búsqueda mejorada • Fácil de encontrar grandes   aplicaciones y juegos • Navegación cool en el   marketplace ...
http://ir.pe/WP7DT http://ir.pe/WP7TK http://ir.pe/wp7VB
HERRAMIENTAS WINDOWSPHONE  Tools Phone Emulator    Samples      Documentation     Guides         Community  Packaging and ...
PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT MODELO DE LAS APLICACIONES  • Paquetes XAP    •   Formato ZIP    •   Ensamb...
PROCESO DE DESPLIEGUEDevelop      Submit          Certify& Debug      & Validate      & Sign     Windows Phone     Applica...
LOS ESPERAMOS LA PRÓXIMA         SESIÓN
Windows Phone - Sesión 1 - SenaGeeks
Windows Phone - Sesión 1 - SenaGeeks
Windows Phone - Sesión 1 - SenaGeeks
Próxima SlideShare
Cargando en…5
×

Windows Phone - Sesión 1 - SenaGeeks

737 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
737
En SlideShare
0
De insertados
0
Número de insertados
31
Acciones
Compartido
0
Descargas
21
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.
  • ¿Qué el Windows Phone 7?EsdiferenteEs un SistemaOperativoMóvil. Sucesor de Windows MobileMientrasque Windows Mobile fueenfocado en la empresaahoraes el foco la empresa.DiseñoInteligente:Anticiparlasopcionesque el usuarioquieretenersegún la funcionalidad. Metro es el lenguaje de diseño, no es c# esalrededor de ser un lenguaje de expresiones. App Bar lugardonde se van a concentrar los comandos mas usados y se puede expander como un menúparapoderproveer la informaciónútilnecesaria
  • Hubs. Experiencias6 Hubs. People, relevant social contents, windows live , facebook,.. Update status Office, Microsoft Office a la plataforma Pictures Music + Videos Marketplace Games
  • Windows Phone - Sesión 1 - SenaGeeks

    1. 1. CURSODESARROLLO DE APLICACIONES CON WINDOWS PHONE 7
    2. 2. COMUNIDAD AVANET (@AVANET)
    3. 3. INSTRUCTOR SOREY GARCÍA (@SOREYGARCIA)El material de apoyo usado fue aportado por el MVP Cesar Fong y es material del MIX 2011
    4. 4. INFORMACIÓN GENERAL (Nivel 1) Nivel: 100 Público: Aplica solo para estudiantes del SENA e invitados de AVANET Personas: 20 SENA – 10 AVANET Costo: Ninguno Requisitos: SDK para Windows Phone 7 Mango. Si ya se tiene VS 2010 es necesario instalarle el Service Pack 1. Meta: Lograr publicar aplicaciones en el Market Place
    5. 5. TEMAS (Nivel 1)SEMANA 1 (Nivelación) Entendiendo el desarrollo con .NET Conociendo Windows Phone 7 Conociendo el APPHUBSEMANA 2 (Nivelación) Introducción básica a C# con WP7 Introducción básica a Silverlight para WP7SEMANA 3 Navegación y Controles Launchers y Choosers Pivot y PanoramaSEMANA 4 Almacenamiento local Bases de datos locales
    6. 6. TEMAS (Nivel 2)Pre-requisito: Solo podrán acceder al Nivel 2 quienes presenten unaaplicación con los conceptos del Nivel 1 aplicados.SEMANA 1 (Nivelación) Entendiendo las Aplicaciones Distribuidas Entendiendo los Servicios WebSEMANA 2 SensoresSEMANA 3 Notificaciones MapasSEMANA 4 Publicando una aplicación en el APPHUB
    7. 7. ¡ADVERTENCIA! Este curso es para personas con conocimientos básicos. Los temas seránabordados en sus formas más simples con el ánimo de dar las herramientas necesarias para abordar cada una de las sesiones avanzando progresivamente.
    8. 8. UN PAR DE CONSEJOS ANTESDE EMPEZAR…
    9. 9. Antes de intentar aprender algo tenpresente… lo complejo, alguna vez… fue simple , entiende lo primero lo simple.
    10. 10. El problema está en la técnica, no en la herramienta
    11. 11. Manejar correctamente los conceptos te ayudará a defenderte en cualquier herramientaPreocúpate por aprender a razonar y pensar,para aprender a usar las herramientas, están los tutoriales
    12. 12. ¿Listos?
    13. 13. ¿Qué es la orientación a objetos?
    14. 14. La orientación a objetos es un paradigma de programación
    15. 15. Si bien esta definición es correcta, el problemaestá, en que tanto lo comprendemos…
    16. 16. Intentemos algo simple… La orientación a objetos es una forma de ver las situaciones y de analizar el entorno…
    17. 17. …es una forma de entender un problema identificando las entidades principales que se encuentran en el
    18. 18. Identificar los conceptos relevantes o las entidades involucradas El propósito de la programación orientada a en un problema significa…objetos consiste en proporcionar una solución informática identificando los conceptos relevantes presentes en el problema conceptos relevantes = entidades abstraer los detalles y particularidades y emitir un concepto genérico
    19. 19. Esto se logra identificando lascaracterísticas comunes de un grupo de objetosy las acciones que realizan o bien que producen algún efecto sobre ellos
    20. 20. La programación orientada a objetos (POO) es por tanto una forma de desarrollar software, pensando en las entidades principales del problema que dicho sistema pretende resolver y portanto los datos que se manipularán de esas entidades y las acciones de las que estas son responsables dentro del sistema.
    21. 21. El lenguaje de programación esla herramientapara resolver el problema
    22. 22. El propósito de la POO no tiene que ver con el lenguaje de programaciónSobre el lenguaje de programación lo quepodemos decir es que este soporta unas y otrascaracterísticas de la Orientación a Objetos También podemos decir que cada quien elige la herramienta que satisface las necesidades de su proyecto, tanto a nivel de implementación como de conocimiento disponible en su recurso humano
    23. 23. Y aunque es claro que existe más de una herramienta para resolver un problema
    24. 24. Es seguro que también hay formas más fácilesde hacerlo…
    25. 25. Veamos algunos conceptos clave…
    26. 26. ¿Qué es un Objeto?
    27. 27. Un Objeto es… Cualquier Cosa
    28. 28. Cualquier Cosa…de la que puedas emitir un concepto. Es decir… Cualquier Cosa , todo es un objeto.
    29. 29. Veamos,Este es un objeto Es un automóvil de plástico, rojo con 4 llantas y 2 puertas
    30. 30. Si realizáramos el proceso mental lentamente, nos daríamos cuenta de que al ver el objetoemitimos un concepto preconcebido es decir automóvil
    31. 31. En la imagen cada uno de los elementosque vemos es consideradoun objeto Sin embargo de todos ellos podemos emitir un concepto conocido y para ello usamos la palabra globo
    32. 32. A ese concepto conocido que representaunaagrupación de objetos …lo llamamos Clase
    33. 33. Una clase es como un molde de galletas…… este determina la forma y características que la galleta (el objeto) va a tener, sin ser el objeto real
    34. 34. La clase es una……los objetos son todos los que podamos crear mentalmente a partir de dicha clase o concepto
    35. 35. ¿Recuerdan eso de la abstracción? Pues bien… Una clase esta compuesta por características (atributos o propiedades) y por comportamientos (acciones o métodos) …esos que elegimos como generalidades del conjunto de objetos comunes de nuestro problema a resolver
    36. 36. Así entonces… entidad = concepto relevante = clase
    37. 37. Las características y comportamientosde una clase son determinadas por el contexto del problema o escenario Esto en programación quiere decir, que dentro de un sistema, solo implementamos los atributos y métodos relacionados con el ámbito del problema que estamos solucionando.
    38. 38. Veamos algunos conceptos adicionales…A los valores que tienen los atributos de un objeto se les conoce como el estado del objeto, y a los atributos ymétodos que ofrece se les conoce como lainterfaz al código usado para construir las clases se le conoce como la implementación de la clase.
    39. 39. Los objetos se comunican se comunican con otros a través de mensajes Un mensaje es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Wikipedia
    40. 40. Con respecto a la comunicación entre objetos tenemos más principios alta cohesión y el bajo acoplamiento
    41. 41. Cuando decimos que un objeto tiene una alta cohesión hablamos de que suscaracterísticas y comportamientos están estrechamente relacionados La relación que tienen esta determinada por el contexto del problema a resolver
    42. 42. Cuando decimos que un objeto tieneuna bajo acoplamiento hablamos del nivel de independencia que tiene un objeto con respecto a otros El hacer un objeto independiente de los demás ayudará a que ese objeto pueda ser usado en otros contexto
    43. 43. Los principios que dirigen la orientación a objetos son… … La modularidad y la reusabilidad Qué son?
    44. 44. En términos simples lamodularidad significa trabajar por partes… Esas partes deberían ser lo más independientesposibles, como piezas de lego, de esa forma podrías usar diferentes piezas en la construcción de otro sistema
    45. 45. Y la reusabilidad significa ¡no se invente la rueda!Lo que ya esta hecho es para usarse y algunas de las cosas que no están hechas, deben construirsepensando en que alguien necesitará usarlo alguna vez. Por otro lado recuerde, reusar no es simplemente copiar y pegar código.
    46. 46. ¡UN CONSEJO! No inventarse la rueda no significa, que no mejores la rueda.
    47. 47. Por último, veamos algunas características de laProgramación Orientada a Objetos
    48. 48. Encapsulamiento
    49. 49. Herencia
    50. 50. Polimorfismo
    51. 51. Ahora empecemos a entender que es eso de Desarrollo con .NET
    52. 52. ¿Qué es un Framework? ¿Recuerdan esto? “No se invente la rueda....”
    53. 53. Veámoslo así… Los edificios de una ciudad son todos los tipos de software que podemos construir
    54. 54. Suponga que usted necesita construir un edificio…
    55. 55. Ahora imagine que a usted le tocaraconstruir cada una de las partes…
    56. 56. ¿Cuánto tiempo cree que tardaría en terminar? Lo mismo sucede con el software, si cada veztuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo…
    57. 57. ¿Qué es un framework? Un framework es, básicamente, un conjunto de clases que interactúan en forma cooperativa para dar solución a una determinada necesidad.
    58. 58. Ahora un poco menos conceptual... En términos simples un framework es un conjunto de clases base agrupadas en componentes, que pueden ser reutilizadas para la construcción de nuevo software
    59. 59. Las características principales de un framework son: Estar enfocado en un tema específicoy el ser altamente reutilizable.
    60. 60. Microsoft .NET .NET es el conjunto de tecnologías en las que Microsoft ha trabajado con el objetivo de obtener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.
    61. 61. ¿Qué es Visual Studio .NET? Es entorno de desarrollo (IDE), la herramienta sobre la cual los programadores desarrollan el software
    62. 62. Línea de Tiempo .NET Framework 4 2010 2010 2008 .NET Framework 3.5 2008 2007 .NET Framework 3.02005 Beta .NET Framework 2.0
    63. 63. ¿Qué es .NET Framework?
    64. 64. .NET Framework Es una Plataforma de Desarrollo, la cual esta compuesta por:Un entorno de ejecución (Runtime)Bibliotecas de funcionalidad (Class Library)Lenguajes de programaciónCompiladores
    65. 65. ¿Qué NO es?  NO es un sistema operativo  NO es un lenguaje de programación  NO es un entorno de desarrollo  NO es un servidor de aplicaciones
    66. 66. ¿Qué es el .NET Framework? Un conjunto de tecnologías que me permiten:  Unir las aplicaciones Web actuales que están aisladas, de manera muy fácil  Acceder a información en cualquier momento, en cualquier lugar  Simplificar el desarrollo y la implementación  Desarrollar aplicaciones para cualquier dispositivo, sin necesidad de mucho esfuerzo.  Reutilizar mucho código
    67. 67. Algunas Características Completamente Orientado a Objetos Multilenguaje Modelo de programación único para todo tipo de aplicaciones y dispositivos de hardware Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft o en otras plataformas.
    68. 68. Línea de TiempoVisual Studio 6.0Visual Basic .NET FrameworkVBAVisual FoxPro Visual Studio .NET 2003 Visual Studio 2008VBScript .NET Framework 1.1 .NET Framework 3.0 –C++ .NET Compact Framework 3.5J++ J# .NET CompactJScript FrameworkASP2000 2001 2002 2003 2004 2005 2006 2008 2010 Visual Studio .NET 2002 Visual Studio 2005 .NET Framework 1.0 .NET Framework 2.0 Visual Basic .NET .NET Compact Framework Visual Studio 2010 C# 2.0 .NET Framework 4.0 F#
    69. 69. Microsoft .NET Framework 2.0 VB C++ C# J# … Common Language Specification Visual Studio .NET ASP.NET: Servicios Web Windows y Web Forms Forms ADO.NET: Datos y XML Biblioteca de Clases Base Common Language Runtime
    70. 70. ¿Qué contienen las demás versiones? VB C# J# IronPhyton Ruby … CLS y CTS WF & WCF ASP.NET WPF WCS Enhancements Dynamic Data Additional Entity ADO.NET WCF LINQ Enhancements Framework Windows Add-in WF MVC Data Services Forms Framework Biblioteca de Clases Common Language Runtime (CLR) Windows 7, Windows Vista, Windows XP, Windows Server 2008
    71. 71. Common Language Runtime (CLR) Es el motor de ejecución de .NET Caracteristicas:  Compilacion Just In Time (JIT)  Gestion de Memoria (Garbage Collector)  Gestion de Errores (excepciones)  Ejecucion basada en componentes (assemblies)  Gestion de seguridad  Multithreading
    72. 72. ¿Como trabaja el CLR? Código Assembly Fuente (MSIL) Compilador Cualquier Bibliotecalenguaje .NET o Ejecutable
    73. 73. Tiempos: Compilación yEjecución Compilación Código Compilador Código Fuente Lenguaje MSIL Metadata Ejecución Antes de la instalación o Código JIT cuando se ejecuta Nativo Compiler por primera vez
    74. 74. Modelo de Ejecución del CLRCódigo VB.NET C# C++.NETFuente Componente Compilador Compilador Compilador No Manejado VB.NET C# C++ .NETCódigo Assembly Assembly AssemblyManejado Código MSIL Código MSIL Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
    75. 75. Estructura de un proyecto .NET Solución  Proyectos (Assemblies - Componentes)  Namespaces (Agrupación lógica)  Clases  Archivos de configuración  Recursos adicionales
    76. 76. Estructura de un Assembly Descripción de Tipos Clases MiBiblioteca.DLL Clases Base Interfaces Implementadas Metadata Atributos de las Clases Métodos de las Clases Recursos Manifiesto del Assembly Nombre Código Compilado Versión MSIL Cultura Otros Assemblies Permisos de Seguridad Tipos Externos
    77. 77. Ahora sí, a lo que vinimos¿Qué es Windows Phone?
    78. 78. El pasado: Windows Mobile
    79. 79. El presente: Windows Phone 7 (Metro)
    80. 80. El presente: Windows Phone 7
    81. 81. ¿POR QUÉ DESARROLLAR WP7? El mercado emergente Silverlight o XNA – Ya eres un desarrollador de WP C# o VB.NET (Silverlight)
    82. 82. METRO LENGUAJE DE ETRODISEÑO MODERNO Y LIMPIO.RÁPIDO Y EN MOVIMIENTO.ES ACERCA DE CONTENIDO YTIPOGRAFÍA Y ESAUTÉNTICO.
    83. 83. PRINCIPIOS DE METROLimpio, ligero, abierto y rápidoCelebrar la tipografíaVivo, en movimientoContenido, no cromoAuténticamente digital
    84. 84. Las aplicaciones que desarrollemos deben estaralineadas ETRO
    85. 85. Además deben verse bien con los temas más comunes del móvil ETRO
    86. 86. HUBSCentralizarándistintasaplicaciones yarchivos entorno a un temao funcionalidad. Marketplace Juegos Personas Fotos Música Office
    87. 87. HUBS VS. SINGLE-PAGE APPS
    88. 88. Windows Elementos Plataforma Enfocado Phone Hardware Consistente en Calidad ComunesHardware Capacidades consistentes definidas por Microsoft Una resolución en el lanzamiento Segunda resolución añadida después Touch Procesador consistente / GPU Cantidad de RAM consistente Teclado opcional
    89. 89. Standardized Hardware Foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5 mega pixels or more, flash required, camera button required Multimedia Common detailed specs, Codec acceleration Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU ARMv7 Cortex/Scorpion or better Hardware buttons | Start, Search, Back
    90. 90. CAPACIDADES COMUNESInput .NET• Touch (4 o más puntos de contacto) • Superset of Silverlight 3.0• Hardware buttons • Windows Communication Foundation • SOAP y REST servicesMedia Phone Access• Digital media capture & playback • Acceso integrado al phone UI• Acceso a librería de media • Sensores • Picker para contactos y fotosDatos Integrado con Cloud Services• Isolated Storage• LINQ (Objetos y XML) • App Deployment & Updates • Notificaciones • Locación • Xbox LIVE
    91. 91. PHONE 7APPLICATION RUNTIME SENSORS MEDIA STORAGE LOCATION .NET FRAMEWORK SANDBOXWINDOWS 7WINDOWS PHONE XBOX 360
    92. 92. .NET FRAMEWORK SANDBOX• Aplicaciones aisladas• No acceso directo a recursos locales• Acceso a funcionalidades limitadas a través de API• Dos aplicaciones no comparten almacenamiento• No podemos hacer uso de código nativo
    93. 93. ISOLATE STORAGETodas lasoperaciones deentrada y salidaestán limitadas alisolate storage(almacenamientoaislado), no se tieneacceso al backgroundsistema operativo o elsistema de archivos.Esto mejora laseguridad y reduce laposibilidad de accesono autorizado o datoscorruptos.
    94. 94. ARQUITECTURA BSP = Board Support PackageApplications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLRApp Model UI Model Cloud Integration Xbox LIVEApp management Shell frame BingLicensing Session manager LocationChamber isolation Direct3D Push notificationsSoftware updates Compositor Windows Live IDKernelSecurity Hardware BSPNetworking A-GPS Accelerometer Compass Light ProximityStorage Media Wi-Fi Radio Graphics Hardware Foundation
    95. 95. Windows Phone 7 Frameworks Details Windows Phone Frameworks Launchers & Windows Phone Camera Device Integration Choosers ControlsPhoneApplicationFrame PhoneApplicationPage PushNotification WebBrowserControl Sensors Silverlight Presentation and Media XNA Frameworks for GamesControls Drawing IsolatedStorage Drawing GamerServices Shapes Markup Media Navigation Media Input Graphics Audio Content Application Object Common Base Class LibraryRuntime Resources Globalization Reflection Location Text IO Net DiagnosticsSecurity Threading Collections ComponentModel Configuration ServiceModel Linq
    96. 96. OBJETIVOS DE LAPLATAFORMA Ayudar a los usuarios a personalizar los equipos Ayudar a los desarrolladores a ser rentables Habilitar experiencias en la nube
    97. 97. PLATAFORMA DE APLICACIÓN Runtime – On “Screen” Tools & Support Herramientas Código en el para diseño y cliente desarrolloSCREENCLOUD Cloud Services Developer Portal Services Herramientas Código en el usadas para servidor publicar y vender
    98. 98. PLATAFORMA DE APLICACIÓN Runtime – On “Screen” Tools Sensors Media Data Location Phone Emulator Phone Xbox LIVE Notifications Samples Documentation .NET Framework managed code sandbox Guides CommunitySCREEN Packaging and Verification ToolsCLOUD Cloud Services Portal Services Notifications App Deployment Registration Marketplace Location Identity Feeds Validation MO and CC Billing Social Maps Certification Business Intelligence Publishing Update Management
    99. 99. DOS TIPOS DE APLICACIONES Nuevo XAML/event-driven  Framework para juegos de alta application UI framework performance Rápida creación de aplicaciones  Rápida creación de juegos 2D y 3D visuales multiscreen Controles basados en Metro  Contenidos enriquecidos HTML/JavaScript  Maduro, robusto, tecnología 500,000 desarrolladores ampliamente trabajando en Windows adoptada y web en Xbox 360, Windows, y Zune
    100. 100. CLOUD SERVICES TuyoConstruyes; Consumes; Se hace fácilcon los servicios de Cloud Computingcomo Windows Azure Ellos Se hace fácil con las APIs que tu conoces; Windows Communication Foundation SOAP. REST. LINQ. Nuestro (MS)
    101. 101. MODELO DE APLICACIONApplicationUniquely identifiable,licensable and serviceablesoftware productpackaged as a XAPApplicationDeploymentSteps include Ingestion, Windows PhoneCertification and Signing MarketplaceApplication licenseCrypto-verifiable objectissued to grant rights to Windows Phonean application Marketplace
    102. 102. ¿Qué haremos luego de aprender Windows Phone 7?¡Publicaremos!
    103. 103. APP HUB / MARKETPLACEAppHub Marketplace• Registrar con el AppHub (99US$) • Publicación en Marketplace• Descargar Herramientas • Comprar• Construir tus juegos / aplicaciones • Actualizaciones• Test / Debug• Submit para Certificación• Certificado y Firmado
    104. 104. MARKET PLACE Búsqueda mejorada • Fácil de encontrar grandes aplicaciones y juegos • Navegación cool en el marketplace Simple, Reliable Acquisition • Demos • Compra y Descarga es más sencillo • Flexibilidad del pago • Actualizaciones rápidas y flexibles
    105. 105. http://ir.pe/WP7DT http://ir.pe/WP7TK http://ir.pe/wp7VB
    106. 106. HERRAMIENTAS WINDOWSPHONE Tools Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools Windows Phone device Packaging & myapp.xap Herram. Verificación Windows Phone Emulator
    107. 107. PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT MODELO DE LAS APLICACIONES • Paquetes XAP • Formato ZIP • Ensamblados y recursos • Toda aplicación obtiene un ID único • Usado para licenciamiento y actualización • Toda aplicación se firma con certificados de seguridad • Firmado por Microsoft al publicar en el Market Place • Modo demo – Modo Compra
    108. 108. PROCESO DE DESPLIEGUEDevelop Submit Certify& Debug & Validate & Sign Windows Phone Application Marketplace Deployment Service
    109. 109. LOS ESPERAMOS LA PRÓXIMA SESIÓN

    ×