Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Enterprise Native Mobile Application Development

Tengo la tendencia a creer que el desarrollo de aplicaciones móviles en un entorno empresarial es el más adecuado mediante el desarrollo de aplicaciones web de intranet. Dicho esto, se me ha pedido que piense si existen aplicaciones empresariales específicas que sólo se podrían lograr o que tendrían más éxito que las aplicaciones nativas. Tengo curiosidad por lo que piensa la comunidad de Stack Overflow.

Nota : Como una organización que principalmente utilizan dispositivos BlackBerry, pero son curiosidad otra plataforma.

5 Solutions collect form web for “Enterprise Native Mobile Application Development”

Algunos de los dominios parecen más adecuados para aplicaciones nativas de la cabeza:

  • Aplicaciones con conjuntos de datos desconectados. Las aplicaciones móviles no siempre pueden contar con una conexión a Internet. Las aplicaciones nativas manejan bien ese caso. Esto es especialmente cierto para las herramientas de entrada de datos. Si recibe una llamada en el explorador al introducir datos, el trabajo se perderá si la página se vuelve a cargar después de reiniciar Safari.
  • Aplicaciones que requieren que el usuario cargue los medios como fotos, videos y grabaciones de sonido. Actualmente, no hay forma de cargar los medios iPhone locales a través de MobileSafari. Las aplicaciones nativas manejan este caso. Seguros y bienes raíces podrían ser buenos mercados para apuntar con esto.
  • Aplicaciones avanzadas de procesamiento. Por ejemplo, si desea una aplicación de gestión de inventario que pueda leer códigos de barras con la cámara de un iPhone, una aplicación nativa puede procesar datos de imágenes mucho más rápido. Cualquier aplicación de realidad aumentada funcionaría mejor como una aplicación nativa.
  • Aplicaciones de alta memoria. Cuando otras aplicaciones se ejecutan, Safari todavía chugs junto en el fondo. Si esas aplicaciones necesitan más memoria, Safari liberará la memoria RAM asignada al contenido de la página de una "pestaña". Esa página se vuelve a cargar la próxima vez que un usuario abra Safari. Si tu aplicación necesita mucha RAM, entonces convertirla en una aplicación nativa te dará mayor prioridad que seguir siendo una aplicación web.
  • Necesita funcionar en el fondo como servicio. A partir de 4.0, por supuesto, puede crear servicios de rastreo de activos de TI, registro GPS, mensajería corporativa (piense en Microsoft Office Communicator para iPhone, etc.), supervisión del cumplimiento normativo, notificaciones de pedidos, punto final personalizado SIP / H.323 para un conmutador VoIP , Etc.
  • Grandes conjuntos de datos. Creo que Safari limita las bases de datos SQLite a 50 MiB máx. Para una aplicación nativa, el espacio disponible se restringirá principalmente por el espacio disponible en "disco".

En realidad, sólo mirando a través de la API. Cualquier API no disponible a través de una aplicación web sería un buen lugar para comenzar. Estoy siendo tímido, aquí, con respecto a 4.0 API que están actualmente bajo NDA. 🙂

Dicho esto, SproutCore Touch proporciona una buena plataforma web que es específica para las interfaces táctiles.

Si bien puede haber algunas aplicaciones empresariales específicas que son mejores como una aplicación nativa no puedo pensar en ningún ejemplo concreto.

Sin embargo, mientras estoy de acuerdo con usted acerca de las aplicaciones web intranet son normalmente mejores, creo que todo depende de que su mejor para. Obviamente las aplicaciones web intranet son mejores para el desarrollo, y mejor ya que pueden ser cross playform, sin embargo creo que prácticamente todas las aplicaciones son mejor nativas para el usuario final. ¿No estás de acuerdo? Mire el número de aplicaciones exitosas para iPhone y Android que están disponibles en el mercado y que son sólo portales nativos para los datos de algunos sitios. Los usuarios prefieren mucho más la forma en que una aplicación nativa funciona a través de un navegador móvil.

También otra cosa que tendría en cuenta es si la aplicación ya tiene una aplicación web intranet en uso diseñado para sistemas de escritorio. Si hay uno, iría a la ruta de aplicación nativa ya que los usuarios de las otras plataformas móviles todavía pueden acceder a la versión de escritorio. Sin embargo, si no hay un portal universal que consideraría hacer que vs nativo.

Lo ideal sería hacer ambas cosas.

Tenga algo como una interfaz segura y relajante que alimente json o xml a una aplicación móvil nativa. La interfaz de descanso sería más fácil de comenzar con, más fácil de probar, más fácil de prototipo, y más fácil de cambiar. También haría la vida infinitamente más fácil cuando los datos necesitan ser sincronizados, respaldados, clonados, o cuando el teléfono se pierde / roto / robado / actualizado.

Y luego, tener una aplicación nativa construida además de la interfaz de descanso también permitiría el uso del entorno Native UI. Podría permitir que la aplicación funcione sin conexión. Podría usar su propio sistema de notificación, sin pasar por SMS / push-mail. Y si algunos de los datos relevantes estuvieran realmente reflejados fuera de línea, la aplicación se volvería también más sensible y mucho más fácil de usar con otras aplicaciones (en lo que respecta a la funcionalidad de la aplicación compartida, solo hablo de los SDK de Android aquí y principalmente La versión futura del iPhone SDK, no el Blackberry todavía). El resultado final sería probablemente una aplicación mucho más limpia y mucho más agradable para trabajar con, suponiendo que también podría hacerse como una aplicación nativa.

Recomendaría que se tome la decisión de crear una aplicación web, un cliente nativo o ambos, después de comprender los problemas que intenta resolver y examinar las necesidades de los usuarios finales de la aplicación. Sería imposible sugerir que usted puede contestar a la pregunta de la tecnología sin entender el problema del usuario.

En el capítulo 8 de "Acerca de Face 2.0: Los fundamentos del diseño de la interacción", Alan Cooper habla sobre posturas de software. Una de estas posturas se llama "Postura Soberana". Esta postura representa una aplicación que suele utilizarse a pantalla completa y durante largos períodos de tiempo, y representa la aplicación principal para un usuario determinado. Visual Studio y Eclipse son buenos ejemplos de aplicaciones soberanas para desarrolladores. Si la interfaz en cuestión es una aplicación soberana para un usuario, eso favorece fuertemente a un cliente nativo.

En un ejemplo de empresa específico, una aplicación de escritorio de servicio es una aplicación soberana para los técnicos, pero es una aplicación transitoria para los usuarios. Yo sugeriría que un factoring ideal de tal aplicación sería una aplicación nativa rica para dispositivos de escritorio y móviles para técnicos y una interfaz web de autoservicio para usuarios. Para el técnico, las ventajas de una aplicación nativa superan los costos de despliegue, dado que generalmente hay menos técnicos. Además, el técnico puede estar trabajando en un problema de red y la naturaleza confiable fuera de línea de un cliente nativo permite al técnico continuar utilizando la aplicación incluso cuando la red no está disponible.

Si el usuario pasa más de unas horas al día interactuando con la aplicación, considere las ventajas de un cliente nativo bien diseñado. Si hay varios usuarios, considere cómo cada función utiliza la aplicación y tal vez termine con un modelo híbrido. Su estrategia de interfaz de usuario siempre debe basarse en el examen de casos de uso sobre el siguiente evangelio de cualquier campamento, y debe centrarse en la experiencia del usuario, no en la conveniencia del desarrollador.

Los beneficios del desarrollo de aplicaciones nativas son principalmente obtener acceso a las características de hardware que no son accesibles a través de las API de la Web, obtener beneficios de rendimiento nativos (como en juegos de acción), acceso instantáneo a clientes que pagan a través de una tienda de plataformas (como iTunes) Y situaciones de seguridad donde usted no confía en el navegador o cómo se maneja.

Los contras del desarrollo de aplicaciones nativas son que te encierres en una plataforma de código potencialmente propietaria, escribes un montón de código específico del dispositivo y estás bloqueado por el proveedor. El código es más difícil de escribir, mucho más difícil de desplegar, y tienes la oportunidad de tener la alfombra sacada de debajo de ti. (Sí, estoy mirando a Apple, pero podría suceder a cualquier plataforma propietaria.)

Por el contrario, las aplicaciones web se basan en tecnologías conocidas y fáciles de manejar: HTML5, CSS3, JavaScript y excelentes bibliotecas como JQTouch están disponibles para ayudar. Las aplicaciones web bien diseñadas en su mayor parte no importarán si estás en un Blackberry, Android o iPhone, y funcionará en muchos de los modelos más antiguos y menos capaces, así como los más nuevos y los dispositivos que ni siquiera tenemos Sin tener que recompilar o refactorizar (o al menos sin tener que hacer una gran cantidad de recompilación o refactorización …) Y hay algunas características de hardware accesibles, como el GPS a través de la API de geolocalización.

Pero por otro lado las aplicaciones web pueden no funcionar bien con grandes conjuntos de datos o con altos requerimientos computacionales. Si está construyendo una aplicación comercial con transacciones financieras, es muy probable que tenga que rodar su propio sistema de pago. Y también tienes que confiar en la seguridad del navegador.

En general, la mayoría de las aplicaciones van a hacer el mejor sentido como aplicaciones web. Sin embargo, muchas aplicaciones web se pueden hacer para funcionar para ser casi indistinguibles de las aplicaciones de cliente. Con algunos HTML5 de almacenamiento sin conexión, CSS3 y JS funcionalidad para las transiciones y comportamientos, muchas aplicaciones de negocios se pueden hacer para ser indistinguible de los clientes nativos.

En el caso de iPhone podemos llevarlo más lejos: Añadir un icono de 57x57px apple-touch-icon.png al directorio raíz de su aplicación web proporcionará a los iPhones un bonito icono personalizado cuando los usuarios agreguen una aplicación a sus pantallas de inicio (iPhone se hará cargo de la Esquinas redondeadas y efecto visual brillante) y puede hacer que una aplicación para iPhone pase a pantalla completa cuando se hace clic en el icono de la pantalla de inicio agregando. En este punto, la aplicación tiene su propio icono y se ejecuta a pantalla completa – el usuario no sabe que es basado en la web.

Y si quieres ir nativo pero no quieres abandonar los estándares web, la mayoría de las API nativas ofrecen la posibilidad de desarrollar clientes nativos basados ​​en HTML / CSS / JS usando un simple contenedor, como UIWebView en Objective-C. PhoneGap es un excelente marco multiplataforma que permite implementar prácticas de desarrollo web basadas en estándares en iPhone, Android y Blackberry.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.