¿Sigue habiendo una brecha de rendimiento significativa entre las aplicaciones híbridas y las nativas?

Sí hay. Por híbrido, supongo que te refieres a agrupar tu JavaScript y / o HTML y CSS en un WebView usando una de las bibliotecas disponibles, como Cordova.

Sin embargo, si esta diferencia es notable o no (y cuánto) depende de algunos factores. Déjame ver si puedo hablarte a través de eso. Permítanme decir también que en cuanto al rendimiento, la diferencia es más notable cuando se desarrolla para Android que para iOS (si usa WKWebview).

Aquí es donde creo que va a la zaga:

Animando varios elementos simultáneamente:

Las transiciones de estado complejas, como una diapositiva de página con animaciones CSS para más de un elemento, a menudo caen por debajo de los 60 fps deseados. En Android, debes ser extremadamente cuidadoso y, de preferencia, solo animar una cosa a la vez.

El manejo del teclado de software en iOS requiere mucho trabajo en comparación con el nativo.

La mayoría de las aplicaciones implican alguna forma de permitir la entrada del usuario. Al igual que en Safari, los dispositivos iOS desplazarán la ventana gráfica para que los elementos de entrada sean visibles sin respetar el desplazador actual o la jerarquía de elementos. La mayoría de las aplicaciones deben y deben seguir las Pautas de diseño de Apple y, debido a eso, probablemente tengan una barra de navegación fija en la parte superior y quizás una barra de pestañas para las aplicaciones con pestañas en la parte inferior. Esto terminará en alteraciones de diseño que no solicitó y de las que nunca tendrá que preocuparse cuando desarrolle para nativo.

Los trucos para solucionar este problema tampoco son bonitos, ya que a menudo requieren que escuche los eventos de enfoque y desenfoque y que mezcle cosas como el desbordamiento y el posicionamiento en el elemento contenedor para escapar del problema de poder desplazar la ventana gráfica. Otro truco es llamar a window.scrollTo en foco para desplazarse hacia arriba o para transformar el elemento de entrada en la página al inicio táctil y luego retroceder rápidamente nuevamente. No es lindo.

La posición del cursor no se volverá a representar cuando la entrada que contiene se transforma o se desplaza y estará encima de todos los demás elementos sin importar su índice z. Son las pequeñas cosas como esa las que marcan la diferencia notable.

Otras cosas incluyen no poder hacer cosas como el teclado negro, cambiar el contenido del botón “Ir / regresar” o cambiar el tipo de teclado a uno de los proporcionados para el desarrollo nativo (por ejemplo, el teclado de Twitter).

Me temo que podría continuar con respecto a la visualización / ocultación del teclado y las compensaciones que tiene que hacer aquí. En mi opinión, ese es el mayor defecto del desarrollo híbrido.

No puede usar componentes de IU nativos:

Otra cosa que aprenderá es que necesitará reconstruir muchos elementos de la interfaz de usuario que son comunes para cada plataforma. Puede usar algunas de las bibliotecas de UI existentes y ver si encajan en su entorno. Aquellos que son nativos de la plataforma simplemente “se sienten” bien, y aunque puede acercarse mucho con algunos componentes personalizados, hay cosas como el navegador de iOS que es extremadamente difícil de corregir debido a las muchas animaciones.

Existen peculiaridades y limitaciones específicas del dispositivo:

Algunas cosas simplemente no serán posibles como sabes de otras aplicaciones. Por ejemplo, la reproducción de video en línea no funciona en WKWebView en iOS y no hay forma de alternar el estado silenciado durante la reproducción mediante programación.

Habrá errores que están fuera de su control :

La mayoría de las cosas serán tu culpa. Sin embargo, a veces suceden cosas extrañas en el puente entre Objective-C y JS. A veces, esto produce errores que son realmente difíciles de depurar.

Notas de cierre:

Permítanme decir que, de hecho, puede obtener excelentes resultados como desarrollador híbrido. Si eres excelente en el desarrollo web móvil, el resultado probablemente será mucho mejor que si comienzas tratando de aprender Swift y / o Java y comienzas a desarrollar aplicaciones nativas. Pero tenga en cuenta que si profundiza lo suficiente, lo más probable es que tropiece con caprichos. Si sus usuarios se preocupan o no es una pregunta diferente. Siempre pienso que a los usuarios les importa. Debería sentirse bien. Hay una razón por la cual instalan nuestras aplicaciones localmente en sus dispositivos después de todo. Esperan una mejor experiencia que cuando navegan por nuestras aplicaciones web en su navegador móvil.

¿Qué es una aplicación híbrida?

Una aplicación híbrida es un programa que se crea utilizando HTML 5, CSS y JavaScript y se envuelve en un contenedor nativo. El contenedor nativo carga la información máxima en la página tan pronto como el usuario navega por la aplicación. Hay muchos marcos web nativos disponibles, que pueden ayudarlo a crear una aplicación híbrida.

Las características principales de una aplicación híbrida típica son:

  • Desarrollo de aplicaciones más rápido
  • Simple y fácil de mantener.
  • IU multiplataforma
  • Integrar con el sistema de archivos del dispositivo
  • Desarrollo de aplicaciones menos costoso y mantenimiento rentable
  • Gestión de código único para múltiples plataformas móviles.

¿Qué es la aplicación nativa?

Una aplicación nativa es un programa que ha sido codificado en un lenguaje de programación específico, para dispositivos que tienen un sistema operativo específico. Por ejemplo, Objective C se usa para iOS o Java para teléfonos Android. Estas aplicaciones pueden aprovechar las características del sistema operativo y otras herramientas de software que están instaladas en esa plataforma. También tienen acceso a varias funciones del teléfono, como cámara, galería, lista de contactos, etc. La mayoría de las aplicaciones nativas se compilan en código máquina. Estas disposiciones ayudan a que las aplicaciones nativas funcionen mejor en un dispositivo móvil.

El desarrollo nativo es fácil y hay innumerables recursos disponibles, pero puede que no sea comprensible para todos. Como el código debe escribirse específicamente para cada plataforma, debe reescribirse para cada una. Solo la lógica sigue siendo la misma, pero el lenguaje, las API y el proceso de desarrollo pueden ser diferentes. A veces, este proceso se vuelve bastante largo para aplicaciones complejas.

Las características principales de una aplicación nativa son:

  • Alto grado de fiabilidad
  • Rendimiento simple pero rápido y mejor experiencia de usuario
  • Admite transacciones en línea y fuera de línea
  • Las características nativas se pueden aprovechar mejor

Dado que estas aplicaciones se pueden construir solo para un sistema operativo particular, se requiere que una compañía u organización haga versiones duplicadas de la aplicación, para que pueda funcionar en varias otras plataformas. Por ejemplo, los videojuegos para dispositivos móviles son en su mayoría aplicaciones móviles nativas.

Una comparación justa: aplicación nativa híbrida v / s

Costo y tiempo de desarrollo
Las aplicaciones híbridas tardan menos tiempo en desarrollarse y se desarrollan a un precio bastante más barato en comparación con la aplicación nativa. Crear una aplicación híbrida significa mantener solo un código, mientras que con el código nativo se necesita un desarrollador de aplicaciones para cada plataforma. Pero esto no significa que las aplicaciones nativas sean malas porque tienen sus propias ventajas.

Experiencia de usuario
Las aplicaciones nativas brindan la mejor experiencia de usuario porque están específicamente diseñadas para una sola tienda de aplicaciones, con la cual se pueden obtener las mejores aplicaciones compatibles. Se cuida el tamaño de la pantalla y, por lo tanto, las capacidades del hardware. Con las aplicaciones híbridas es imposible proporcionar una buena experiencia con solo 1 código de aplicación para todas las plataformas.

Aplicación de pago o gratuita
Dado que las aplicaciones nativas tienen la mejor interfaz de usuario, por lo tanto, se recomienda que las aplicaciones pagas se desarrollen como aplicaciones nativas, mientras que las aplicaciones gratuitas se pueden desarrollar como aplicaciones híbridas.

Es simplemente una opinión:

Las aplicaciones nativas e híbridas tienen sus propios pros y contras, como ya hemos discutido en la publicación. La decisión sobre la elección de la aplicación depende en gran medida de los requisitos de la organización. Después de prestar atención a las opciones de requisitos, es aconsejable trabajar con los desarrolladores de la aplicación, quienes darán vida a sus ideas de manera eficiente.

Es mejor externalizar el desarrollo de la aplicación en lugar de tener una configuración interna permanente. Además, trabajar con un equipo de outsourcing podría hacer que el desarrollo de su aplicación móvil se sienta como un tránsito natural. En Multidots, podemos ayudarlo a elegir la aplicación adecuada para su idea.

Además, consulte los pros y los contras de la plataforma nativa e híbrida para su aplicación móvil. Echar un vistazo

Si está en la industria de TI, se habría encontrado con esta pregunta con más frecuencia. Los emprendedores no técnicos se vuelven locos al decidir si adoptar un enfoque híbrido o nativo para sus próximas ideas de inicio de un millón de dólares.

Además de decidir si desarrollar MVP primero o la aplicación en sí misma, la curiosidad y la confusión de optar por la tecnología híbrida o nativa, atormenta mucho a los empresarios. Si usted es uno de esos, este artículo puede ayudarlo a decidir su enfoque en aproximadamente un minuto.

Antes de continuar, permíteme darte un breve resumen sobre la aplicación híbrida y nativa: –

Aplicación Híbrida:

Las aplicaciones híbridas se desarrollan usando HTML, CSS y Javascript, y luego se envuelven en una aplicación nativa usando plataformas como Cordova o cualquier otra plataforma similar. Se puede implementar fácilmente en múltiples plataformas. El desarrollo de la aplicación es más rápido, más simple, más rápido y más fácil de mantener.

Aplicación nativa:

Cada plataforma móvil ofrece a los desarrolladores sus propias herramientas de desarrollo, elementos de interfaz y SDK estandarizado. Lo que distingue a las aplicaciones nativas de las alternativas mencionadas es que están diseñadas y codificadas para un tipo específico de dispositivo. Por ejemplo, las aplicaciones de iPhone están escritas en Objective-C, aplicaciones de Android en Java, etc.

Para decidir rápidamente si debe adaptar un enfoque híbrido o un enfoque nativo, revise a continuación los 4 criterios importantes compartidos y elija cualquiera de ellos como su prioridad que más le interese, y luego habrá terminado.

1. Presupuesto

Si tiene fondos suficientes para poder pagar a varios desarrolladores por la misma aplicación que se codifica utilizando el SDK nativo de los dispositivos respectivos, opte por el desarrollo de aplicaciones nativas, de lo contrario, su opción debería ser Híbrido.

2. Características nativas

Hay muchas características nativas, es decir, cámara, contactos, SMS, botones de dispositivos de hardware, etc., a las que puede tener acceso o no si elige que su aplicación se desarrolle utilizando tecnología híbrida, dependiendo del marco que adopte para desarrollar. Si su aplicación es muy completa y depende de la capacidad del teléfono nativo, entonces el desarrollo de la aplicación nativa funcionará mejor.

3. Cronología

¿Qué tan rápido desea que su aplicación se active en la tienda de aplicaciones? Hay una competencia de corte de garganta en el mercado. Las mismas ideas están siendo presentadas por más de un solo emprendedor. Cada mercado tiene un ciclo de vida y, por lo tanto, cada oportunidad tiene un período de tiempo limitado antes de que expire. Para tales aplicaciones, es muy importante presentar su aplicación a su cliente objetivo lo más rápido posible. Si este es el caso con su aplicación, busque la aplicación híbrida, hágalo viral y una vez que comience a generar ingresos, comience a trabajar en el desarrollo de aplicaciones nativas.

4. Experiencia del usuario

Si está desarrollando una aplicación que requiere una experiencia de usuario innovadora, no piense mucho y opte por el desarrollo de aplicaciones nativas. La aplicación híbrida nunca puede igualar el nivel de experiencia creativa del usuario que obtienes en las aplicaciones nativas.

¡Ya ves, ahora qué tan rápido puedes decidir si optas por la aplicación híbrida o la aplicación nativa! Personalmente, siempre sugeriré optar por el desarrollo de aplicaciones nativas a menos que tenga un presupuesto o una restricción de tiempo.

“LETS NURTURE” es una empresa de TI amigable para las startups, que pide menos inversión y produce productos de mayor calidad. Si usted es una persona con una idea única que supuestamente sirve a un nicho de mercado, y si comprende el “por qué”, entonces podemos identificar el conjunto más básico de características que su producto necesita para satisfacer el objetivo. Deja tu idea aquí.

Depende.

Como cualquier proyecto, primero debe determinar el propósito. Si se trata de una aplicación de geolocalización , es mejor desarrollar una aplicación nativa. Si planea recopilar estadísticas sobre los usuarios de la aplicación , entonces, también es mejor elegir una solución nativa .

Pero algunas aplicaciones pueden volverse híbridas y sentirse bien. ¿Cuáles son las ventajas?

– son más funcionales y más baratos en desarrollo

– pueden desarrollarse combinando varios lenguajes y tecnologías (CSS, JavaScript, HTML5, etc.)

– Una buena forma de desarrollar juegos móviles.

En resumen, los híbridos son buenos con el equipo apropiado. Aquí hay dos artículos para que profundice en el desarrollo multiplataforma y use Xamarin en particular Xamarin para el desarrollo de aplicaciones móviles y una descripción general de las principales trampas de los híbridos 7 Razones por las que Xamarin puede ser un problema

Depende de lo que quieras codificar y la cantidad de funciones

si desea codificar una aplicación de procesamiento de imágenes, por supuesto, se verá obligado a no usar Java nativo sino el NDK (c, c ++)

cuando su aplicación realice muchas transacciones y solicite, se verá obligado a usar java (o ndk) y, opcionalmente, usar bibliotecas

en la lógica para demostrar que una afirmación es falsa, solo da un ejemplo de contre

depende de lo que estés desarrollando.
Si es simplemente una forma con 5-6 campos, entonces no hay diferencia de rendimiento.
pero como híbrido se ejecuta en un solo hilo que también es todo sincrónico. Entonces, si está haciendo demasiado trabajo allí, entonces definitivamente verá una diferencia de rendimiento. Si lo prueba en teléfonos Android de gama baja, verá la diferencia con seguridad.

Entonces, para decidir que tiene los tipos de teléfonos de la audiencia, lo que desea desarrollar en la capa híbrida. e intente convertir los datos en datos de manera que sea fácil.

Elimine todas sus dudas, consulte los pros y los contras de la plataforma nativa e híbrida para su aplicación móvil. Echar un vistazo

More Interesting

¿Es más difícil desarrollar una aplicación web que una aplicación móvil comparable o al revés?

¿Cuáles son las mejores aplicaciones de diario de video social?

¿Cuál crees que tiene las futuras aplicaciones híbridas, web o nativas más brillantes?

¿Cuál es la diferencia entre una aplicación nativa y una aplicación web móvil?

Si está desarrollando un mercado en línea con características bastante simples, ¿comenzaría con una aplicación web o una aplicación móvil?

¿Qué es mejor, desarrollo de aplicaciones móviles o desarrollo web?

¿Cuál es la forma más rápida de armar una aplicación web CRUD (Crear / Leer / Actualizar / Eliminar) con un back-end DB?

¿Cuál tiene mejor potencial entre el desarrollo web y móvil?

¿Cuál es la mayor fuente de ingresos para las aplicaciones gratuitas?

Flujo de trabajo: ¿Qué trucos y aplicaciones estás usando para hacer tu vida más fácil (especialmente en lo que respecta a los negocios)?

¿Es posible ralentizar la música (pero no bajar el tono) con alguna aplicación o servicio web común o gratuito?

¿Cuál es la forma estándar de autenticar usuarios en aplicaciones web? ¿Existen marcos que hagan esto por usted?

Si quiero crear solo una aplicación de software o aplicación web o aplicación móvil, solo una aplicación y ganarme la vida vendiéndola, ¿qué haría esa aplicación?

Desde que se lanzó Flipkart lite, no he usado su aplicación nativa para comprar. ¿Es este el nuevo comienzo de Progressive Web Apps?

¿Cuáles son algunas de las mejores prácticas para incorporar inmigrantes digitales a una aplicación web o móvil?