You are on page 1of 39

Conceptos básicos para

el Desarrollo sobre
Dispositivos Móviles.

Matías S. Iacono
Microsoft MVP ASP/ASP.net
Agenda
 Introducción
 Herramientas para el desarrollador.
 Web para dispositivos móviles.
 Compact .Net Framework.
 Sugerencias de diseño.
Introducción
Introducción
Microsoft .NET
Plataforma software para servicios Web y XML
 Amplía posibilidades de servidores, clientes
y servicios
 Modelo de programación consistente
 Ínter operable vía XML Web Services
 Ventajas
 Entrega el software como servicio
 La integración es intrínseca en la plataforma
 Permite aplicaciones inteligentes
Introducción
Desarrollos .NET
 Plataforma .NET
 Única plataforma basada en XML Web
 Entrega servicios vía ASP.NET
 Desarrollo multilenguaje
 20 lenguajes de programación existentes
 Optimización de código
 Herramientas ajustadas a cada aplicación
 Visual Studio .NET
 La herramienta más popular del mercado
 Entorno de desarrollo de alta productividad
Introducción
Ventajas de Windows CE .NET
 Tamaño reducido
 Puede trabajar en configuraciones mínimas
 450K Rom y 32KB Ram
 Trabaja sobre una gran variedad de CPU´S
 Funcionamiento en tiempo real
 Optimizado para bajo consumo
 Necesario en equipos portátiles
 Arranque en segundos..
Herramientas para el
desarrollador
Herramientas para el
desarrollador
 Emuladores
 OpenWave
 Nokia y SonyEricsson
 SmartPhone SDK
 Microsoft eMbedded Visual Tools
 Visual Basic Embedded
 Microsoft SmartPhone SDK
 Visual Studio .Net 2003
 Complemento
 CrossFire para .Net
Herramientas para el
desarrollador
eMbedded Visual Tools
 Dos lenguajes
 VB (reducido)
 C++
 Pros:
 Son gratuitas
 Contras:
 VB muy pobre
 ‘Anticuadas’
Ejemplos

Embedded Visual Tools


Herramientas para el
desarrollador
Compact Framework
 Edición de .NET Framework para
Windows CE
 Toda la potencia de .NET en los
dispositivos (Web services…)
 Pros:
 Mismo lenguaje y entorno que .NET
Framework (VB.NET, C# de momento)
 Copiar-Pegar desde proyectos desktop
?
La decisión.
Server Side o Smart Client
 Sus usuarios necesitan
acceso a sus aplicaciones y
Server
Side
a datos al mismo tiempo?
 Necesita una interfaz
especial?

? 


Tiene una conexión cara?
Tiene control sobre los
dispositivos?
Smart
Client
 Puede administrar las
aplicaciones en los
dispositivos?
 Tiene competencia? Que
ofrecen?
Web para dispositivos
móviles.
Web para móviles
Manejado o Nativo?
Visual Studio .NET

ASP.NET
Controles
Controles
de
Móviles
escritorio
XSLT/
ASP
XML Web Services XSLISAPI

.NET Framework

Windows Server + IIS Windows Server + IIS


Web para móviles
Manejado o Nativo?
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD
Private Sub Button1_Click(ByVal
WML 1.1//EN" sender As System.Object, ByVal e As
"http://www.WAPforum.org/DTD/wml_1.1.xml"> System.EventArgs) Handles
<wml>
Button1.Click
<card id="card1" title="card 1"> Me.ActiveForm = Form2
<p> End Sub
<anchor title="anchor tag">
Ir a la segunda pantalla
<go href="#card2" />
</anchor>
</p>
</card>

<card id="card2" title="card 2">


<p>
Segunda Pantalla</p>
</card>

</wml>
Web para móviles
Manejado o Nativo?
<?xml version="1.0"?> Dim oDS As New DataSet
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" oDS.ReadXml(Server.MapPath("xmlfile1.xml"))
"http://www.WAPforum.org/DTD/wml_1.1.xml">
<wml> Me.SelectionList1.DataSource =
<card id="ic" title=“Seleccion"> oDS.Tables(0)
<p>
Seleccione uno<br /> Me.SelectionList1.DataMember = "datos"
<select name="favorite" title=“Elija su favorito">
<optgroup title=“Autos"> Me.SelectionList1.DataValueField = "ID"
<%
set dbc = server.createobject(“…”) Me.SelectionList1.DataTextField =
dbc.open "Nombre"
sql = “….”
set rst = dbc.execute(sql) Me.SelectionList1.DataBind()
do while rst.eof %>
<option value=“<%=rst(“..”)%>"><%=rst(..)%></option>
<%
rst.movenext
loop %>
</optgroup>
</select>
</p>
</card>
</wml>
Web para móviles
 Mobile Controls
 Desarrollo productivo


ASP.NET,
 Fácil de manejar
Mobile  Soporte a datos XML
Controls  Integración con Web Service
 Alto rendimiento
 Programación basada en eventos

?
Mobile  Conveniente para aplicaciones
Web Browse dinámicas

 Nativo / XSLT
 Dificultad para el desarrollador
Nativo /  Desafíos de administración
XSLT  Soporte XML
 No trabaja con WS
 Mas lentos que ASP.net
 Conveniente para contenido
estático
Ejemplos

Hola Mundo.
Compact .Net
Framework.
Compact .Net Framework.
 Pequeño y portable, pensado para dispositivos
 Soporte de Visual Basic® y C#
 Uso de Visual Studio® .NET
 Implantación y ejecución desde el IDE
 Depuración desde el IDE
 Soportar clientes Servicios Web y aplicaciones
basadas en WinForms
 Librerías para formularios, gráficos, almacenamiento,
red, acceso a datos, XML, …
 Integración completa con el SO existente
 Uso de threads, P/Invoke para llamar a código nativo
Compact .Net Framework.
 Ejecución segura (type safe ejecution)
 Control de tipos
 No se permite el uso de variables no
inicializadas
 No se permiten casts no seguros
 Comprobación de los índices de los arrays,
no buffer underruns
 Recolección de Basura (Garbage
Collection)
Compact .Net Framework.
 Compilación JIT
 Compilación método por método
 El resultado se guarda en un cache para su futura
reutilización
 Si el dispositivo está bajo en memoria se borra
este cache
 Control de errores con excepciones
 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
Compact .Net Framework.
Conectividad
 Nivel físico
IrDA, Bluetooth, GSM/GPRS, Ethernet, WiFi etc.
 ActiveSync
Instalaciónde aplicaciones
Integración con el entorno de desarrollo
TCP/IP, HTTP
XML, Web Services

ADO.NET data provider

SQL CE Replication
Compact .Net Framework.
Clases Soportadas
System.Web System.WinForms
Services UI Design ComponentModel
Description HtmlControls
Discovery WebControls
Protocols System.Drawing
Caching Security Drawing2D Printing
Configuration SessionState Imaging Text

System.Data System.Xml
ADO.NET SqlClient XmlDocument Serialization
Design SqlServerCe Xslt/XPath Reader/writers

System
Collections IO Configuration Runtime
Security Net ServiceProcess InteropServices
Text Reflection Diagnostics Remoting
Globalization Resources Threading Serialization
Compact .Net Framework.
¿Cómo de Compacto?
Tamaño
de Fichero Clases Métodos
CF Desktop % CF Desktop % CF Desktop %

“MSCorEE” 400K* 2.2 M 18% N/A N/A N/A N/A N/A N/A

MSCorLib 200K 2M 10% 364 1286 28% 3989 13817 29%

System 100K 1.2M 8% 140 765 18% 1090 6953 16%

System.Drawing 20K 458K 5% 41 254 16% 385 3509 11%

System.Web.Services 67K 503K 13% 54 274 20% 302 2083 14%

System.Windows.Forms 56+55K 2M 5% 43 823 5% 393 11337 3%

System.XML 138K 1.2M 12% 100 724 14% 927 7227 13%

•Tamaño del fichero del .NETCF MSCorEE de la versión Win32/x86


Compact .Net Framework.
Nativo o Manejado
 Manejado
 Desarrollo productivo
Manejado  Programación robusta
.NET CF
 Soporte para WS
(VS.NET)
 Librerías de clases amplias
 Mismas herramientas y APIs que

?
Smart en escritorio
Client
 Usado por la mayoría de los
desarrolladores

 Nativo
 Mayor integración con el
Nativo (eVC) dispositivo
 Requerimientos en tiempo real
 Drivers del dispositivo
 Mayor código para manejo de
capas
Ejemplos

Hola compact.
Ejemplos

Datos desde un XML.


Ejemplos

Interacción con WS.


Ejemplos

Mismo código, diferentes


dispositivos.
Sugerencias en diseño.
Que hacer?

 

 No copie desde escritorio a dispositivos pequeños.


 Concéntrese en las tareas mas especificas.
 Mas simple, mas claro.
 Intégrelo con voz.
 Realice pruebas de usabilidad.
 Mire las aplicaciones de Microsoft para usarlas como guías.
 Minimice los mensajes de alertas.
Pensando en chico.
1024x768  176x220
Texto corto.
 No tan formal
“No se pudo conectar” contra “Su teléfono no se pudo
conectar con el servidor.”
 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 (>)
“Archivo > Abrir” contra “En el menú Archivo, presione
Abrir.”
Idioma.
 Pensar en un mínimo de 30% de
expansión en las etiquetas.
 Algunas palabras pueden crecer
hasta un 100%

Castellano: aviso
Alemán: Eingabeaufforderung
Preguntas.
Referencias
 Microsoft SmartPhone: http://www.microsoft.com/
windowsmobile/smartphone/
 Desarrollo para Dispositivos Móviles: http://
www.microsoft.com/windowsmobile/developers/
default.mspx
 Información sobre Windows eMbedded: http://
www.microsoft.com/windows/embedded
 Información Técnica sobre eMbedded: http://
msdn.microsoft.com/embedded/
Muchas gracias por su participación

© 2004 Microsoft Corporation. Todos los derechos reservados

You might also like