Академический Документы
Профессиональный Документы
Культура Документы
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
?
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
</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
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
System.XML 138K 1.2M 12% 100 724 14% 927 7227 13%
?
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
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