Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desarrollo móvil cross-platform VS nativo

Avatar for Jaimefere Jaimefere
November 23, 2019

Desarrollo móvil cross-platform VS nativo

Desarrollo móvil cross-platform VS nativo
Mi experiencia desarrollando solo en nativo
Contaré por qué no me he apartado nunca del desarrollo nativo desde que empecé a programar para dispositivos móviles allá por 2011. Y las ventajas y desventajas que he encontrado con ello.

Análisis de soluciones cross-platform
Repasaré los frameworks más comunes que he ido conociendo en esos años (Appcelerator, PhoneGap, Unity 3D, Ionic, Xamarin, React Native, Flutter...) y las experiencias personales que he tenido con ellos. Hablaré del lenguaje de programación que utilizan, su curva de aprendizaje, envergadura de su soporte y comunidad, si son webapps o generan views nativos, sus estadísticas de uso en las plataformas de versión de código y de publicación en las stores y lo demandados que son actualmente en ofertas de empleo.

iOS y Android a día de hoy
Enumeraré una serie de condicionantes que son intrínsecos a las plataformas Android e iOS y hay que configurar siempre independientemente de la herramienta de desarrollo utilizada. Contaré los inicios con Objective-C y Java y el paso a Swift y a Kotlin en iOS y Android respectivamente. Terminaré mostrando similitudes entre Swift y Kotlin y arquitecturas y patrones de presentación que pueden ser utilizados en las dos plataformas nativas y reducen el código implementado específicamente para cada plataforma aunque sean implementaciones nativas de cada una.

Avatar for Jaimefere

Jaimefere

November 23, 2019
Tweet

Other Decks in Programming

Transcript

  1. @jaimefere NATIVO Funcionamiento ·Máximo rendimiento ·Todas las funcionalidades ·Revisión tiendas

    ·SDKs de terceros ·Hello world! 0.5MB Lenguajes iOS: Objective-C y Swift Android: Java y Kotlin Comunidad y soporte ·Las más grandes ·Apple y Google 7
  2. @jaimefere IONIC (HÍBRIDA) Funcionamiento ·WebView ·Acceso a funciones nativas mediante

    Cordova Lenguajes HTML, CSS y Javascript Angular, React, Vue (ßeta) Comunidad y soporte ★ Github: 40k ❓StackOverflow: 41k Google Play: 0.3% Top apps ·Mi Orange (España) ·EA SPORTS™ FIFA 20 Companion 8 Alternativas ·Framework7 ·Quasar
  3. @jaimefere XAMARIN (CROSS-PLATFORM) Funcionamiento ·XamarinAndroid ·XamariniOS ·Xamarin.Forms ·Rendimiento VS reusabilidad

    de código ·Partes en nativo ·Hello world! 18MB Lenguajes C# y XAML Ecosistema .NET Comunidad y soporte ★ Github: 14k ❓StackOverflow: 37k Google Play: 0.22% Microsoft Top apps Suite Microsoft 9
  4. @jaimefere REACT NATIVE (CROSS_PLATFORM) Funcionamiento ·Motor Javascript ·Puente para paso

    a nativo ·Bajo rendimiento mucho uso de GPU ·Algunas partes en nativo ·Hello world! 7MB Lenguajes React, CSS Comunidad y soporte ★ Github: 83k ❓StackOverflow: 62k Google Play: 4.13% Facebook Top apps ·Instagram ·Netflix ·TikTok ·Amazon Alexa ·Viber 10
  5. @jaimefere NATIVESCRIPT (CROSS_PLATFORM) Funcionamiento ·Similar a React Lenguajes HTML, CSS

    y Javascript Angular, Vue, Typescript Comunidad y soporte ★ Github: 18k ❓StackOverflow: 5.8k Telerik Top apps Triodos Bank 11
  6. @jaimefere FLUTTER (Cross-Platform) Funcionamiento · Motor de renderizado propio con

    librería Skia · Hot reload · Widgets · UI programada · IDEs: Android Studio, XCode y Visual Studio Code · 60/120 fps · Open source Lenguajes Dart (tipado) Comunidad y soporte ★ Github: 79k ❓StackOverflow: 28k Google Play: 0.05% Google Top apps Google Adwords Realtor.com (inmobiliaria) Tencent (Alibaba) 12
  7. @jaimefere ASPECTOS A TENER EN CUENTA Funcionalidad ·Funciones intrínsecas del

    dispositivo ·Librerías de terceros ·Últimas funcionalidades de las plataformas Equipo ·Cualidades técnicas ·Curvas de aprendizaje ·Reciclable desde web Time to market ·Híbrido/C-P < nativo ·Alto → cambios equipo ·Bajo ≠ nativo Presupuesto ·Alto → cambios equipo ·Bajo ≠ nativo Plataformas ·Una plataforma → nativo Reusabilidad ·Porcentajes de código ·Despliegue ·Nuevas versiones SSOO y modelos de dispositivos 18
  8. @jaimefere ENLACES DE INTERÉS ·AppBrain: https://www.appbrain.com/stats/libraries/tag/app-framework/android-app -frameworks ·Google Trends: https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F0gt

    v959,%2Fg%2F1q6l_n0n0,React%20Native,%2Fg%2F11f03_rzbg,%2Fg%2F11bzxymp x6 ·Encuestas Stackoverflow: https://insights.stackoverflow.com/survey/ ·Tamaño ejecutables: https://www.codementor.io/kishan0/why-react-native-is-best-for-creatin g-hybrid-app-react-native-vs-flutter-vs-xamarin-vs-ionic-vs-cordova-np qdjgcyo 19