¿Es el desarrollo híbrido de Xamarin?

Como alguien más señaló … el término de desarrollo híbrido no es realmente adecuado.

Hay diferencias fundamentales en cómo funcionan Cordova vs Xamarin.

Cordova es básicamente un contenedor de API nativo alrededor de la pila HTML / CSS / JS. Lo que significa que puede crear un sitio web normal con html, css, js … y simplemente empaquetarlo con cordova como aplicación nativa e implementarlo en tiendas de aplicaciones.

Cordova es ese contenedor y le permite acceder a ciertas API de hardware desde SDK nativos como el mínimo común denominador (leer ubicación geográfica, vibración, cámara, etc.) a través de bibliotecas Javascript … así que la forma en que funciona es que simplemente cree su HTML / CSS / JS sitio web / webapp y luego use Javascript para conectarse a algunas API de hardware nativas que en su mayor parte no se pueden hacer desde el navegador.

Las aplicaciones empaquetadas con Cordova no son realmente aplicaciones nativas verdaderas. Son simplemente una vista web envuelta que tiene enlaces en las API de hardware del dispositivo. Entonces, todos los problemas con el rendimiento, los problemas de representación del navegador en todas las plataformas aún persisten.

Cuando se trata de Xamarin, es probablemente el mejor marco y entorno de desarrollo de aplicaciones nativas multiplataforma (se basa en el popular marco Mono). La forma en que trabaja Xamarin es muy diferente a la de Córdoba. Xamarin compila el código en código binario nativo real, lo que significa que es una verdadera aplicación nativa. Xamarin también trabaja directamente con los últimos SDK de la plataforma para la que está desarrollando y utiliza algunas de las API específicas que son exclusivas de iOS o Android, etc., además de las API que son comunes para todas las plataformas. Esto es importante porque con Cordova / PhoneGap tienes que esperar a que se agreguen algunas nuevas API sexy (si es que lo hacen) mientras Xamarin trabaja con los últimos SDK y API que te permiten estar siempre a la vanguardia. Xamarin también usa el lenguaje de programación C #, que en realidad es un lenguaje de programación realmente sólido y muy similar a Java, pero con algunas de las mejores cosas tomadas de otros lenguajes también.

Cuando compila una aplicación Xamarin, debe compilarla en una plataforma nativa porque Xamarin produce una aplicación nativa verdadera (SDK nativos y todo). Xamarin también trabaja con controles de interfaz de usuario nativos (algo muy grande) a diferencia de Cordova, donde básicamente está creando / imitando controles de interfaz de usuario nativos (nunca es una buena idea).

En general, si desea aprender buenos marcos de desarrollo multiplataforma, Xamarin es probablemente uno de los mejores. Se han creado muchas aplicaciones grandes y funcionan bien (especialmente Rdio y otras), por lo que está comprobado en el campo. Xamarin ofrece rendimiento e integración de UI nativa junto con API / SDK nativas que le permiten usar siempre lo último y lo mejor en esas plataformas específicas, mientras que las partes generales de su código todavía tienen una lógica que se aplica en todas las plataformas.

Mi consejo, si está preguntando si debe examinar Cordova o Xamarin o no, es que no debe perder el tiempo con Cordova … simplemente vaya directamente a Xamarin / C #.

Yo (nosotros) escuchamos mucho eso. Incluso de algunas empresas de consultoría.

Y esto es completamente incorrecto y no es cierto.

Xamarin es nativo. Ídem.

Si quiere ser exigente, necesitamos la definición de “nativo”. ¿Trabajar con Java y Android SDK es más nativo que trabajar con c / c ++ y Android NDK?
En el desarrollo móvil, la natividad se definiría como el ecosistema que el proveedor (Apple o Google) elige para desarrollar aplicaciones para sus sistemas operativos.

Android es linux + java SDK, por lo que java usa JNI para llamar a las API de linux c / c ++ y así es exactamente como funciona Xamarin, pero no se llama JNI, sino PInvoke: invocación de plataforma, una tecnología .net (CLR. CLI) que permite llamando a API nativas (en este sentido, c / c ++) desde c #. Con modificaciones, este sistema se extiende para permitir llamar a Java y Objective-C, además de algunas cosas adicionales como: exponer / registrar objetos .net / mono en el sistema operativo para que el sistema operativo pueda llamarlos y así implementar devoluciones de llamada.

La tecnología de Xamarin es muy compleja y supongo que para algunas personas es más fácil decir que es híbrida, en lugar de intentar entenderla.

Otra fuente de confusión podría ser que con Xamarin incluso podría crear una aplicación híbrida como se muestra en los siguientes enlaces:
https://blog.xamarin.com/build-h
https://docs.xamarin.com/guides/
https://github.com/xamarin/Porta
http://blog.falafel.com/hybrid-a

Pero esos son solo ejemplos de cómo hacer una aplicación HTML / JS / CSS con Razor Extensions de Microsoft, mostrando las fortalezas de la plataforma Xamarin, no es que sea híbrida.

Aquí hay algunos puntos de referencia que muestran que xamarin es tecnología nativa:
https://medium.com/@harrycheung/
https://medium.com/@harrycheung/

Muchas veces, los clientes hacen una copia de seguridad de obtener una aplicación debido a gastos y obstáculos para reunir ingredientes como desarrolladores, diseñadores, analistas y estrategas de marca para lograr un objetivo común. Hay idiomas y tecnologías disponibles para que cada plataforma domine las mismas funcionalidades en todos los dispositivos. Xamarin ofrece soporte sofisticado multiplataforma para las tres principales plataformas móviles de iOS, Android y Windows Phone. Esto puede reducir significativamente los costos de desarrollo y el tiempo de comercialización para los desarrolladores móviles que se dirigen a las tres plataformas móviles más populares.

Xamarin tiene tres productos:

Xamarin.iOS – escribe aplicaciones iOS usando C #

Xamarin.Android: escribe aplicaciones de Android usando C #

Xamarin.Mac: escriba aplicaciones de escritorio de Mac con C #

Las aplicaciones de Xamarin están escritas en C #, un lenguaje moderno que incluye mejoras significativas sobre Objective-C y Java, como características de lenguaje dinámico, construcciones funcionales como Lambdas, LINQ, características de programación paralela, genéricos sofisticados y más. A diferencia de las aplicaciones móviles híbridas, se crean con una combinación de tecnologías web como HTML, CSS y JavaScript.

¿Su próximo proyecto de aplicación móvil requeriría el desarrollo de aplicaciones nativas o híbridas? Obtenga esta confusión a kilómetros de distancia mientras BrainMobi ayuda a los empresarios en ciernes con aplicaciones tentadoras.

Leer más: Silicon India presentó a BrainMobi como el mejor desarrollador de aplicaciones móviles 2016

Para obtener más información, visite: BrainMobi – Creación de soluciones móviles de próxima generación

Deja caer una pista: [correo electrónico protegido]

Síguenos: Twitter, LinkedIn, Facebook

Xamarin se puede considerar como una plataforma de desarrollo de aplicaciones nativas e híbridas, ya que construye el desarrollo nativo de Android, iOS y Windows en C #, con Visual Studio o Xamarin Studio, mientras que también ayuda a crear aplicaciones híbridas para múltiples sistemas operativos que comparten código base C #, IDE, idioma y API.

Xamarin es una plataforma de código abierto optimizada para desarrollar aplicaciones nativas de Android, iOS y Windows. Proporciona una gama variada de interfaz de usuario nativa, acceso a la API y un mejor rendimiento.

Xamarin está integrado con control de interfaz de usuario nativo. Proporciona un sistema de hardware específico de la plataforma para componer el rendimiento nativo. También proporciona todo tipo de funcionalidades específicas de plataforma y dispositivo.

Es fácil de usar y fácil de entender, ya que permite a los desarrolladores compartir proyectos que incluyen compartir códigos, imágenes y medios en todas las plataformas cruzadas. Se compone de un back-end integrado que agrega seguridad poderosa como la autenticación y el cifrado.

Para obtener más información, puede visitar: http://www.windzoon.com .

En una palabra: NO.

La asociación de Xamarin con el desarrollo híbrido es el mayor error sobre el desarrollo de aplicaciones móviles con Xamarin.

Xamarin le permite crear aplicaciones NATIVE que se ejecutan en Android, IOS, Windows y Mac.

No.

Xamarin, es un desarrollo totalmente nativo.

Consiste en todas las API nativas y funcionan de forma nativa, todos los controles de la interfaz de usuario en Xamarin son nativos. Cuando se compila la aplicación Xamarin, se convierte en código de máquina nativo.

Las aplicaciones híbridas funcionan en todas las plataformas y se comportan como una contraparte nativa. Para crear tales aplicaciones en una plataforma de renombre como los desarrolladores de Xamarin, apunta a Mac, Windows, Android e iOS con una base de código C # compartida. Con la ayuda de la plataforma Xamarin, los desarrolladores usan las mismas estructuras de datos, API e idiomas para diferentes plataformas. Las aplicaciones completas se escriben en C # y el código se comparte entre plataformas. C # cubre todas las características de Java, Swift y Objective C. Por lo tanto, puede crear aplicaciones nativas similares en C # con compatibilidad multiplataforma. Además, lo que ayuda a Xamarin a hacerlo es una interfaz de usuario nativa estándar, así como una API nativa.

No hay término como desarrollo híbrido hasta donde yo sé. El término correcto es Desarrollo multiplataforma y ambos pueden usarse para eso.