Divulgación completa: trabajo como ingeniero en Pyxis Mobile. Sin embargo, he estado en el espacio móvil durante más de 7 años y he evaluado varios enfoques para dispositivos móviles, así que espero que esto sea útil.
Pyxis Mobile proporciona un conjunto de herramientas y componentes para crear aplicaciones móviles multiplataforma. Permítanme resumirlos primero.
1. Application Studio - Todo el desarrollo de aplicaciones, la integración del backend, el aprovisionamiento del usuario y el mantenimiento/la depuración de la aplicación se realiza con esta herramienta. Application Studio (por ahora) es una aplicación de escritorio basada en Windows.
2. Clientes de la aplicación - Pyxis Mobile proporciona los tiempos de ejecución del cliente nativo para iPhone, iPad, BlackBerry y dispositivos Android. Estos tiempos de ejecución se etiquetan para el cliente a través de un servicio de compilación y están preparados para apuntar a una URL específica de Application Server.
3. Servidor de aplicación - Pyxis Mobile App Server se ejecuta en la pila .NET (en IIS). Toda la comunicación del cliente se envía a través de este servidor. Este servidor puede conectarse a varios sistemas de backend (a través del Marco de complementos que se detalla a continuación) y responder al cliente de una manera optimizada para dispositivos móviles. Este servidor necesita un servidor SQL (2005 o posterior) para el acceso a la configuración, administración de sesión, registro y más.
4. Programas Marco de - La estructura de plugins es un componente de back-end que ofrece el sistema de acceso pre-construidos específica a varios de los sistemas de la empresa y basada en la nube (Oracle, Siebel, SAP, Salesforce.com, los canales sociales, REST/SOAP web services, etc.) y también ofrece una capa API en .NET y Python (usando IronPython) para permitir aún más personalización. Un complemento se compone esencialmente de una o más DLL o un archivo de Python. Estos activos se cargan dinámicamente para normalizar la comunicación entre Pyxis Mobile y los sistemas back-end de los clientes.
5. Empuje Servicios - Esto proporciona una capa de empuje multiplataforma que puede sondear un sistema de fondo para el cambio y alertar a un dispositivo móvil a través de BlackBerry Push, de Apple Push Notification Services (APN) o la nube de Android para deshielo de mensajería (C2DM).
6. Analítica overwatch - Este es un componente opcional (pero incluido) para realizar un seguimiento de los usuarios/dispositivos y proporcionar análisis integrado en lo que los usuarios están utilizando y qué tipo de dispositivos y configuraciones regionales compensa sus usuarios.
La aplicación en sí está "codificada" a través de la configuración compilada en App Studio. Pyxis Mobile se abstrae del código para que pueda trabajar a un nivel superior sin tener que preocuparse por la amplia gama de variaciones del dispositivo (GPS, pantallas táctiles, cámara, acelerómetro, push, resolución de pantalla, etc.). Puede arrastrar campos a desde, conectar pantallas a través de menús o botones, configurar reglas de almacenamiento en caché y más en esta utilidad gráfica. Esta configuración (esencialmente piense en un documento similar a XML) es interpretada por la capa de cliente nativa para producir una aplicación enriquecedora.También hay una capa de secuencias de comandos en Lua que permite personalizar realmente el comportamiento a través del código.
El valor real de Pyxis Mobile aparece cuando tiene que realizar un cambio. Los clientes verifican la nueva configuración al inicio de la aplicación o si el servidor obliga al cliente a obtener una nueva configuración. Esto te da una gran agilidad. Digamos que una vez que se implemente su aplicación, debe comenzar a utilizar el gesto deslizar para pasar a siguiente/anterior a través de un conjunto de registros. Este cambio en otras plataformas significaría escribir algún código específico de plataforma para atrapar e interpretar el deslizamiento para realizar una navegación (no podría atrapar un deslizamiento en una pantalla no táctil). Sin embargo, en Pyxis Mobile, este es un cambio de configuración simple que se puede implementar rápidamente en el Servidor de Aplicaciones y los clientes descargan y usan automáticamente la nueva configuración. Sin compilación, sin redesplegar o volver a descargar para los usuarios finales.
Podría seguir, pero espero que esto proporcione un cierto nivel de orientación.
1 - buena pregunta. No puedo encontrar nada que parezca vagamente objetivo o imparcial sobre estas cosas. – sheikhjabootie