Construyendo aplicaciones móviles nativas o aplicaciones multiplataforma usando herramientas como Xamarin, ¿cuál es mejor y por qué?

Si está buscando una comparación directa entre los dos enfoques de desarrollo, en Graph recientemente hemos creado una publicación de blog sobre cómo abordar el desarrollo móvil que puede consultar.

Explica la diferencia entre las aplicaciones nativas y multiplataforma y detalla los pros y los contras de cada una (así como un breve segmento de aplicaciones híbridas que combinan los dos enfoques).

Estoy de acuerdo con Wallace cuando dice que “mejor” es subjetivo. Un enfoque puede no ser necesariamente mejor que el otro; todo depende de su situación / presupuesto / proyecto / conocimiento de los lenguajes de programación, etc.

Aquí hay un breve resumen de los beneficios de cada uno:

Desarrollo de aplicaciones nativas

Crear una aplicación nativa significa que se ha desarrollado desde cero, para una plataforma o dispositivo en particular. Está escrito en un lenguaje de programación compatible con esa plataforma o dispositivo (Java para Android, Objective-C y Swift para iOS, C # para Windows Phone).

Elija desarrollo nativo si:

  • Su aplicación necesita acceso completo a todo el hardware y la funcionalidad del dispositivo.
  • Su aplicación procesa video, audio o imágenes
  • Desea una interfaz de usuario fluida y de alta respuesta
  • La interfaz de usuario debe ser familiar para los usuarios de cada plataforma.
  • Su aplicación realiza cálculos complejos o funciona con grandes conjuntos de datos.
  • Su aplicación incluye datos encriptados

Desarrollo de aplicaciones multiplataforma

Cuando una aplicación móvil se llama ‘multiplataforma’, se ha desarrollado para todas las plataformas al mismo tiempo, utilizando HTML, CSS y JavaScript (u otro idioma) y se puede adaptar para la mayoría de los dispositivos (existen algunos marcos para cross -desarrollo de aplicaciones de plataforma, como Xamarin, como mencionó, PhoneGap y Unity).

Elija el desarrollo multiplataforma si:

  • Desea desarrollar un prototipo rápido para probar y validar un concepto simple
  • Necesita una “aplicación temporal” temporal o una aplicación promocional que tenga una vida útil limitada. Por ejemplo, una aplicación móvil que acompaña a un evento.
  • Su aplicación tiene una interfaz de usuario simple y una interacción de usuario limitada, como listar y mostrar contenido de noticias
  • Su interfaz de usuario tiene desplazamiento y deslizamiento limitados y los usuarios no se verán afectados por una respuesta de pantalla lenta
  • Su aplicación no interactúa con ningún hardware del dispositivo, cámara, micrófono, geolocalización, acelerómetro, etc.
  • Su aplicación no procesa datos complejos ni funciona con audio o video
  • Se dirige principalmente a un sistema operativo, como una aplicación corporativa, y no necesita una interfaz de usuario específica que siga las pautas de cada plataforma

¡Espero que ayude en su exploración de los dos enfoques de desarrollo! Si desea leer con más detalle, eche un vistazo a nuestra publicación de blog, ya que hay una tabla que ayuda a establecer todos los pros y los contras.

El desarrollo ingenuo de aplicaciones móviles es mejor que su contraparte, es decir, híbrido en muchos casos. Las aplicaciones híbridas no han evolucionado mucho debido a la velocidad y la seguridad.

  • Razones técnicas contra híbridos

Actualmente es, y probablemente seguirá siendo, imposible construir una aplicación Apple Watch con una plataforma híbrida

  • Seguridad

Es importante comprender los riesgos de seguridad de las aplicaciones híbridas. Cada capa en una aplicación presenta una oportunidad para un nuevo ataque.

  • Multiplataforma se logra a través de servicios web

Los clientes móviles son responsables de obtener, presentar y manipular esa información, pero los servidores web y las bases de datos son válidos.

  • Escribe una vez, corre por todas partes

Esta no es la primera vez que hacemos esto, años atrás Adobe Flash, Qt, Silverlight y JavaFX habrían sido actualmente, no son parte del desarrollo móvil.

  • Costo oculto del desarrollo híbrido

Necesitan complementos para diferentes plataformas. Tal vez, el complemento apropiado no existe o que un complemento existente no se haya mantenido para las versiones recientes del sistema operativo.

Tenemos un gran seguimiento de clientes en Inglaterra, Alemania y España.

Tenemos oficinas en el condado de Orange, Maryland, Nueva Delhi y Noida.

Pruebe TecOrb Technologies para proyectos o como socio de TI de su empresa.

También puede contactar a través de (tiene soporte 24 × 7):

• Sitio web: Empresa proveedora de servicios de desarrollo de aplicaciones web y aplicaciones móviles

• Identificación de Skype: tecorb

• ID de correo electrónico : [correo electrónico protegido]

• Cita: haga clic aquí

• Portafolio: haga clic aquí

• Número de teléfono: + 1 803 335 3593 o +91 9910781148

Mi colega escribió esta publicación. Espero que pueda ayudarte. Parte central copiada a continuación.

Xamarin es mejor conocido como MonoTouch y Mono para Android, que permite a los desarrolladores crear aplicaciones nativas de Android usando C #. Como el mismo lenguaje de programación Xamarin se usa para todas las plataformas diferentes, los códigos para Android se pueden compartir entre las plataformas, ya sea Windows o iOS.

En general, la funcionalidad principal común (lógica de negocios; acceso a datos) a las aplicaciones se abstrae en una biblioteca separada. Además, una interfaz de usuario personalizada y nativa está diseñada para cada plataforma. Los desarrolladores pueden compartir alrededor del 60-70% del código, dependiendo de la complejidad de la interfaz de usuario. El desarrollo de aplicaciones nativas con Xamarin le brinda ventajas como:

  • Apariencia y sensación de la interfaz de usuario nativa
  • Velocidad de aplicación y capacidad de respuesta
  • Disponibilidad de funcionalidad nativa

Siempre hay múltiples opciones que podemos hacer para cualquier tarea de desarrollo, una es que podemos desarrollar la nuestra con la tecnología y otra con opciones ya preparadas que simplifica todas las tareas con una solución lista para usar.

Aplicaciones nativas y plataformas cruzadas:

Entonces, respondiendo a su pregunta, una aplicación nativa está completamente desarrollada para un sistema operativo móvil como Objective C o Android habilitado para Java o Swift Ios, etc. mercado de desarrollo.

¿Por qué Xamarin es mejor?

Xamarin : una de las mejores herramientas multiplataforma del mercado que impulsa el desarrollo de aplicaciones tanto nativas como híbridas. Utiliza el lenguaje de programación C #, por lo que los desarrolladores de aplicaciones móviles xamarin pueden usar la herramienta Xamarin para crear aplicaciones para varias plataformas, incluidas iOS, Android, Mac y Windows.

Soporte multiplataforma móvil : Xamarin ofrece un soporte multiplataforma excepcional para las principales plataformas móviles como iOS, Android y Windows Phone.

Desarrollo más rápido : proporciona bibliotecas de componentes preconstruidas que ayudan a mejorar las funcionalidades en su aplicación, como controles de interfaz de usuario, temas, servicios web, marco de desarrollo y más.

Entorno de desarrollo integrado (IDE) : IDE para aplicaciones iOS, Android y Mac, cuenta con finalización automática de código, amplia biblioteca de plantillas de proyecto y control de fuente integrado.

Escáner de movilidad .NET: el escáner de movilidad acepta bibliotecas compiladas de .NET, ejecutables en formato .dll o .exe y genera compatibilidad para iOS, Android y Windows Phone.

Ir con una herramienta multiplataforma nativa (o) para el desarrollo de aplicaciones: todo depende de sus requisitos, como opciones personalizables, presupuesto, recursos y conocimiento, etc.

Lo siento, pero “depende”. ¡Vamos a votar!

Puntos A FAVOR de Xamarin:

– enviar notificaciones push

– elige un diseño de interfaz de usuario

– integraciones remotas de API REST

– Tecnología Beacons y procesamiento de señal en tiempo real para aplicaciones de ubicación

– Transmisión de video incorporada

– base de datos SQLite incrustada

– gran biblioteca XMPP

Y el más conocido “CONSTRUYE UNA VEZ – CORRE POR TODAS PARTES”

La biblioteca de componentes de Xamarin crece muy rápido y las aplicaciones de Xamarin tienen un aspecto muy nativo. PERO, no son nativos. Y NO SE SIENTEN nativos.

Aquí hay una descripción detallada de por qué Xamarin es bueno Xamarin para el desarrollo de aplicaciones móviles


Xamarin es una solución .NET de código abierto que se ejecuta en Mono y tiene como objetivo hacer que las aplicaciones basadas en C # se ejecuten en sistemas operativos que no sean Windows como Unix, Mac OS, Android, etc. ¿No siente el conflicto?

Ahora vienen puntos en DISFAVOUR OF Xamarin:

– capacidad limitada de compartir el código

– comunidad xamarin no desarrollada

– es costoso

– capacidad limitada para diseñar una interfaz de usuario personalizada

Así que esté muy atento en términos de elegir entre desarrollo nativo y multiplataforma.

Puede obtener más información sobre las limitaciones de Xamarin aquí: 7 razones por las que Xamarin puede ser un problema

PD Y un ejemplo de aplicación basada en Xamarin por si acaso Pizza Mobile App

Espero eso ayude.

Las empresas medianas y grandes se han dado cuenta de la importancia de las aplicaciones móviles. en el último año más o menos, y esto requiere una plataforma que pueda ayudarlos a desarrollar e implementar aplicaciones a escala.

Teniendo en cuenta las herramientas multiplataforma, Xamarin es una plataforma que se está fortaleciendo cada vez más y atrae a muchas empresas a usarla para sus aplicaciones móviles. La mejor parte de Xamarin es que funciona en lenguaje C # con .Net framework, que es familiar para casi todos los programadores. Sus características sofisticadas como Generics, Linq y Parallel Task Library no tienen comparación.

Otro beneficio de Xamarin es que, aunque está escrito usando C #, compila aplicaciones de manera diferente para diferentes plataformas, por ejemplo, para Android C # se compila en IL y se empaqueta con MonoVM + JIT’ing. Mientras compila la aplicación para iOS, C # se compila por adelantado (AOT) en lenguaje ensamblador ARM. El marco .NET está incluido, y las clases no utilizadas se eliminan durante el enlace para reducir el tamaño de la aplicación.

  • Hay muchas cosas de las que Xamarin es capaz, sin embargo, veamos qué hace que Xamarin se destaque:
  • Xamarin tiene TestCloud que te permite probar tus aplicaciones automáticamente
  • Proporciona un 100% de reutilización de código con Xamarin. Desarrollo de IU de formularios utilizando lógica y base de código compartido. Esto ahorra mucho tiempo y recursos
  • Admite patrones como MVC y MVVM
  • Xamarin.Android es compatible con dispositivos Google Glass, Android Wear y Firephone
  • La curva de aprendizaje es relativa. Si su equipo conoce C #, es relativamente fácil comenzar con Xamarin

Tenemos expertos que trabajan en Xamarin y otras herramientas de desarrollo de aplicaciones multiplataforma. Responda en caso de que necesite saber algo más.

Una historia interesante sobre Xamarin: aplicación móvil multiplataforma para inventario

Te estás perdiendo el punto básico aquí. LAS APLICACIONES DE XAMARIN SON APLICACIONES NATIVAS Y CORREN EN PLATAFORMAS MÚLTIPLES.

NO confunda el desarrollo de aplicaciones Xamarin con el desarrollo de aplicaciones híbridas.

Xamarin le permite crear aplicaciones nativas de Android, iOS, Mac y Windows utilizando el mismo código en C #. ¡Escribe una vez, despliega en todas partes!

¡Cree, pruebe, desarrolle, distribuya y monitoree aplicaciones móviles nativas en múltiples plataformas, usando solo una herramienta! Xamarin reduce en un tercio el tiempo, el esfuerzo y el dinero destinados al proceso de desarrollo de aplicaciones móviles.

Xamarin ciertamente proporciona todos los beneficios garantizados por cualquier herramienta de desarrollo de aplicaciones nativas, ¡de hecho, mucho más!

!

“Mejor” es extremadamente subjetivo. Lo que es mejor para mí, puede no ser mejor para usted y viceversa. Estas son las razones por las que fui con Xamarin:

  • Ya soy desarrollador de C # / .NET. No tengo que ir a aprender un nuevo conjunto de idiomas. Escuché que hablar sobre aprender nuevos idiomas es fácil, pero no he descubierto que ese sea el caso. En 2009, pude elegir entre Objectivec y C #. En 2011, fue elegir entre java y c #. En 2014, Swift entró en escena. Podría aprender un idioma y aplicar las lecciones de un idioma a dos familias de productos o aprender 2 idiomas nuevos. El aprendizaje de 2 nuevos idiomas habría sido un gran problema para mí. El tiempo requerido para aprender un nuevo idioma para mí es de aproximadamente 3 meses solo para llegar al punto en que me sienta cómodo con eso. 3 meses de tiempo facturable no es una pequeña cantidad de dinero.
  • No tuve que ir a aprender un nuevo IDE. Hoy puedo quedarme en Visual Studio. Puedo usar Xamarin Studio, que es similar a VS incluso para un tipo como yo. Ya tenía algo de experiencia con SharpDevelop, por lo que XS no es gran cosa.
  • Aprender los plataformas es un paso positivo en el mundo multiplataforma, no un paso negativo como algunos afirmarán. Los usuarios quieren aplicaciones que se vean, huelan y prueben como cualquier otra aplicación en su dispositivo. Es difícil para otras herramientas multiplataforma dar un aspecto nativo a sus aplicaciones. Intellicast es un ejemplo perfecto del problema. Han proporcionado una apariencia de interfaz de usuario no nativa a su aplicación móvil homónima, así como a su nueva aplicación llamada Storm. No es lo que quiero. Weather Underground se siente mucho más nativo en las plataformas.
  • Cuando entré en esto, tenía el objetivo de multiplataforma, pero ya sabía que las herramientas multiplataforma basadas en web no eran lo que desearía. Una vez que hice eso, las opciones se volvieron muy limitadas. Incluso hoy, creo que solo hay unos pocos (Apportable y algunas herramientas de Java). Xamarin ha estado haciendo esto durante mucho tiempo y tienen una muy buena idea de los problemas multiplataforma con los que se encuentran los desarrolladores.

¡Buena suerte con tu producto!

PD. Las aplicaciones de Xamarin son aplicaciones nativas en la plataforma en la que se ejecutan.

Hola,

Esta pregunta ha sido ampliamente cubierta en Internet y la respuesta es bien conocida. El desarrollo de aplicaciones nativas es una opción mucho mejor cuando se trata de elegir entre las dos. Los principales beneficios de las aplicaciones nativas incluyen:

1.) Rendimiento maravilloso: dado que las aplicaciones nativas se desarrollan para un sistema operativo específico, son más rápidas que las aplicaciones híbridas y son perfectas para aplicaciones y juegos de alta gama.

2.) Mejor experiencia de usuario: las aplicaciones nativas ofrecen la experiencia más receptiva a los usuarios. Dado que estas aplicaciones están escritas en Android e iOS, las cuales ya son conocidas por el usuario, seguramente se sentirán naturales con las aplicaciones nativas que tienen más estándares específicos de IU de la plataforma, lo que resulta en una mejor respuesta y aceptación.

3.) Amplia base de usuarios: las aplicaciones con una mejor experiencia de usuario se descubren más fácilmente y se presentan con frecuencia, lo que hace que sea un poco más fácil llegar al público objetivo.

4.) Acceso más fácil a Develop- Con Native Apps, es bastante fácil aprovechar todas las funcionalidades del dispositivo, como cámara, GPS, etc., mientras que Hybrid ofrece solo un acceso limitado a las funcionalidades del dispositivo.

5.) No siempre se requiere conexión a Internet: las aplicaciones nativas no siempre requieren conexión a Internet para funcionar. Depende totalmente de la funcionalidad, mientras que tener una conexión a Internet es imprescindible para las aplicaciones híbridas.

¡Espero que haya sido útil!

Depende en gran medida del propósito de la aplicación que usted (o su cliente) quiera construir.

Si planea utilizar las funciones de una plataforma específica (por ejemplo, Siri o iMessage para iPhones), entonces definitivamente debe ser nativo .

Sin embargo, si su aplicación no depende en gran medida de características específicas, entonces haga una plataforma cruzada. De esta manera, ahorrará dinero y será una aplicación coherente (el principio de “código una vez, ejecutar en todas partes” en el trabajo).

Lea más sobre la diferencia y las ventajas aquí: Desarrollo de aplicaciones móviles nativas o multiplataforma: ¿cuál elegir?

Realizamos desarrollo multiplataforma nativa (Android / iOS) e iónica si está interesado: http://www.grossum.com/project/start

Solo compartiendo mis pensamientos. Creo en el desarrollo de aplicaciones nativas. No prefiero que se desarrolle una aplicación en una plataforma dinámica. Hay ciertos pros y contras de cada uno. Apoyo el desarrollo de aplicaciones nativas porque esto se puede personalizar completamente para cada sistema operativo, brinda una mejor experiencia de usuario, etc.
Incluso la aplicación de Facebook, estaba en HTML5. Pero ellos también se mudaron a nativo considerando su mayor error al optar por HTML5 en lugar de nativo. Igual es la historia de la aplicación de LinkedIn.

Puede leer los pros y los contras del desarrollo de aplicaciones nativas vs multiplataforma aquí: ¿PhoneGap o desarrollo de aplicaciones nativas? Sigue leyendo para obtener la respuesta

TL; DR: nativo es mejor.


Me siento algo calificado para responder, porque mi inicio anterior (fallido) creó un tiempo de ejecución .NET para teléfonos inteligentes Symbian / Nokia y en los primeros días pusimos en marcha nuestro marco con algunas de las bibliotecas de clase mono. Puedo decir de primera mano que hay muchos compromisos en el camino en una tecnología multiplataforma o tiempo de ejecución.

Dicho esto, Mono / Xamarin es excelente y han hecho un gran trabajo. Si sus usuarios son más o menos cautivos (es decir, aplicaciones empresariales internas) y tiene desarrolladores con credenciales sólidas de Visual Studio y .NET, Xamarin probablemente funcionará de maravilla. Esa es la naturaleza del desarrollo de aplicaciones corporativas.

Si está creando una aplicación móvil que está disponible para el público en general de negocios o consumidores, debe volverse nativo. Por definición, es lo “mejor” que la plataforma tiene para ofrecer: no puede estar limitado (en términos generales). Con lenguajes como Swift ahora, es aún más fácil sumergirse en el desarrollo de aplicaciones nativas. Las herramientas de Apple también son geniales.

Para ahorrar recursos, elija Android o iOS; no haga ambas cosas inicialmente. Averigua qué dispositivo usa tu audiencia inicial clave (has comprobado esto, supongo) y crea una gran aplicación en una sola plataforma para empezar, reduce a la mitad tu tiempo.

Creación de aplicaciones multiplataforma con Xamarin: perspectiva de un desarrollador de Android

Escribir código reutilizable que se pueda compartir en múltiples plataformas puede facilitar mucho más el desarrollo de aplicaciones móviles. Pero, ¿cómo lo hace sin pagar el costo habitual de mantenimiento, facilidad de prueba y poca experiencia del usuario que viene con el desarrollo de aplicaciones móviles multiplataforma?

En este artículo, el ingeniero de software de Toptal Freelance, Emran Bajrami, nos guía por Xamarin y nos muestra técnicas para crear aplicaciones multiplataforma de alta calidad.

#CrossPlatform #MobileApp #Xamarin

En PerfectedTech, utilizamos StrongLoop Xamarin.

StrongLoop Xamarin SDK

Perfected Tech eligió trabajar con la tecnología StrongLoop por una clara necesidad de una solución marco que haga que el proceso de desarrollo para los proyectos NodeJS sea exitoso. El marco LoopBack de StrongLoop es una clara solución líder para el desarrollo de API. A través de nuestro compromiso constante y sobresaliente con la innovación y el refinamiento del proceso de desarrollo, hemos creado varias herramientas internas para reducir el tiempo de desarrollo. La herramienta StrongLoop Xamarin SDK es una de una serie que se usa actualmente y ahorra un tiempo precioso de Perfected Tech en cada proyecto que emprendemos, desde el principio hasta el final y hasta el mantenimiento.

La eliminación de la dolorosa integración del servidor y la codificación de la capa de servicio significa que hemos visto un ahorro de tiempo promedio de 1/3 en el desarrollo de aplicaciones con este SDK. Para una empresa de servicios, estos ahorros son drásticos y ahorran tiempo y dinero a nuestros clientes.

Desde que Microsoft anunció una colaboración global con Xamarin a principios de este año, el mundo del desarrollo de aplicaciones móviles se dio cuenta de la relación relativamente anónima de las populares plataformas multiplataforma de desarrollo de aplicaciones móviles.

Para el profano, Xamarin es solo otra plataforma para desarrollar aplicaciones en C #. Si le preguntas a un técnico, él te hablará antes de seguir y seguir sobre cómo Xamarin ha cambiado el desarrollo de aplicaciones móviles y por qué es la próxima gran cosa. Si estás remotamente interesado en aplicaciones móviles, sigue leyendo, ¡estamos a punto de decirte por qué Xamarin!

La palabra de moda con Xamarin es código compartido .

Leer más: Xamarin: la próxima gran cosa en el desarrollo de aplicaciones móviles

Construir una aplicación móvil nativa es bueno, ya que tienden a ser más fáciles de trabajar y funcionan mejor en su dispositivo nativo, soporte completo de su mercado, mayor seguridad de la aplicación una vez lanzada, y los desarrolladores tienen un mejor momento cuando se les proporciona el SDK Los inconvenientes son que tienden a ser más caros, el costo del mantenimiento y la actualización de la aplicación es mayor, el proceso de aprobación de la aplicación por parte de la tienda de aplicaciones y, sobre todo, si desea crear la misma aplicación para otro mercado, entonces hay mucho más trabajo para hacerse en comparación con las aplicaciones multiplataforma.
Personalmente, me gusta usar aplicaciones multiplataforma, pero siento que Xamarin no es muy bueno debido a la sobrecarga de su aplicación y al uso compartido de código limitado. Así que ahora estoy usando NEST que resuelve ambos problemas, más fácil de usar y es gratis.

Realmente me siento frustrado cuando leo personas que justifican el desarrollo no nativo porque no pueden manejar el aprendizaje de otro entorno o lenguaje de programación. Después de ser un desarrollador nativo de iOS / Android durante 4 años y trabajar con Xamarin Studios y Cordova, puedo decir que este proceso de pensamiento de usar una herramienta única lo gobierna todo para ahorrar costos es una fantasía. Debe adaptar el dispositivo si va a hacer un buen producto y los costos ahorrados del código ‘compartido’ no equilibran entre el costo de mantenimiento y el material personalizado que tendrá que escribir junto con las limitaciones de la herramienta. Puedo garantizarle que a menos que esté escribiendo una aplicación simple que no planea mantener, o que literalmente no le importe la GUI de su aplicación, o sea incapaz de aprender nada más que .NET … esto no lo hará le ahorrará tiempo y dinero Native es absolutamente el camino a seguir.

La aplicación nativa siempre es mejor. Sin embargo, también depende de sus necesidades y presupuesto.
Atrápame en:
Sudhanshu Mishra
Skype @ rkputra

¡Feliz de ayudarte! 🙂

Echa un vistazo a la escritura natives de telerik, es una gran innovación.