La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Conceptos básicos para el Desarrollo sobre Dispositivos Móviles. Matías S. Iacono Microsoft MVP ASP/ASP.net.

Presentaciones similares


Presentación del tema: "Conceptos básicos para el Desarrollo sobre Dispositivos Móviles. Matías S. Iacono Microsoft MVP ASP/ASP.net."— Transcripción de la presentación:

1 Conceptos básicos para el Desarrollo sobre Dispositivos Móviles. Matías S. Iacono Microsoft MVP ASP/ASP.net

2 Agenda Introducción Introducción Herramientas para el desarrollador. Herramientas para el desarrollador. Web para dispositivos móviles. Web para dispositivos móviles. Compact.Net Framework. Compact.Net Framework. Sugerencias de diseño. Sugerencias de diseño.

3 Introducción

4 Microsoft.NET Plataforma software para servicios Web y XML Amplía posibilidades de servidores, clientes y servicios Amplía posibilidades de servidores, clientes y servicios Modelo de programación consistente Modelo de programación consistente Ínter operable vía XML Web Services Ínter operable vía XML Web Services Ventajas Ventajas Entrega el software como servicio Entrega el software como servicio La integración es intrínseca en la plataforma La integración es intrínseca en la plataforma Permite aplicaciones inteligentes Permite aplicaciones inteligentes Introducción

5 Desarrollos.NET Plataforma.NET Plataforma.NET Única plataforma basada en XML Web Única plataforma basada en XML Web Entrega servicios vía ASP.NET Entrega servicios vía ASP.NET Desarrollo multilenguaje Desarrollo multilenguaje 20 lenguajes de programación existentes 20 lenguajes de programación existentes Optimización de código Optimización de código Herramientas ajustadas a cada aplicación Herramientas ajustadas a cada aplicación Visual Studio.NET Visual Studio.NET La herramienta más popular del mercado La herramienta más popular del mercado Entorno de desarrollo de alta productividad Entorno de desarrollo de alta productividad Introducción

6 Ventajas de Windows CE.NET Tamaño reducido Tamaño reducido Puede trabajar en configuraciones mínimas Puede trabajar en configuraciones mínimas 450K Rom y 32KB Ram 450K Rom y 32KB Ram Trabaja sobre una gran variedad de CPU´S Trabaja sobre una gran variedad de CPU´S Funcionamiento en tiempo real Funcionamiento en tiempo real Optimizado para bajo consumo Optimizado para bajo consumo Necesario en equipos portátiles Necesario en equipos portátiles Arranque en segundos.. Arranque en segundos.. Introducción

7 Herramientas para el desarrollador

8 Emuladores Emuladores OpenWave OpenWave Nokia y SonyEricsson Nokia y SonyEricsson SmartPhone SDK SmartPhone SDK Microsoft eMbedded Visual Tools Microsoft eMbedded Visual Tools Visual Basic Embedded Visual Basic Embedded Microsoft SmartPhone SDK Microsoft SmartPhone SDK Visual Studio.Net 2003 Visual Studio.Net 2003 Complemento Complemento CrossFire para.Net CrossFire para.Net

9 Dos lenguajes Dos lenguajes VB (reducido) VB (reducido) C++ C++ Pros: Pros: Son gratuitas Son gratuitas Contras: Contras: VB muy pobre VB muy pobre Anticuadas Anticuadas eMbedded Visual Tools Herramientas para el desarrollador

10 Embedded Visual Tools Ejemplos

11 Edición de.NET Framework para Windows CE Edición de.NET Framework para Windows CE Toda la potencia de.NET en los dispositivos (Web services…) Toda la potencia de.NET en los dispositivos (Web services…) Pros: Pros: Mismo lenguaje y entorno que.NET Framework (VB.NET, C# de momento) Mismo lenguaje y entorno que.NET Framework (VB.NET, C# de momento) Copiar-Pegar desde proyectos desktop Copiar-Pegar desde proyectos desktop Compact Framework Herramientas para el desarrollador

12 ? La decisión.

13 Server Side o Smart Client ServerSide Smart Client ? Sus usuarios necesitan acceso a sus aplicaciones y a datos al mismo tiempo? Sus usuarios necesitan acceso a sus aplicaciones y a datos al mismo tiempo? Necesita una interfaz especial? Necesita una interfaz especial? Tiene una conexión cara? Tiene una conexión cara? Tiene control sobre los dispositivos? Tiene control sobre los dispositivos? Puede administrar las aplicaciones en los dispositivos? Puede administrar las aplicaciones en los dispositivos? Tiene competencia? Que ofrecen? Tiene competencia? Que ofrecen?

14 Web para dispositivos móviles.

15 Windows Server + IIS.NET Framework XML Web Services ASP.NET Controles Móviles Controles de escritorio Windows Server + IIS ASP XSLT/ XSLISAPI Visual Studio.NET Manejado o Nativo? Web para móviles

16 Ir a la segunda pantalla Segunda Pantalla Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.ActiveForm = Form2 End Sub Manejado o Nativo? Web para móviles

17 Seleccione uno <% set dbc = server.createobject(…) dbc.open sql = …. set rst = dbc.execute(sql) do while rst.eof %> "> <% rst.movenext loop %> Manejado o Nativo? Web para móviles Dim oDS As New DataSet oDS.ReadXml(Server.MapPath("xmlfile1.xml")) Me.SelectionList1.DataSource = oDS.Tables(0) Me.SelectionList1.DataMember = "datos" Me.SelectionList1.DataValueField = "ID" Me.SelectionList1.DataTextField = "Nombre" Me.SelectionList1.DataBind()

18 Mobile Controls Mobile Controls Desarrollo productivo Desarrollo productivo Fácil de manejar Fácil de manejar Soporte a datos XML Soporte a datos XML Integración con Web Service Integración con Web Service Alto rendimiento Alto rendimiento Programación basada en eventos Programación basada en eventos Conveniente para aplicaciones dinámicas Conveniente para aplicaciones dinámicas Nativo / XSLT Nativo / XSLT Dificultad para el desarrollador Dificultad para el desarrollador Desafíos de administración Desafíos de administración Soporte XML Soporte XML No trabaja con WS No trabaja con WS Mas lentos que ASP.net Mas lentos que ASP.net Conveniente para contenido estático Conveniente para contenido estático ASP.NET, Mobile Controls Nativo / XSLT Mobile Web Browse ? Web para móviles

19 Hola Mundo. Ejemplos

20 Compact.Net Framework.

21 Pequeño y portable, pensado para dispositivos Pequeño y portable, pensado para dispositivos Soporte de Visual Basic® y C# Soporte de Visual Basic® y C# Uso de Visual Studio®.NET Uso de Visual Studio®.NET Implantación y ejecución desde el IDE Implantación y ejecución desde el IDE Depuración desde el IDE Depuración desde el IDE Soportar clientes Servicios Web y aplicaciones basadas en WinForms Soportar clientes Servicios Web y aplicaciones basadas en WinForms Librerías para formularios, gráficos, almacenamiento, red, acceso a datos, XML, … Librerías para formularios, gráficos, almacenamiento, red, acceso a datos, XML, … Integración completa con el SO existente Integración completa con el SO existente Uso de threads, P/Invoke para llamar a código nativo Uso de threads, P/Invoke para llamar a código nativo Compact.Net Framework.

22 Ejecución segura (type safe ejecution) Ejecución segura (type safe ejecution) Control de tipos Control de tipos No se permite el uso de variables no inicializadas No se permite el uso de variables no inicializadas No se permiten casts no seguros No se permiten casts no seguros Comprobación de los índices de los arrays, no buffer underruns Comprobación de los índices de los arrays, no buffer underruns Recolección de Basura (Garbage Collection) Recolección de Basura (Garbage Collection)

23 Compact.Net Framework. Compilación JIT Compilación JIT Compilación método por método Compilación método por método El resultado se guarda en un cache para su futura reutilización El resultado se guarda en un cache para su futura reutilización Si el dispositivo está bajo en memoria se borra este cache Si el dispositivo está bajo en memoria se borra este cache Control de errores con excepciones Control de errores con excepciones Sistema de tipos común (Common Type System) Sistema de tipos común (Common Type System) Invocación, herencia, y depuración a nivel de código fuente entre componentes de distintos lenguajes Invocación, herencia, y depuración a nivel de código fuente entre componentes de distintos lenguajes

24 Conectividad Nivel físico Nivel físico IrDA, Bluetooth, GSM/GPRS, Ethernet, WiFi etc. IrDA, Bluetooth, GSM/GPRS, Ethernet, WiFi etc. ActiveSync ActiveSync Instalación de aplicaciones Instalación de aplicaciones Integración con el entorno de desarrollo Integración con el entorno de desarrollo TCP/IP, HTTP TCP/IP, HTTP XML, Web Services XML, Web Services ADO.NET data provider ADO.NET data provider SQL CE Replication SQL CE Replication Compact.Net Framework.

25 System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design ADO.NET SqlServerCe SqlClient Xslt/XPath XmlDocument Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/writers Clases Soportadas

26 Compact.Net Framework. ¿Cómo de Compacto? Tamaño de Fichero ClasesMétodos CFDesktop%CFDesktop%CFDesktop% MSCorEE400K* 2.2 M 18%N/AN/AN/AN/AN/AN/A MSCorLib200K2M10% % % System100K1.2M8% % % System.Drawing20K458K5% % % System.Web.Services67K503K13% % % System.Windows.Forms56+55K2M5%438235% % System.XML138K1.2M12% % % Tamaño del fichero del.NETCF MSCorEE de la versión Win32/x86Tamaño del fichero del.NETCF MSCorEE de la versión Win32/x86

27 Manejado Manejado Desarrollo productivo Desarrollo productivo Programación robusta Programación robusta Soporte para WS Soporte para WS Librerías de clases amplias Librerías de clases amplias Mismas herramientas y APIs que en escritorio Mismas herramientas y APIs que en escritorio Usado por la mayoría de los desarrolladores Usado por la mayoría de los desarrolladores Nativo Nativo Mayor integración con el dispositivo Mayor integración con el dispositivo Requerimientos en tiempo real Requerimientos en tiempo real Drivers del dispositivo Drivers del dispositivo Mayor código para manejo de capas Mayor código para manejo de capas Manejado.NET CF (VS.NET) Nativo (eVC) SmartClient ? Compact.Net Framework. Nativo o Manejado

28 Hola compact. Ejemplos

29 Datos desde un XML. Ejemplos

30 Interacción con WS. Ejemplos

31 Mismo código, diferentes dispositivos. Ejemplos

32 Sugerencias en diseño.

33 Que hacer? No copie desde escritorio a dispositivos pequeños. No copie desde escritorio a dispositivos pequeños. Concéntrese en las tareas mas especificas. Concéntrese en las tareas mas especificas. Mas simple, mas claro. Mas simple, mas claro. Intégrelo con voz. Intégrelo con voz. Realice pruebas de usabilidad. Realice pruebas de usabilidad. Mire las aplicaciones de Microsoft para usarlas como guías. Mire las aplicaciones de Microsoft para usarlas como guías. Minimice los mensajes de alertas. Minimice los mensajes de alertas.

34 1024x x220 Pensando en chico.

35 Texto corto. No tan formal No tan formal No se pudo conectar contra Su teléfono no se pudo conectar con el servidor. Eliminar texto innecesario. Eliminar texto innecesario. Seleccione la configuración a usar contra Selecciones la configuración que USTED quiere usar En ayudas en línea use el símbolo (>) En ayudas en línea use el símbolo (>) Archivo > Abrir contra En el menú Archivo, presione Abrir.

36 Pensar en un mínimo de 30% de expansión en las etiquetas. Pensar en un mínimo de 30% de expansión en las etiquetas. Algunas palabras pueden crecer hasta un 100% Algunas palabras pueden crecer hasta un 100% Castellano:aviso Alemán:Eingabeaufforderung Idioma.

37 Preguntas.

38 Referencias Microsoft SmartPhone: one/ Microsoft SmartPhone: one/ one/ one/ Desarrollo para Dispositivos Móviles: ers/default.mspx Desarrollo para Dispositivos Móviles: ers/default.mspx ers/default.mspx ers/default.mspx Información sobre Windows eMbedded: Información sobre Windows eMbedded: Información Técnica sobre eMbedded: Información Técnica sobre eMbedded:

39 © 2004 Microsoft Corporation. Todos los derechos reservados Muchas gracias por su participación


Descargar ppt "Conceptos básicos para el Desarrollo sobre Dispositivos Móviles. Matías S. Iacono Microsoft MVP ASP/ASP.net."

Presentaciones similares


Anuncios Google