mobile - programas - Desarrollar aplicaciones móviles para múltiples plataformas(¡sin un marco multiplataforma!)
tipos de aplicaciones moviles pdf (6)
Actualmente estoy pensando en este problema, y mi solución sería poner todo el lado lógico del servidor y usar un enfoque como Model-View-Presentation, una serie de eventos activados por la interfaz de usuario que deberían ser específicos para el cliente.
Somos los desarrolladores de una aplicación para iPhone 3 relativamente nueva y estamos comenzando una reescritura ambiciosa para aprovechar mejor el iOS 4. Hay un elemento social significativo para la aplicación, así que comenzamos a pensar que nos gustaría. para que esté disponible en tantas plataformas móviles modernas como sea posible:
- iPhone / iOS
- Androide
- Telefono windows
- Sistema operativo BlackBerry
- Symbian
Hay varios enfoques para el desarrollo multiplataforma, y todos tienen limitaciones. Ninguna solución logra aprovechar todas las funcionalidades de un dispositivo como lo hace una aplicación nativa. Dada la complejidad de nuestra aplicación, simplemente me gustaría maximizar la reutilización de código "lógico" sin recurrir a un marco multiplataforma. Estoy visualizando herramientas que harán que desarrollar y probar aplicaciones en múltiples plataformas sea un poco más transparente. ¿Qué podemos hacer para que el desarrollo en 5 plataformas tome menos de 5 veces el esfuerzo?
Bueno, puedes mirar JQTouch , SensaTouch o tal vez esperar un tiempo para ver el jqueryformobile para finalmente ser publicado. Si no tienes prisa, ya comenzaría a trabajar en jQuery, ya que dos de cada tres de esta lista se basan (se basarán) en jQuery como complementos.
Empuje la mayor parte de la funcionalidad que pueda a un servidor web compartido, e intente hacer solo la interfaz de usuario específica para la plataforma.
Estoy de acuerdo con Beth. Desarrollé un producto basado en el mismo proceso de pensamiento. Tengo un servidor de Java ejecutándose en un socket, que tiene una biblioteca cliente que el uso de esa aplicación cliente para conectarse al servidor. El cliente extrae la pieza del zócalo y proporciona api fáciles para que las aplicaciones del cliente puedan llamar.
El servidor está equipado para manejar múltiples conexiones de clientes en paralelo, concepto de grupo de subprocesos.
Ahora, dado que será una biblioteca cliente java, solo puede ejecutar esto en android. Para que esto funcione en otras plataformas, puede ejecutar esta pieza de cliente en J2EE. De esta forma creas una tercera capa intermedia. Todas las otras plataformas pueden conectarse usando el navegador.
Una vez hecho esto, ahora puede usar las bibliotecas JSON a Object para exponer su objeto (en el lado del servidor) a JSON. No he hecho esto todavía, pero lo haré en unas pocas semanas.
Por cierto, simplemente no puedo usar frameworks multiplataforma. Le prometen al mundo y no mencionan ninguna de sus limitaciones por adelantado. Es doloroso para el final del lanzamiento de su producto / aplicación descubrir todas estas limitaciones / costos ocultos.
Ninguno de estos jugará bien juntos. No está en su mejor interés percibido hacerlo.
La mejor opción es dejarlo todo en ridículo y mantenerlo simple. La simplicidad siempre gana cuando tratas de poner a prueba múltiples intereses hostiles.
Busque XML para todos los datos, y luego tenga 5 binarios para leerlo o enviarlo todo a un servidor web a través de PHP. Todas estas plataformas móviles funcionarán muy bien con XML porque les conviene hacerlo. Preocúpese por la marca y las apariencias DESPUÉS de que obtenga la funcionalidad principal despegada.
NOTA : Javascript es lo último que debería estar mirando al principio. Raramente se juega muy bien en todas las plataformas de la misma manera. Así que asegúrese de que su capa JS sea independiente de su capa de datos. NO INTEGRARLOS. Eso sería malo. Desea que su JS de Android sea potencialmente diferente de la JS que utiliza en Blackberry, por ejemplo. Porque no sabrá cuán peculiar será hasta que lo pruebe y pruebe sus métodos.
Sé que dijiste que no había marcos multiplataforma, pero tal vez algo para mirar:
Escriba toda la lógica del núcleo en javascript. Unidad de prueba que a voluntad. Luego use herramientas como Appcelerator para convertir esa lógica en código nativo.
Luego, importe ese código lógico en sus proyectos de plataforma nativos para cada una de esas plataformas, y construya las otras características que considere que no se pueden lograr de otra manera.
Para las plataformas que no son compatibles en este momento, es posible que pueda encontrar un convertidor de código js a nativo, o de hecho una forma de alojar un entorno js dentro de esas plataformas.