¿Es mejor Xamarin o Apache Cordova?

La respuesta correcta a esto depende en gran medida de los requisitos específicos de su aplicación. Xamarin es, de hecho, una plataforma más poderosa e integral, con experiencias de depuración y herramientas significativamente mejores. Sin embargo, no se deje engañar: hay una curva de aprendizaje bastante pronunciada, especialmente para los desarrolladores que son nuevos en dispositivos móviles en general. No es necesario que aprenda solo la cadena de herramientas Xamarin y C #; también necesita conocer las plataformas y modelos de aplicaciones iOS y Android (y WinPhone también para muchas personas). Es posible que no necesite aprender Java y Objective-C, pero aún necesita aprender esas API.

Para las aplicaciones más simples, donde su equipo tiene un conocimiento mínimo de los entornos móviles, ya se sienten cómodos con javascript / html, y donde el éxito depende menos del rendimiento / capacidad de respuesta y el “pulido” visual de la interfaz de usuario, entonces Cordova podría ser suficiente. Muchas empresas prueban esta ruta primero porque es ciertamente más barata (en términos de costo de inversión inicial, NO costo general del ciclo de vida) y especialmente atractiva para los equipos de desarrollo que se consideran “tiendas web”. Incluso si terminan abandonando a Cordova y cambian a nativo o nativo / Xamarin, aún habrán ingresado al mercado móvil rápidamente y habrán aprendido algunas lecciones sobre el mundo móvil.

Sin embargo, es un escenario bastante común encontrar compañías que probaron Cordova primero y lo están reemplazando con una solución de Xamarin. El 75% de los proyectos para los que he sido contratado han sido así. O chocaron contra una pared de ladrillos con Cordova (o alguna otra plataforma híbrida) en funcionalidad o rendimiento, o encontraron que era demasiado molesto mantenerlo. En muchos casos, los usuarios finales se han quejado (en voz alta) sobre la interfaz de usuario, generalmente porque las aplicaciones híbridas realmente nunca coinciden con el aspecto y la sensación de UX de una verdadera aplicación nativa … especialmente justo después del lanzamiento de un nuevo sistema operativo. He visto algunas aplicaciones híbridas que se ejecutan en iOS8 que podrían haber sido toleradas en iOS5 días, pero que son completamente horribles para los estándares UX actuales. Las aplicaciones nativas adoptan automáticamente el UX actualizado (siempre que usen los controles integrados en lugar de los controles de IU personalizados) y, por lo general, no sufren este problema.

Ventajas de Xamarin –

  1. Xamarin tiene TestCloud que le permite probar sus aplicaciones automáticamente.
  2. Soporte para LINQ (facilidad para acceder a la entidad DB).
  3. 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.
  4. Admite patrones como MVC y MVVM.
  5. Xamarin.Android es compatible con dispositivos Google Glass, Android Wear y Firephone.
  6. La curva de aprendizaje es relativa. Si su equipo conoce C #, es relativamente fácil comenzar con Xamarin.

Xamarin es el más adecuado si –

  • ya eres programador de C # y no quieres aprender ningún otro lenguaje de programación solo por el desarrollo de aplicaciones móviles.
  • está utilizando Visual Stdio y aún desea mantener el mejor IDE del mundo para desarrollar aplicaciones móviles, aplicaciones web, aplicaciones de Windows, etc.
  • No desea aprender más de una tecnología para desarrollar aplicaciones de Android, IOS y Windows.
  • Si eres fanático de los Productos y Tecnologías de Microsoft.
  • Está familiarizado con dot net y desea volver a utilizar la biblioteca dot net en Xamarin.

En marzo, escribí un artículo completo al respecto. Feliz de compartir algunos hallazgos clave aquí:


  • Las interfaces de usuario de Xamarin son nativas
  • Cordova es algo para el desarrollo rápido y fácil de aplicaciones
  • Xamarin requiere conocimiento de .NET, Android, MacOS e iOS
  • Cordova es perfecto para equipos familiarizados con el desarrollo front-end
  • Xamarin tiene Test Cloud (que es increíble)
  • Xamarin se puede usar tanto para startups como para empresas
  • Cordova es más un entorno adecuado para MVP

Si desea leer todo (es largo, tenga cuidado), hágalo.

Xamarin usa C # para escribir programas mientras usa XML para marcado y estilo. Sería interesante notar que Xamarin ahora ha sido adquirido por Microsoft y también se ha convertido en código abierto.

Cordova o Apache Cordova para ser precisos es una plataforma de desarrollo de aplicaciones de código abierto. Funciona con tecnologías web estándar.

Facilidad de uso

Cordova es fácil de usar. Deberá crear su aplicación una vez y estará listo. Aparecerá y funcionará de manera similar en todas las plataformas

Xamarin, por otro lado, puede generar código reutilizable. Compartir código sería mucho más fácil en Xamarin ya que le permite usar marcos CSS.

Apoyo

Cordova tiene una comunidad en línea que es bastante grande en comparación con Xamarin. Lo que lo hace aún mejor es el hecho de que la comunidad es muy activa.

Incluso la comunidad en línea de Xamarin es lo suficientemente buena. Ha experimentado un buen crecimiento, pero aún así, tal como están las cosas hoy, Córdoba es mucho mejor desde esa perspectiva.

Más detalles puedes encontrar Xamarin vs Cordova 2017 ¿Qué es bueno en el desarrollo de aplicaciones móviles?

Cuál es mejor…. Xamarin o Apache Cordova ? Según la comparación, Xamarin es mucho mejor que Apache Cardova …… Debido a que Xamarin usa .NET Framework , es más seguro y flexible …

Si está interesado en el desarrollo de Xamarin … entonces existen dos formas de desarrollar aplicaciones web o móviles de Xamarin:
– Estudio Xamarin
– Estudio visual
Ambos se basan en la plataforma Dot Net ………

Área fuerte de la Plataforma Xamarin : –
– Más confiable y flexible ……
– Más rápido que Apache Cordova …… ..
– Fácil de implementar y usar ……
– Rendimiento nativo y mucho más ……….

Según mi sugerencia, Xamarin es ideal para desarrollar aplicaciones móviles multiplataforma a un precio efectivo … Para obtener más información, visite ¿Cómo desarrollar aplicaciones Xamarin multiplataforma?

Apache Cordova es un increíble marco multiplataforma. Permite a los propietarios de negocios y desarrolladores de Apache Córdoba dominar el desarrollo de todas las plataformas móviles con un solo conjunto de código. Es un marco de desarrollo móvil de código abierto y ayuda a crear potentes aplicaciones móviles multiplataforma que se ejecutan perfectamente en múltiples plataformas móviles como iOS, Android, Windows y más.

Fácil de aprender: no hay una razón convincente para aprender dialectos de código complicados para aplicaciones portátiles como CSS3, JavaScript y HTML5. Apache Cordova toma una oportunidad en los programas más ampliamente reconocidos. Por lo tanto, es simple para los empresarios lograr que crezca rápido y de la manera más inteligente.

Ayuda a los desarrolladores a hacer que las aplicaciones móviles sean más potentes: Apache Cordova ayuda a los diseñadores a crear una aplicación utilizando las propiedades de los activos locales de un gadget. En ese punto, la aplicación puede llegar a componentes locales efectivos como la cámara de un teléfono, acelerómetro, brújula, mensajes, contactos, geolocalización, organización, advertencias (listo, sonido, vibración) y almacenamiento de medios. Apache Cordova puede hacer que la vida de un emprendedor sea menos exigente sin negociar el encuentro con el cliente.

Perfecto en múltiples plataformas: Apache Cordova aborda el tema de las variedades en el avance de la aplicación en diferentes etapas. Expulsa los contrastes en la sensación y el aspecto en etapas cambiadas y la interfaz de usuario coordina totalmente cada etapa versátil, por ejemplo, iPhone o Android. La versátil aplicación Apache Cordova es buena con cajas de herramientas de JavaScript como Sencha Touch, jQuery Mobile y Dojox Mobile.

Cordova ofrece más capacidad para hacer aplicaciones simples realmente rápido, pero el rendimiento claramente no es su punto fuerte, a veces es más rápido crear aplicaciones nativas y luego hacer que las ruedas cordovas giren más rápido. Entonces, si su equipo es bueno en el desarrollo de frontend, entonces Córdoba es una buena opción para algunos proyectos como la reserva de hotel o alguna aplicación relacionada con eventos.

Xamarin es mejor porque es casi nativo, sí, tiene algunos gastos generales, pero no tanto como los que tendrá con los contenedores del navegador.

La experiencia del lenguaje es un buen punto, y xamarin, que trae al menos las cosas más comunes de .net, hace algo realmente bueno, especialmente cuando intentas trabajar con fecha y hora en Java (sin hablar de Java 8, no puedes usarlo completo) Encendido de Android).

Por lo general, no uso xamarin, porque es más fácil para mí crear diferentes aplicaciones nativas, porque si está familiarizado con la infraestructura y su proyecto no tiene una lógica comercial gruesa, entonces el tiempo de desarrollo no es tan diferente y puede usar todas las funciones de la plataforma a plena potencia y no tienes trobles repentinos con tu código de plataforma cruzada. También puedes mover tu BL en la nube.

También para el desarrollo nativo, especialmente para Android, tiene toneladas de bibliotecas de terceros a su disposición. Para xamarin la situación no es tan buena. Para Córdoba es mejor, porque JS es muy popular, pero tiene un bajo rendimiento.

Xamarin definitivamente.

He estado desarrollando aplicaciones móviles de alta calidad durante 4-5 años y he hecho aplicaciones en todas las tecnologías html5, phonegap, Native y Xamarin.

El secreto de Xamarin es que … es una aplicación nativa … compila los códigos nativos de cada plataforma. Por lo tanto, todo lo que puede hacer con una aplicación nativa puede hacerlo con Objective-C / Java, puede hacerlo con Xamarin, incluido el rendimiento y las características nativas … pero con la ventaja adicional de una base de código compartido.

He hecho algunas publicaciones de blog sobre las ventajas de Xamarin que puedes echar un vistazo.
¿Debo usar Xamarin para desarrollo móvil? ¡Si deberías! – Michael Ridland

En mi experiencia, es la mejor plataforma móvil actualmente disponible, en realidad no solo la mejor, sino que domina sobre las otras opciones.

Gracias

Miguel
http://www.michaelridland.com

Xamarin
– Fácil para los desarrolladores de .Net iniciar el desarrollo móvil, tanto iOS como Android. Utilice casi la biblioteca de Mono framework (que es el mismo espacio de nombres de .Net framework: System.Net, System.Data, System.XML, …). Reutilice PCL en codeplex, soporte Nuget, ..
– La mejor manera de hacer aplicaciones multiplataforma a través de iOS, Android y Windows Phone. También es compatible con la aplicación de Windows (WPF, ..) y Mac OS (con Xamarin.Mac).
– Rendimiento nativo

2 años trabajando en Xamarin y es GENIAL 😉

Para aquellos que se sienten cómodos con Visual Studio y C #, mudarse a Xamarin será una tarea fácil. Xamarin proporciona controles de interfaz de usuario nativos en iOS, Android y Windows Phone. A partir de ahora hay muchas bibliotecas y componentes disponibles para Xamarin. La lógica de negocios se puede escribir en C #. Por lo tanto, el mantenimiento del código será sin problemas.

Mi voto va por Xamarin. Si está planeando comenzar un nuevo proyecto con Xamarin Forms, también recomendaría usar Grial UI Kit como punto de partida. Contiene muchos diseños XAML prefabricados y muchas muestras.
Está disponible en la tienda Xamarin. Puede consultarlo aquí Plantillas de IU para formularios de Xamarin

Este kit de formularios de Xamarin contiene:

  • Pantallas de comercio electrónico
  • Diferentes pantallas de opciones de menú
  • Carrusel
  • Iniciar sesión
  • Muestras de tutorial
  • Representadores personalizados
  • Increíble integración de fuentes
  • Efectos de paralaje
  • Es totalmente personalizable.
  • y completamente temible

Como dice otro tipo, es la manera fácil para que los desarrolladores de .net salten al mundo móvil.

Depende de su enfoque basado en,

  • Conjunto de habilidades del equipo individual o de desarrollo
  • Requisitos únicos de la aplicación.
  • Segmento de usuario dirigido
  • Visión estratégica a largo plazo desde la aplicación

Si está creando aplicaciones solo para una plataforma específica, entonces la opción preferida es Native (Swift, Objective-C para iOS y Java para Android), simplemente porque obtiene el mejor rendimiento y las últimas API y características para trabajar.

El desarrollo de aplicaciones híbridas con JavaScript, HTML5 y CSS simples es una de las opciones más fáciles y populares, y aquí es donde la web de antaño

Los desarrolladores tienen una ventaja.

¿Cómo accede su aplicación a los componentes de hardware?

Aquí es donde Cordova entra en escena. Cordova incorpora una API de JavaScript unificada, mediante la cual puede acceder a funciones del dispositivo como Cámara y acelerómetro de casi todas las plataformas, incluidas Android, iOS y Windows. Una vez que su aplicación esté lista, compile su aplicación con Cordova y Cordova envuelve su aplicación específica JavaScript, CSS y HTML en contenedores específicos de la plataforma (vista web). Este contenedor actúa como un puente entre su aplicación y los componentes de hardware a través de la API de JavaScript unificada.

Xamarin es otro animal salvaje para crear aplicaciones móviles nativas y es una de las plataformas más utilizadas para aplicaciones edificio. Con Xamarin, puedes construir nativo Android, iOS, Windows y Mac aplicaciones en lenguaje C #.

Conclusión:

– Muchos desarrolladores adoran Java y continúan desarrollando Android en Java , lo mismo ocurre con los desarrolladores que trabajan en Objective-C para iOS.
– El desarrollo de aplicaciones nativas ofrece el mejor rendimiento y una experiencia de usuario fluida.
– Los desarrolladores web se han convertido en desarrolladores móviles sin ninguna dificultad con el advenimiento de marcos híbridos como Ionic, Onsen UI, Intel XDK y Sencha Touch, por nombrar algunos.
Todos estos marcos se ocupan principalmente de JavaScript, CSS y HTML, y son compatibles con casi todas las plataformas móviles.

Otro enfoque sería Codename One. ( http://www.codenameone.com ). No puedo decir si es mejor, pero es diferente. Le permite escribir una aplicación móvil nativa multiplataforma utilizando código Java. Después de descargar el complemento en el IDE de su elección, codifique en Java la aplicación, luego envíela a Codename One Cloud, que devolverá un binario nativo para iOS, Android, Blackberry y Windows.
(Divulgación: estoy afiliado a Codename One

Xamarin es bastante asombroso. Sin embargo, la licencia puede ser costosa si necesita usar Visual Studio ($ 83 / mes por desarrollador por plataforma). La última versión de Visual Studio también es compatible con Cordova y hacen que sea bastante simple de desarrollar (Visual Studio Tools para Apache Cordova)

En general, recomendaría Xamarin si el costo no es un problema, ya que es simplemente mucho más poderoso que las aplicaciones basadas en Cordova HTML 5. También podrá reutilizar código lógico / comercial de C # desde su ASP. Proyectos NETOS.

Ninguno de los dos es perfecto. Tampoco es una elección equivocada. Cada uno tiene su propia cuota de características y soporte. Es solo que una alternativa puede ser mejor que la otra según su situación específica, los requisitos de la aplicación, el presupuesto, el tiempo de comercialización y muchas otras variables.

Siga el enlace para encontrar una tabla comparativa de Xamarin vs Apache Cordova Хamarin vs Apache Cordova: ¿Cuál es mejor?

Estoy usando Appcelerator Titanium durante 4 años. La capacidad multiplataforma, el hecho de que es de código abierto y de uso gratuito son las principales ventajas.

El hecho de que sea de código abierto para mí es el ganador. Nunca dependes de errores en la plataforma. Siempre hay una manera de arreglarlo.

El segundo argumento es que Appcelerator respeta la plataforma UX específica.

Proporciona un marco MVC muy bien diseñado llamado Alloy.

La comunidad es muy activa.

En mi opinión, las aplicaciones móviles integradas HTML5 nunca han cumplido la promesa. Respeta la plataforma específica UX.

Nunca he probado Xamarin pero escuché buenas historias al respecto.

Si ahora está poniendo recursos en el avance de aplicaciones web, Cordova es una forma increíble de aplicaciones móviles. En cualquier caso, en el caso de que esté organizando recreaciones gráficamente extremas o en curso, los desarrolladores de Apache Cordova demostrarán una mala decisión. Cordova es mucho más lento que el local para tales empresas. El modelo cordobés de una aplicación web que se ejecuta en un WebView que utiliza complementos para acceder a las API nativas también es propenso a la fragmentación del navegador, ya que los dispositivos más antiguos ya no actualizan los WebView incorporados y los diferentes dispositivos tienen diferentes peculiaridades.

Ventaja de cordova

1. Muchas opciones de biblioteca para casi todo lo que puedas desear

2. Más fácil de crear gráficos vectoriales para diseñar especificaciones

3.Muy bien, es más fácil hacer que las cosas sean exactamente como el diseño (excepto si le importa la compatibilidad entre navegadores.

4. Las aplicaciones que utilizan gráficos avanzados a los que solo se puede acceder mediante bibliotecas de terceros se realizan mejor de forma nativa.

Xamarin creo que es lo mejor para ti. He creado aplicaciones móviles con Xamarin y es genial. También una vez desarrollé aplicaciones móviles usando PhoneGap pero me decepcionó.

Xamarin tiene más ventajas que apache cordova.
– Es más confiable.
– Rendimiento más rápido que Apache Cordova.
– Puede crear una interfaz de usuario nativa en una plataforma móvil específica.

Además, si eres una startup, puedes obtener un descuento por sus precios 🙂

Debería preguntarte qué vas a hacer …

Y debería preguntarse cuál es la herramienta adecuada para un proyecto específico …

Pongamos tu pregunta en una perspectiva completamente diferente. Digamos que estaría preguntando “¿Cuál es la mejor herramienta para construir, martillo, destornillador u otra cosa” …

Luego, en la descripción, diría que es un grupo de personas, todas con 2 manos y cada mano tiene 5 dedos, de los cuales uno es un pulgar.

Podríamos concluir rápidamente que puedes agarrar algo que tiene un mango diseñado para alguien que tiene una mano.

Algunos de nosotros podríamos decirle que use un martillo, algunos juran por el nombre del hacha y algunos dicen que la sierra es el mejor camino a seguir.

Pero cuánto usarías para las respuestas. Quiero decir que ninguno de nosotros sabe qué vas a hacer con las herramientas con las que pides consejos.

Las herramientas no están hechas para las personas, las personas están hechas para aprender a usar herramientas. Es solo una bs de marketing que dice “esta es la herramienta adecuada para usted”, pero en realidad. Los verdaderos profesionales se concentran en la tarea en cuestión.

Es por eso que los contratamos para construir nuestras casas en lugar de andar preguntando en la web “qué herramienta es mejor” sin revelar realmente “con qué propósito”.

Depende de la fuerza de su equipo y su dirección.

Si tu equipo es .net, deberías estar en Xamarin. Si tu equipo es web, deberías estar en Cordova. Parece que tu equipo es .net, por lo que Xamarin es donde deberías estar.

Un segundo problema es qué tipo de aplicaciones quieres. Los usuarios quieren aplicaciones que se vean, huelan y sepan como las otras aplicaciones en su sistema. Es difícil / (tal vez imposible) obtener aplicaciones nativas de aspecto y rendimiento con Cordova. Xamarin produce aplicaciones nativas. Estas aplicaciones se ven, huelen y saben igual que otras aplicaciones nativas porque lo son. Esto es lo que los usuarios quieren y este problema es en realidad más importante que las fortalezas de su equipo.

¡Buena suerte con tu trabajo móvil!