SlideShare una empresa de Scribd logo
1 de 112
CURSO
DESARROLLO 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 material del MIX 2011
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
TEMAS (Nivel 1)
SEMANA 1 (Nivelación)
  Entendiendo el desarrollo con .NET
  Conociendo Windows Phone 7
  Conociendo el APPHUB
SEMANA 2 (Nivelación)
  Introducción básica a C# con WP7
  Introducción básica a Silverlight para WP7
SEMANA 3
  Navegación y Controles
  Launchers y Choosers
  Pivot y Panorama
SEMANA 4
  Almacenamiento local
  Bases de datos locales
TEMAS (Nivel 2)
Pre-requisito: Solo podrán acceder al Nivel 2 quienes presenten una
aplicación con los conceptos del Nivel 1 aplicados.

SEMANA 1 (Nivelación)
     Entendiendo las Aplicaciones Distribuidas
     Entendiendo los Servicios Web
SEMANA 2
     Sensores
SEMANA 3
     Notificaciones
     Mapas
SEMANA 4
     Publicando una aplicación en el APPHUB
¡ADVERTENCIA!

     Este curso es para personas con
  conocimientos básicos. Los temas serán
abordados en sus formas más simples con el
 ánimo de dar las herramientas necesarias
   para abordar cada una de las sesiones
        avanzando progresivamente.
UN PAR DE CONSEJOS ANTES
DE EMPEZAR…
Antes de intentar aprender algo ten
presente…




       lo complejo, alguna vez… fue  simple     ,
                   entiende lo primero lo simple.
El problema está en la   técnica,
    no en la   herramienta
Manejar correctamente los conceptos te
       ayudará a defenderte en
  cualquier herramienta
Preocúpate por aprender a razonar y pensar,
para aprender a usar las herramientas, están
               los tutoriales
¿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 problema
está, en   que tanto lo comprendemos…
Intentemos algo simple…



            La orientación a objetos es

       una forma de ver las
   situaciones y de analizar el
            entorno…
…es una forma de entender   un problema
                  identificando las entidades
             principales que se encuentran en el
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
Esto se logra identificando las
características comunes de un grupo de
                                             objetos
y las acciones que realizan o bien que producen
                         algún efecto sobre ellos
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 por
tanto los datos que se manipularán de esas entidades y
 las acciones de las que estas son responsables dentro
                      del sistema.
El lenguaje de programación es
la herramienta
para resolver el   problema
El propósito de la POO no tiene que ver con
                         el lenguaje de programación

Sobre el lenguaje de programación lo que
podemos decir es que este soporta unas y otras
caracterí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
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áciles
de 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                     ,

                                        todo es un objeto.
Veamos,
Este es un objeto




                          Es un automóvil
                             de plástico, rojo
                    con 4 llantas y 2 puertas
Si realizáramos el proceso mental lentamente,
 nos daríamos cuenta de que al ver el objeto
emitimos un concepto preconcebido
       es decir   automóvil
En la imagen cada uno de los elementos
que vemos es considerado

un objeto




 Sin embargo de todos ellos
 podemos emitir un concepto       conocido
                    y para ello usamos la palabra   globo
A ese concepto conocido que representa
una
agrupació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 tener, sin ser el objeto
                                                    real
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í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
Así entonces…


            entidad
               =
       concepto relevante
               =
             clase
Las características y comportamientos
de 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.
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 y
métodos que ofrece se les conoce como la
interfaz al código usado para construir
     las clases se le conoce como la
   implementación de la clase.
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
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 sus
características y comportamientos están
      estrechamente relacionados

    La relación que tienen esta determinada por el contexto
                    del problema a resolver
Cuando decimos que un objeto tiene
una 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
Los principios que dirigen la orientación a objetos son…

            … La modularidad y la
            reusabilidad




                     Qué son?
En términos simples la
modularidad significa trabajar
       por partes…

  Esas partes deberían ser lo más independientes
posibles, como piezas de lego, de esa forma podrías
  usar diferentes piezas en la construcción de otro
                       sistema
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 construirse
pensando en que alguien necesitará usarlo alguna vez.

 Por otro lado recuerde, reusar no es simplemente
              copiar y pegar código.
¡UN CONSEJO!

  No inventarse la rueda no
  significa, que no mejores la
              rueda.
Por último, veamos algunas características de la
Programació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 tocara
construir cada una de las partes…
¿Cuánto tiempo cree que tardaría
            en terminar?

  Lo mismo sucede con el software, si cada vez
tuviéramos que construir todos los componentes
   que lo conforman, tardaríamos mucho más
                   tiempo…
¿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.
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
Las características principales
        de un framework son:

   Estar enfocado en un tema
          específico
y el ser altamente     reutilizable.
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.
¿Qué es Visual Studio .NET?
  Es entorno de desarrollo (IDE), la herramienta
   sobre la cual los programadores desarrollan el
                       software
Línea de Tiempo                         .NET Framework 4

                     2010
                                                   2010

              2008                 .NET Framework 3.5
                            2008




       2007                 .NET Framework 3.0


2005
                                            Beta




                     .NET Framework 2.0
¿Qué es .NET Framework?
.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
¿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
¿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
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.
Línea de Tiempo
Visual Studio 6.0
Visual Basic
                        .NET Framework
VBA
Visual FoxPro
                       Visual Studio .NET 2003          Visual Studio 2008
VBScript
                       .NET Framework 1.1               .NET Framework 3.0 –
C++
                       .NET Compact Framework           3.5
J++
                       J#                               .NET Compact
JScript
                                                        Framework
ASP


2000            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#
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
¿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
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
¿Como trabaja el CLR?



  Código                     Assembly
  Fuente                      (MSIL)
                Compilador
  Cualquier                   Biblioteca
lenguaje .NET                o Ejecutable
Tiempos: Compilación y
Ejecució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
Modelo de Ejecución del CLR
Código       VB.NET               C#             C++.NET
Fuente
                                                             Componente
           Compilador          Compilador      Compilador
                                                             No Manejado
             VB.NET               C#            C++ .NET


Código       Assembly          Assembly         Assembly
Manejado    Código MSIL       Código MSIL      Código MSIL




              Common Language Runtime

                          Compilador JIT


                               Código Nativo

                          Sistema Operativo (Windows)
Estructura de un proyecto .NET
 Solución
   Proyectos (Assemblies -
   Componentes)
    Namespaces (Agrupación lógica)
      Clases
     Archivos de configuración
     Recursos adicionales
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
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.NET (Silverlight)
METRO LENGUAJE DE
  ETRO
DISEÑO MODERNO Y LIMPIO.
RÁPIDO Y EN MOVIMIENTO.

ES ACERCA DE CONTENIDO Y
TIPOGRAFÍA Y ES
AUTÉNTICO.
PRINCIPIOS DE METRO
Limpio, ligero, abierto y rápido
Celebrar la tipografía
Vivo, en movimiento
Contenido, no cromo
Auténticamente digital
Las aplicaciones que desarrollemos deben estar
alineadas
     ETRO
Además deben verse bien con los temas más comunes del móvil


     ETRO
HUBS
Centralizarán
distintas
aplicaciones y
archivos en
torno a un tema
o funcionalidad.

 Marketplace
 Juegos
 Personas
 Fotos
 Música
 Office
HUBS VS. SINGLE-PAGE APPS
Windows                  Elementos
                                      Plataforma    Enfocado
 Phone                   Hardware
                                      Consistente   en Calidad
                         Comunes
Hardware

 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
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
CAPACIDADES COMUNES
Input                                    .NET

•   Touch (4 o más puntos de contacto)   •   Superset of Silverlight 3.0
•   Hardware buttons                     •   Windows Communication Foundation
                                              •   SOAP y REST services

Media                                    Phone Access
•   Digital media capture & playback     •   Acceso integrado al phone UI
•   Acceso a librería de media           •   Sensores
                                         •   Picker para contactos y fotos
Datos
                                         Integrado con Cloud Services
•   Isolated Storage
•   LINQ (Objetos y XML)                 •   App Deployment & Updates
                                         •   Notificaciones
                                         •   Locación
                                         •   Xbox LIVE
PHONE 7
APPLICATION RUNTIME



 SENSORS    MEDIA        STORAGE    LOCATION



           .NET FRAMEWORK SANDBOX



WINDOWS 7WINDOWS        PHONE       XBOX 360
.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
ISOLATE STORAGE
Todas las
operaciones de
entrada y salida
están limitadas al
isolate storage
(almacenamiento
aislado), no se tiene
acceso al background
sistema operativo o el
sistema de archivos.

Esto mejora la
seguridad y reduce la
posibilidad de acceso
no autorizado o datos
corruptos.
ARQUITECTURA                                        BSP = Board Support Package

Applications                        Your App UI and logic

                                         Frameworks
                      Silverlight           XNA     HTML/JavaScript
                                            CLR
App Model                   UI Model               Cloud Integration
                                                   Xbox LIVE
App management              Shell frame            Bing
Licensing                   Session manager        Location
Chamber isolation           Direct3D               Push notifications
Software updates            Compositor             Windows Live ID

Kernel
Security                                                    Hardware BSP
Networking          A-GPS    Accelerometer    Compass Light    Proximity
Storage             Media    Wi-Fi            Radio   Graphics

                            Hardware Foundation
Windows Phone 7 Frameworks Details
                              Windows Phone Frameworks
                                                          Launchers &           Windows Phone
                        Camera     Device Integration
                                                           Choosers                Controls

PhoneApplicationFrame   PhoneApplicationPage        PushNotification     WebBrowserControl             Sensors


 Silverlight Presentation and Media                          XNA Frameworks for Games
Controls     Drawing     IsolatedStorage                             Drawing          GamerServices


 Shapes      Markup       Media        Navigation       Media        Input      Graphics      Audio      Content


                                        Application Object
                                 Common Base Class Library
Runtime     Resources   Globalization      Reflection     Location       Text        IO      Net      Diagnostics


Security    Threading    Collections       ComponentModel            Configuration        ServiceModel      Linq
OBJETIVOS DE LA
PLATAFORMA
    Ayudar a los usuarios a personalizar los
    equipos

    Ayudar a los desarrolladores a ser rentables

    Habilitar experiencias en la nube
PLATAFORMA DE APLICACIÓN
         Runtime – On “Screen”   Tools & Support


                                   Herramientas
            Código en el
                                   para diseño y
              cliente
                                    desarrollo
SCREEN
CLOUD    Cloud Services          Developer Portal Services

                                  Herramientas
            Código en el
                                  usadas para
              servidor
                                   publicar y
                                     vender
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              Community

SCREEN                                                        Packaging and Verification Tools


CLOUD       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
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
CLOUD SERVICES
               Tuyo

Construyes; Consumes; Se hace fácil
con los servicios de Cloud Computing
como Windows Azure

                                         Ellos

                           Se hace fácil con las APIs que tu
                           conoces; Windows Communication
                           Foundation SOAP. REST. LINQ.

                                                               Nuestro (MS)
MODELO DE APLICACION
Application
Uniquely identifiable,
licensable and serviceable
software product
packaged as a XAP



Application
Deployment
Steps include Ingestion,                     Windows Phone
Certification and Signing                     Marketplace




Application license
Crypto-verifiable object
issued to grant rights to    Windows Phone
an application                Marketplace
¿Qué haremos luego de aprender
     Windows Phone 7?


¡Publicaremos!
APP HUB / MARKETPLACE

AppHub                                    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
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
http://ir.pe/WP7DT http://ir.pe/WP7TK http://ir.pe/wp7VB
HERRAMIENTAS WINDOWS
PHONE
  Tools

 Phone Emulator
    Samples      Documentation
     Guides         Community
  Packaging and Verification Tools

                                     Windows Phone
                                             device
                                                                  Packaging &
         myapp.xap                                             Herram. Verificación




                                               Windows Phone
                                               Emulator
PROGRAMACIÓN EN WINDOWS PHONE 7
CON 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
PROCESO DE DESPLIEGUE
Develop      Submit          Certify
& Debug      & Validate      & Sign




     Windows Phone
     Application          Marketplace
     Deployment Service
LOS ESPERAMOS LA PRÓXIMA
         SESIÓN

Más contenido relacionado

La actualidad más candente

Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
Libertad25
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
Andrés
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
Abraham Morales
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
franciscocain
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
pontifica
 

La actualidad más candente (19)

Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 
Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la Programación
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
S2-Representación Gráfica
S2-Representación GráficaS2-Representación Gráfica
S2-Representación Gráfica
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 

Similar a Windows Phone - Sesión 1 - SenaGeeks

Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .net
campus party
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
brandonhh10
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
Josue Sarabia
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
Jose Sanchez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
Agapito26
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1
Scott Chavez
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
Edgar Rosas
 

Similar a Windows Phone - Sesión 1 - SenaGeeks (20)

Taller campus party .net
Taller campus party .netTaller campus party .net
Taller campus party .net
 
Orientacion a Objetos para Dummies
Orientacion a  Objetos para DummiesOrientacion a  Objetos para Dummies
Orientacion a Objetos para Dummies
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Poo
PooPoo
Poo
 
Guía Teórica POO
Guía Teórica POOGuía Teórica POO
Guía Teórica POO
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1
 
Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2Presentacion De La Primera Unidad 2
Presentacion De La Primera Unidad 2
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Clase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptxClase 1- Enfoque Orientado a Objeto.pptx
Clase 1- Enfoque Orientado a Objeto.pptx
 
Diseño de patrones
Diseño de patronesDiseño de patrones
Diseño de patrones
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programacion orientada objetos-1
Programacion orientada objetos-1Programacion orientada objetos-1
Programacion orientada objetos-1
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
ESTUDIANTE
ESTUDIANTEESTUDIANTE
ESTUDIANTE
 

Más de Avanet

Más de Avanet (20)

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresariales
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/Linux
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en Azure
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAAS
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicos
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con Azure
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu teclado
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con Django
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScript
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UI
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatos
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSS
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde cero
 

Windows Phone - Sesión 1 - SenaGeeks

  • 1. CURSO DESARROLLO DE APLICACIONES CON WINDOWS PHONE 7
  • 2. COMUNIDAD AVANET (@AVANET)
  • 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. 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. TEMAS (Nivel 1) SEMANA 1 (Nivelación) Entendiendo el desarrollo con .NET Conociendo Windows Phone 7 Conociendo el APPHUB SEMANA 2 (Nivelación) Introducción básica a C# con WP7 Introducción básica a Silverlight para WP7 SEMANA 3 Navegación y Controles Launchers y Choosers Pivot y Panorama SEMANA 4 Almacenamiento local Bases de datos locales
  • 6. TEMAS (Nivel 2) Pre-requisito: Solo podrán acceder al Nivel 2 quienes presenten una aplicación con los conceptos del Nivel 1 aplicados. SEMANA 1 (Nivelación) Entendiendo las Aplicaciones Distribuidas Entendiendo los Servicios Web SEMANA 2 Sensores SEMANA 3 Notificaciones Mapas SEMANA 4 Publicando una aplicación en el APPHUB
  • 7. ¡ADVERTENCIA! Este curso es para personas con conocimientos básicos. Los temas serán abordados en sus formas más simples con el ánimo de dar las herramientas necesarias para abordar cada una de las sesiones avanzando progresivamente.
  • 8. UN PAR DE CONSEJOS ANTES DE EMPEZAR…
  • 9. Antes de intentar aprender algo ten presente… lo complejo, alguna vez… fue simple , entiende lo primero lo simple.
  • 10. El problema está en la técnica, no en la herramienta
  • 11. Manejar correctamente los conceptos te ayudará a defenderte en cualquier herramienta Preocúpate por aprender a razonar y pensar, para aprender a usar las herramientas, están los tutoriales
  • 13. ¿Qué es la orientación a objetos?
  • 14. La orientación a objetos es un paradigma de programación
  • 15. Si bien esta definición es correcta, el problema está, en que tanto lo comprendemos…
  • 16. Intentemos algo simple… La orientación a objetos es una forma de ver las situaciones y de analizar el entorno…
  • 17. …es una forma de entender un problema identificando las entidades principales que se encuentran en el
  • 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. Esto se logra identificando las características comunes de un grupo de objetos y las acciones que realizan o bien que producen algún efecto sobre ellos
  • 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 por tanto los datos que se manipularán de esas entidades y las acciones de las que estas son responsables dentro del sistema.
  • 21. El lenguaje de programación es la herramienta para resolver el problema
  • 22. El propósito de la POO no tiene que ver con el lenguaje de programación Sobre el lenguaje de programación lo que podemos decir es que este soporta unas y otras caracterí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. Y aunque es claro que existe más de una herramienta para resolver un problema
  • 24. Es seguro que también hay formas más fáciles de hacerlo…
  • 25. Veamos algunos conceptos clave…
  • 26. ¿Qué es un Objeto?
  • 27. Un Objeto es… Cualquier Cosa
  • 28. Cualquier Cosa …de la que puedas emitir un concepto. Es decir… Cualquier Cosa , todo es un objeto.
  • 29. Veamos, Este es un objeto Es un automóvil de plástico, rojo con 4 llantas y 2 puertas
  • 30. Si realizáramos el proceso mental lentamente, nos daríamos cuenta de que al ver el objeto emitimos un concepto preconcebido es decir automóvil
  • 31. En la imagen cada uno de los elementos que vemos es considerado un objeto Sin embargo de todos ellos podemos emitir un concepto conocido y para ello usamos la palabra globo
  • 32. A ese concepto conocido que representa una agrupación de objetos …lo llamamos Clase
  • 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. La clase es una… …los objetos son todos los que podamos crear mentalmente a partir de dicha clase o concepto
  • 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. Así entonces… entidad = concepto relevante = clase
  • 37. Las características y comportamientos de 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. 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 y métodos que ofrece se les conoce como la interfaz al código usado para construir las clases se le conoce como la implementación de la clase.
  • 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. Con respecto a la comunicación entre objetos tenemos más principios alta cohesión y el bajo acoplamiento
  • 41. Cuando decimos que un objeto tiene una alta cohesión hablamos de que sus características y comportamientos están estrechamente relacionados La relación que tienen esta determinada por el contexto del problema a resolver
  • 42. Cuando decimos que un objeto tiene una 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. Los principios que dirigen la orientación a objetos son… … La modularidad y la reusabilidad Qué son?
  • 44. En términos simples la modularidad significa trabajar por partes… Esas partes deberían ser lo más independientes posibles, como piezas de lego, de esa forma podrías usar diferentes piezas en la construcción de otro sistema
  • 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 construirse pensando en que alguien necesitará usarlo alguna vez. Por otro lado recuerde, reusar no es simplemente copiar y pegar código.
  • 46. ¡UN CONSEJO! No inventarse la rueda no significa, que no mejores la rueda.
  • 47. Por último, veamos algunas características de la Programación Orientada a Objetos
  • 51. Ahora empecemos a entender que es eso de Desarrollo con .NET
  • 52. ¿Qué es un Framework? ¿Recuerdan esto? “No se invente la rueda....”
  • 53. Veámoslo así… Los edificios de una ciudad son todos los tipos de software que podemos construir
  • 54. Suponga que usted necesita construir un edificio…
  • 55. Ahora imagine que a usted le tocara construir cada una de las partes…
  • 56. ¿Cuánto tiempo cree que tardaría en terminar? Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo…
  • 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. 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. Las características principales de un framework son: Estar enfocado en un tema específico y el ser altamente reutilizable.
  • 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. ¿Qué es Visual Studio .NET? Es entorno de desarrollo (IDE), la herramienta sobre la cual los programadores desarrollan el software
  • 62. Línea de Tiempo .NET Framework 4 2010 2010 2008 .NET Framework 3.5 2008 2007 .NET Framework 3.0 2005 Beta .NET Framework 2.0
  • 63. ¿Qué es .NET Framework?
  • 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. ¿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. ¿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. 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. Línea de Tiempo Visual Studio 6.0 Visual Basic .NET Framework VBA Visual FoxPro Visual Studio .NET 2003 Visual Studio 2008 VBScript .NET Framework 1.1 .NET Framework 3.0 – C++ .NET Compact Framework 3.5 J++ J# .NET Compact JScript Framework ASP 2000 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. 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. ¿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. 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. ¿Como trabaja el CLR? Código Assembly Fuente (MSIL) Compilador Cualquier Biblioteca lenguaje .NET o Ejecutable
  • 73. Tiempos: Compilación y Ejecució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. Modelo de Ejecución del CLR Código VB.NET C# C++.NET Fuente Componente Compilador Compilador Compilador No Manejado VB.NET C# C++ .NET Código Assembly Assembly Assembly Manejado Código MSIL Código MSIL Código MSIL Common Language Runtime Compilador JIT Código Nativo Sistema Operativo (Windows)
  • 75. Estructura de un proyecto .NET  Solución  Proyectos (Assemblies - Componentes)  Namespaces (Agrupación lógica)  Clases  Archivos de configuración  Recursos adicionales
  • 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. Ahora sí, a lo que vinimos ¿Qué es Windows Phone?
  • 79. El presente: Windows Phone 7 (Metro)
  • 81. ¿POR QUÉ DESARROLLAR WP7? El mercado emergente Silverlight o XNA – Ya eres un desarrollador de WP C# o VB.NET (Silverlight)
  • 82.
  • 83. METRO LENGUAJE DE ETRO DISEÑO MODERNO Y LIMPIO. RÁPIDO Y EN MOVIMIENTO. ES ACERCA DE CONTENIDO Y TIPOGRAFÍA Y ES AUTÉNTICO.
  • 84. PRINCIPIOS DE METRO Limpio, ligero, abierto y rápido Celebrar la tipografía Vivo, en movimiento Contenido, no cromo Auténticamente digital
  • 85. Las aplicaciones que desarrollemos deben estar alineadas ETRO
  • 86. Además deben verse bien con los temas más comunes del móvil ETRO
  • 87. HUBS Centralizarán distintas aplicaciones y archivos en torno a un tema o funcionalidad.  Marketplace  Juegos  Personas  Fotos  Música  Office
  • 89. Windows Elementos Plataforma Enfocado Phone Hardware Consistente en Calidad Comunes Hardware 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
  • 90. 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
  • 91. CAPACIDADES COMUNES Input .NET • Touch (4 o más puntos de contacto) • Superset of Silverlight 3.0 • Hardware buttons • Windows Communication Foundation • SOAP y REST services Media Phone Access • Digital media capture & playback • Acceso integrado al phone UI • Acceso a librería de media • Sensores • Picker para contactos y fotos Datos Integrado con Cloud Services • Isolated Storage • LINQ (Objetos y XML) • App Deployment & Updates • Notificaciones • Locación • Xbox LIVE
  • 92. PHONE 7 APPLICATION RUNTIME SENSORS MEDIA STORAGE LOCATION .NET FRAMEWORK SANDBOX WINDOWS 7WINDOWS PHONE XBOX 360
  • 93. .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
  • 94. ISOLATE STORAGE Todas las operaciones de entrada y salida están limitadas al isolate storage (almacenamiento aislado), no se tiene acceso al background sistema operativo o el sistema de archivos. Esto mejora la seguridad y reduce la posibilidad de acceso no autorizado o datos corruptos.
  • 95. ARQUITECTURA BSP = Board Support Package Applications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLR App Model UI Model Cloud Integration Xbox LIVE App management Shell frame Bing Licensing Session manager Location Chamber isolation Direct3D Push notifications Software updates Compositor Windows Live ID Kernel Security Hardware BSP Networking A-GPS Accelerometer Compass Light Proximity Storage Media Wi-Fi Radio Graphics Hardware Foundation
  • 96. Windows Phone 7 Frameworks Details Windows Phone Frameworks Launchers & Windows Phone Camera Device Integration Choosers Controls PhoneApplicationFrame PhoneApplicationPage PushNotification WebBrowserControl Sensors Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Shapes Markup Media Navigation Media Input Graphics Audio Content Application Object Common Base Class Library Runtime Resources Globalization Reflection Location Text IO Net Diagnostics Security Threading Collections ComponentModel Configuration ServiceModel Linq
  • 97. OBJETIVOS DE LA PLATAFORMA Ayudar a los usuarios a personalizar los equipos Ayudar a los desarrolladores a ser rentables Habilitar experiencias en la nube
  • 98. PLATAFORMA DE APLICACIÓN Runtime – On “Screen” Tools & Support Herramientas Código en el para diseño y cliente desarrollo SCREEN CLOUD Cloud Services Developer Portal Services Herramientas Código en el usadas para servidor publicar y vender
  • 99. 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 Community SCREEN Packaging and Verification Tools CLOUD 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
  • 100. 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
  • 101. CLOUD SERVICES Tuyo Construyes; Consumes; Se hace fácil con los servicios de Cloud Computing como Windows Azure Ellos Se hace fácil con las APIs que tu conoces; Windows Communication Foundation SOAP. REST. LINQ. Nuestro (MS)
  • 102. MODELO DE APLICACION Application Uniquely identifiable, licensable and serviceable software product packaged as a XAP Application Deployment Steps include Ingestion, Windows Phone Certification and Signing Marketplace Application license Crypto-verifiable object issued to grant rights to Windows Phone an application Marketplace
  • 103. ¿Qué haremos luego de aprender Windows Phone 7? ¡Publicaremos!
  • 104. APP HUB / MARKETPLACE AppHub 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
  • 105. 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
  • 106.
  • 107.
  • 109. HERRAMIENTAS WINDOWS PHONE Tools Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools Windows Phone device Packaging & myapp.xap Herram. Verificación Windows Phone Emulator
  • 110. PROGRAMACIÓN EN WINDOWS PHONE 7 CON 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
  • 111. PROCESO DE DESPLIEGUE Develop Submit Certify & Debug & Validate & Sign Windows Phone Application Marketplace Deployment Service
  • 112. LOS ESPERAMOS LA PRÓXIMA SESIÓN

Notas del editor

  1. ¿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
  2. Hubs. Experiencias6 Hubs. People, relevant social contents, windows live , facebook,.. Update status Office, Microsoft Office a la plataforma Pictures Music + Videos Marketplace Games