Introduccion a CF 3aParte .NET

Post on 30-May-2018

220 views 0 download

Transcript of Introduccion a CF 3aParte .NET

  • 8/14/2019 Introduccion a CF 3aParte .NET

    1/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 1 de11

    INTRODUCCIN A .NET COMPACT FRAMEWORK 2.0

    Derecho de Autor 2007 Jos Miguel Torres.

    Permiso para copiar, distribuir y/o modificar este documento bajo los trminos de laLicencia de Documentacin Libre GNU, Versin 1.1 o cualquier otra versin posterior

    publicada por la Free Software Foundation; con las Secciones Invariantes siendodesarrolloMobile.NET, con los siendo desarrolloMobile.NET el texto de la CubiertaFrontal, y siendo desarrolloMobile.NET el texto de la Cubierta Posterior. Una copia

    de la licencia es incluida en la seccin titulada "Licencia de Documentacin LibreGNU".

  • 8/14/2019 Introduccion a CF 3aParte .NET

    2/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 2 de11

    Objetivos de este documento:Este documento es el tercero de una serie de varios y que hablar sobre comoempezar a desarrollar aplicaciones en .NET CF 2.0.

    Se recomienda una mnima formacin sobre programacin y nociones muy bsicassobre la plataforma .NET.

    El objetivo de este documento es conocer las caractersticas ms importantes de undispositivo mvil que debemos conocer para el desarrollo de aplicaciones.

    NOTA IMPORTANTE: Existen gran cantidad de artculos en Internet que hablan sobre temas ms especficos dehardware que se tratan en este documento. En algunos casos mostrar el enlace a estos artculos puesto queentiendo que es mejor redirigirte a un artculo de calidad que tratar de hacer lo mismo yo aqu.

  • 8/14/2019 Introduccion a CF 3aParte .NET

    3/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 3 de11

    Conceptos de hardware a tener en cuenta.

    En el desarrollo de una aplicacin Windows, Web o Middleware no tenemos en

    cuenta si el PC o servidor dnde se est ejecutando tiene o no alimentacin, espaciodisponible o cobertura GPRS. Son conceptos que se dan por supuestos (osencillamente no son necesarios como la cobertura GPRS) que estarn y nodebemos ( o no debiramos) preocuparnos de ellos.

    .NET Compact Framework est enfocado a dispositivos mviles, esto es, condeterminadas caractersticas en la administracin de memoria, procesos y recursos.Las aplicaciones que desarrollemos sobre ellos, aunque gracias al CLR de .NET CF 2.0en ocasiones son transparentes, no debemos olvidar que el dispositivo mvil puedeno tener suficiente batera como para, por ejemplo, efectuar una conexin GPRS/3G

    a un servicio Web, o bien no tiene el suficiente espacio y eficiencia como paraalmacenar un gran volumen de datos. Estos escenarios no nos los encontramos enaplicaciones Windows o Web.

    Una premisa que debis tener en cuenta es que todos los dispositivos son distintosentre s. Evidentemente no los que son del mismo modelo y marca. Un PC clnicocon Windows XP SP2 es distinto a uno de marca con el mismo sistema operativopero esas diferencias (RAM, Cach, disco, procesador, controladores, etc...) no sontemas a tener en cuenta antes del desarrollo. Tampoco pretendo asustaros, lasdiferencias entre dispositivos tampoco son abismales. Pero entonces, a que tipode diferencias me estoy refiriendo? Me explico...

    Windows Mobile es instalado por parte del fabricante a cada uno de sus modelossiguiendo unas especificaciones tcnicas. Microsoft, por su parte, provee todas lasfuncionalidades bsicas a Windows Mobile sin embargo no todas esasfuncionalidades estn disponibles. Por ejemplo, un dispositivo de la marca Xincorpora un controlador de Bluetooth de Microsoft (Microsoft Bluetooth Stack).Windows Mobile soporta este tipo de controlador por defecto as que, no habrproblema alguno. Otros fabricantes optan por utilizar Bluetooth de WIDCOMM. Enese caso el controlador Bluetooth que incorpora Windows Mobile por defecto essustituido por el de WIDCOMM. Este controlador reside en ROM, as que formaparte del sistema operativo. Si decides hacer cualquier tipo de cdigo de control deBluetooth para un determinado dispositivo que utiliza Microsoft Bluetooth Stack note servir de nada si lo ejecutas en otro dispositivo con WIDCOMM. Lo mismoocurre con el control de intensidad de la pantalla o teclado. Windows Mobile aportala funcionalidad de modificarla programticamente sin embargo los fabricantespueden optar por mantenerlo o sustituirlo por controlarlo por libreras nativas, porejemplo.

    Son casos, los mencionados, algo rebuscados, pero si tienes intencin de crearaplicaciones en un entorno empresarial vers como esas funcionalidades (u otras)

    las requerirs.

  • 8/14/2019 Introduccion a CF 3aParte .NET

    4/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 4 de11

    En definitiva, ten en cuenta estas premisas para futuras implementaciones endispositivos mviles.

    Diferencias entre PocketPC y Smartphone

    Otro dilema a la hora de crear aplicaciones multiplataforma es conocer la propiaplataforma. La principal diferencia entre Smartphone y Pocket PC es que esta ltimaincorpora pantalla tctil mientras que Smartphone la navegacin es por botones.As las diferencia en la utilizacin de controles Windows para Smartphone y PocketPC se resumen en el siguiente enlace:

    http://msdn2.microsoft.com/en-us/library/ms228834(VS.80).aspx

    Adems existe otro artculo interesante donde muestra ms en profundidad lasdiferencias de desarrollo.

    http://www.oreillynet.com/pub/a/wireless/2004/01/07/smartphone.html

    Normalmente, las capacidades dealmacenamiento y velocidades delprocesador son superiores en las Pocket PC.No es as en cuestiones de batera, puestoque depende de cada fabricante. Cabe laposibilidad de que existan Smartphone conduracin de sus bateras superiores a otrosPocket PC pero puede ocurrirperfectamente lo contrario.

    Administracin de memoria en Windows Mobile

    Windows Mobile 5 cambia la forma de administrar la memoria respecto a susantecesores. Yo me centrar en explicar lo que necesitamos saber a partir deWindows Mobile 5 en adelante. Si queris ampliar la informacin sobre diferencias ydems echad un vistazo a

    http://www.pocketpcfaq.com/faqs/5.0/memory_management.htm

    En un dispositivo mvil podemos distinguir a grandes rasgos 3 tipos de memoria.

    Memoria RAM, ROM y Storage Card.

  • 8/14/2019 Introduccion a CF 3aParte .NET

    5/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 5 de11

    La memoria RAM (Random Access Memory) requiere de una fuente dealimentacin constante sin embargo no lo necesita la ROM (Read Only Memory). Espor esta razn que tanto el sistema operativo, como nuestros datos residen enROM. La memoria RAM, por otro lado, es mas rpida que la ROM. Normalmente eltamao de la capacidad de memoria ROM es mayor. Cuando instalamos unprograma lo hacemos en la ROM pero cuando se ejecuta se hace en la RAM. Enalgn sitio he visto que la ROM es como una memoria SD interna (para hacernos unidea, claro)

    Respecto a tarjetas de memorias externas slo decir que es algo ms lento (elacceso) que la ROM as que en aplicaciones de acceso a base de datos notareis unadegradacin en el tiempo de acceso a la base de datos. Para obtener msinformacin acerca este tipo de memorias otro articulo:

    http://www.microsoft.com/windowsmobile/articles/storage.mspx

    Si queris, adems, saber como desde que ejecutamos una aplicacin .NET CF 2.0hasta que finaliza el sistema operativo gestiona la memoria, que papel juega el CLRy qu memoria entra en escena os recomendar un artculohttp://msdn2.microsoft.com/en-us/library/s6x0c3a4.aspx. Pero si realmente querisprofundizar sobre el tema, si os atrevis, no os perdis este artculo de Mike Zintel(.Net Compact Framework Advanced Memory Management). Sencillamenteimpresionante.

    http://blogs.msdn.com/mikezintel/archive/2004/12/08/278153.aspx

    Procesadores

    Seguro que alguna vez te has preguntado por qu cuando genero un archivo CAB obien me voy a instalar SQL Server CE existen varias archivos CAB en base a distintosprocesadores. Bsicamente, son todos los procesadores que existen actualmenteen el mercado sin embargo muchos de ellos estn obsoletos. ARM, MIPS o SH3 sonprocesadores predecesores de los actuales.

    Actualmente se est utilizando la tecnologa XScale de Intel. Antes estuvo el StrongARM. Con la aparicin de Pocket PC 2002 Microsoft estandariz un conjunto deinstrucciones bajo el nombre de ARMv4. Todos los dispositivos a partir de entoncesson compatibles con ARM. Posteriormente Intel evolucion hasta XScale, comodeca. ste soporta tanto el conjunto de instrucciones v4 como le evolucin v5.Dentro de este apartado encontramos procesadores que llegan hasta 624Mhz(PXA27X) con soporte para conectividad inalmbrica y soporte multimedia MMX.

  • 8/14/2019 Introduccion a CF 3aParte .NET

    6/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 6 de11

    Si quieres ampliar ms informacin chale un vistazo a:

    - Microprocesador ARM http://es.wikipedia.org/wiki/ARM- Microprocesador MIPS http://es.wikipedia.org/wiki/MIPS- Microprocesador StrongArm http://es.wikipedia.org/wiki/StrongARM- Microprocesador Intel XScale http://es.wikipedia.org/wiki/Intel_XScale

    La comprensin del funcionamiento, mejoras y especificaciones de los procesadores es importante

    aunque no imprescindible en .NET Compact Framework. Te animo a que si quieres profundizar en el

    tema eches un vistazo a los enlaces que te adjunto.

    Navegacin

    Si de una cosa se caracterizan los dispositivos mviles es de la carencia de teclados,ratones y dems. Informtica de mano, esto es, todo lo necesario lo tenemos en eldispositivo. Sin embargo, y como coment en las diferencias entre Smartphone yPocket PC, la pantalla tctil no es un requisito, ni tampoco el teclado (QWERTY otelefnico).

    De todos modos existen dispositivos de entrada para todos los gustos:

  • 8/14/2019 Introduccion a CF 3aParte .NET

    7/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 7 de11

    http://www.hama.de/portal/articleId*110196/picType*awd2/action*2599?picURL=%2

    Fbilder%2F00036%2Fawd%2F00036 990awd2.jpg#picture

    E-TEN glofiish M700

  • 8/14/2019 Introduccion a CF 3aParte .NET

    8/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 8 de11

    iBIZ Technology Corp.

    MPX300

    En definitiva, cuando desarrollemos nuestros programas debemos ser conscientesde qu modo de entrada de datos tiene la plataforma para la cual desarrollamos deforma predeterminada. Evidentemente no podemos hacer una especificacin paracada una de las PDA, o hardware de entrada, en mayor medida ya se ocupa (odebiera hacerlo) el sistema operativo.

    Resumiendo, no hagamos de nuestra aplicacin una experiencia similar para elusuario como si de una operacin de ciruga cardiovascular se tratara o unacombinacin tediosa por teclado; al fin y al cabo es cuestin de botones, cuadrosde texto ( bueno ms o menos ;-) )

    Conectividad

    Otro aspecto a tener en cuenta es la conectividad de nuestro dispositivo. Este es unaspecto relativamente importante segn sea el propsito de nuestras aplicaciones.En todo caso, no est de mas que nos familiaricemos con las posibilidades quebrinda nuestra PDA en cuanto a comunicaciones Bluetooth, IrDA, WiFi, adems delas siempre soportadas por ActiveSync.

    Creo que aqu es el lugar ms idneo de hablar de GSM, 3G, UMTS y dems. En

    definitiva son un montn de siglas, que pese a que muchas de ellas existen desdehace bastante, ahora empiezan a sonarnos, como HSDPA, que fue presentada en el

  • 8/14/2019 Introduccion a CF 3aParte .NET

    9/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 9 de11

    3GSM de Barcelona del ao 2006. De manera muy superficial, y en cuanto acomunicaciones de telefona mvil se refiere, se catalogan todas estas siglas en unalnea temporal desde 0G (all por los aos 40) hasta 4G, pasando por 2G (GSM), 2.5G(GPRS), 3G(W-CDMA), 3.5G(HSDPA) y 3.75G(HSUPA). En fin, te dejo este enlace siquieres empaparte del tema:

    http://es.wikipedia.org/wiki/GPRSServicios de cobertura 3G y GSM(1800/900) en Espaa:http://www.gsmworld.com/roaming/gsminfo/cou_es.shtml

    No me atrevo a profundizar ms(*), por ahora, en este aspecto. Quizs requiera deun documento entero. Una reflexin/experiencia en el tema que tuve hace tiempo,ms concretamente sobre Bluetooth, la podis encontrar en forma de artculo en larevista dotNetMana (n35) y en el site

    http://www.desarrollomobile.net/libreria/libreria.aspx.

    Ah! Olvida compartir un enlace curioso respecto a IrDA. Se trata de un artculo decmo utilizando IrDA podemos utilizar nuestra PDA de mando a distancia para eltelevisor... http://www.desarrollomobile.net/explore2.aspx?item=28

    (*) Aunque no me atreva a profundizar por lo abstracto del tema, no puedo obviarlo; al fin y al cabohablamos de Anatoma de un dispositivo mvil

  • 8/14/2019 Introduccion a CF 3aParte .NET

    10/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 10 de11

    Complementos

    Muchas veces tendemos a pensar lo siguiente: en mi pc de desarrollo tengo el Visual

    Studio 2005 .NET con .net compact framework 2.0; adems tengo una pda, concmara, gps y lector de huellas dactilares. Podr utilizar todos estos complementos

    desde una aplicacin .net compact framework ma?

    La respuesta es todos no. Bueno s, me explico (que lo). Si recuerdas, en el primerpunto de este mismo documento habl sobre aspectos del hardware a tener encuenta, si un fabricante pone si otro quita, etc. Pues esto es lo mismo. Podemosutilizar la cmara de fotos desde nuestra aplicacin .net cf? Pues s, peronecesitamos de un SDK, de una gua, de algo (sean libreras administradas,libreras nativas,...) que nos diga el qu y cmo hacerlo. Todos los fabricantes de

    dispositivos mviles tienen su SDK, otra cosa es que la forma de obtenerlo seamediante pago (lamentablemente muy popular) o gratuito. Sin embargo, el cdigoque utilices para utilizar la cmara de tu PDA no te servir (lo mas probable) en otrotipo de PDA (me refiero a marca y modelo).

    El tema del GPS ha sido solucionado por Microsoft. Lo que han hecho ha sido crearuna capa intermedia que asla el tipo y conectividad del GPS, retransmitiendo slolos datos (secuencias NMEA ya estructuradas) en forma estructuras nativas. La malanoticia es que estas funciones y estructuras son nativas (en C++). De todas formasen el SDK de Windows Mobile 5.0 y superior encontrars un ejemplo de utilizacin.

    Setting up GPS on Windows Mobile 5.0http://blogs.msdn.com/windowsmobile/archive/2006/06/07/620387.aspxGPS Intermediate Driverhttp://msdn2.microsoft.com/en-us/library/ms850332.aspx

  • 8/14/2019 Introduccion a CF 3aParte .NET

    11/11

    Introduccin a .NET Compact Framework 2.0 # Anatoma de una dispositivo mvil

    http://www.desarrolloMobile.NET // http://jmtorres.blogspot.com Pg. 11 de11

    Otros enlaces:

    Peculiaridades del uso de menus en Smartphonehttp://jmtorres.blogspot.com/2006/09/peculiaridades-del-uso-de-mens-en.htmleres cirujano plstico.net?http://jmtorres.blogspot.com/2007/06/eres-cirujano-plsticonet.htmlSD Memoryhttp://blogs.msdn.com/windowsmobile/archive/2007/01/12/everything-you-want-to-know-about-sd.aspx

    Prxima:

    Ms consultas contactar en:jtorres_diaz@terra.es?subject=Introduccion%20a%20CF%203