Cómo crear una aplicación

Cómo crear una aplicación conceptos básicos

Cómo crear una aplicación

Hay varias formas de crear una aplicación móvil. ¿Cómo crear una aplicación? Depende. ¿Con qué tecnologías tienes experiencia? ¿A qué plataformas te diriges? ¿Cuánto tiempo quieres dedicar a construir tu aplicación?

Después de la presentación del iPhone y su kit de desarrollo de software, el espacio móvil pasó por una revolución. Hoy en día, hay millones de aplicaciones móviles, innumerables plataformas y docenas de marcos y herramientas para crear aplicaciones móviles.

¿Cómo decides lo que es correcto para ti? Responder a esa pregunta es el enfoque de este artículo. Discuto los tipos de aplicaciones móviles que se encuentran en la naturaleza, las ventajas de las aplicaciones nativas e híbridas, y enumero algunas de las plataformas más populares.

Las aplicaciones móviles se pueden dividir en tres amplias categorías:

  • aplicaciones web
  • aplicaciones híbridas
  • aplicaciones nativas

Cada uno de estos tipos tiene sus pros y sus contras. Si me preguntara qué tipo se ajusta mejor a sus necesidades, entonces mi respuesta sería que realmente depende exactamente de lo que está tratando de hacer. Para justificar mi respuesta, primero debo informarle sobre cada tipo de aplicación. Comencemos con las aplicaciones web.

Es posible que ya esté familiarizado con las aplicaciones web. A diferencia de otras aplicaciones, una aplicación web no es algo que pueda descargar desde alguna parte, simplemente está disponible en cualquier dispositivo que pueda cargar páginas web (o tiene un navegador web). Una aplicación web no es más que un sitio web que actúa y se comporta como una aplicación. Antes de la introducción del  iOS SDK , por ejemplo, las aplicaciones web eran la única opción para los desarrolladores que querían crear aplicaciones para el iPhone original.

Las aplicaciones web tienen una serie de ventajas distintas, la más importante es el tiempo de desarrollo. Debido a que una aplicación web es un sitio web, está construida una vez y es accesible en cada plataforma que ejecuta un navegador web. Para algunas compañías, esta es una solución muy atractiva ya que el desarrollo nativo, que discutimos en un momento, puede ser costoso y consumir mucho tiempo. Se podría decir que las aplicaciones web son, por definición, multiplataforma.

Otra ventaja importante es la curva de aprendizaje para desarrollar aplicaciones web. Para desarrollar una aplicación web, confía en tecnologías web con las que ya puede tener experiencia, como HTML, CSS y JavaScript. Si lo hace, entonces estará listo y funcionando en poco tiempo sin el uso de ningún SDK de propiedad.

¿Hay algún inconveniente?

Al igual que con cualquier tipo de aplicación, existen algunos inconvenientes en el desarrollo web. Los dos inconvenientes más importantes son el rendimiento y el acceso a las capacidades del dispositivo. Si planea desarrollar un juego, entonces una aplicación web no es su mejor opción. Es posible, pero el rendimiento no será estelar. Los sitios web y las aplicaciones web tienen acceso limitado a las capacidades del dispositivo, como la cámara, los servicios de ubicación, etc. Esto ha mejorado significativamente a lo largo de los años, pero no está a la altura de las aplicaciones nativas.

Si desea limitar los costos de desarrollo y mantenimiento de su aplicación móvil y el rendimiento no es el aspecto más importante, entonces definitivamente vale la pena considerar una aplicación web.

Si quiere saber de qué se tratan las aplicaciones web y cómo comenzar, consulte algunos de nuestros otros contenidos aquí en :

  • REACT
    React Crash Course para principiantes, parte 1
    David Gwyer
  • ANGULAR
    Creando su primera aplicación angular: Conceptos básicos
    Monty Shokeen

Las aplicaciones híbridas fueron y siguen siendo increíblemente populares. Combinan algunas de las mejores cosas de ambos mundos, es decir, web y nativo. Las tecnologías utilizadas para crear aplicaciones híbridas son idénticas a las utilizadas para crear aplicaciones web, HTML, CSS y JavaScript. La razón es obvia si comprende cómo funcionan las aplicaciones híbridas.

Una aplicación híbrida es una aplicación web que se ejecuta en una vista web de una aplicación nativa. Dicho de otra manera, una aplicación híbrida usa una aplicación nativa como contenedor para que parezca una aplicación nativa. Esto significa que, para el usuario, una aplicación híbrida parece y se siente nativa, más o menos . El usuario puede descargarlo desde la tienda móvil de la plataforma y el ícono de la aplicación aparece en su pantalla de inicio.

Alguna desventaja? Debido a que las aplicaciones híbridas se basan en tecnologías web y se ejecutan en una vista web, las aplicaciones híbridas sufren la mayoría de los mismos problemas que las aplicaciones web. El rendimiento no está a la altura de las aplicaciones nativas. Esto está mejorando, sin embargo, cada año el rendimiento mejora cada vez más. Es impresionante cómo el rendimiento de JavaScript ha mejorado durante la última década.

La solución más popular para desarrollar aplicaciones híbridas es  Apache Cordova , Córdoba, para abreviar. Cuando  Adobe  adquirió  PhoneGap  hace unos años, abrieron la mayoría de la base de código y nació Cordova. PhoneGap todavía existe y es el primo comercial de Cordova.

Para acelerar el desarrollo, los desarrolladores a menudo usan Cordova en combinación con otros marcos, como la  IU de Ionic  y  Onsen .

Para obtener más información acerca de las aplicaciones híbridas, le recomendamos que consulte algunos de los tutoriales que hemos publicado sobre Cordova:

  • CÓRDOBA
    Una introducción a Córdoba: conceptos básicos
    Wern Ancheta
  • IÓNIC
    Ionic From Scratch: Primeros pasos con Ionic
    Tinashe Munyaka

Elegir para el desarrollo nativo es elegir rendimiento y confiabilidad. ¿Por qué el desarrollo nativo ahuyenta a tantos desarrolladores? Tomemos la plataforma de iOS como ejemplo. Si desea construir una aplicación iOS nativa, necesita aprender un nuevo lenguaje, Objective-C o Swift. También debe familiarizarse con Xcode, el IDE de Apple (Integrated Development Environment). Una aplicación nativa generalmente toma más tiempo para construir simplemente porque usted está trabajando más cerca del metal, por así decirlo. Objective-C y JavaScript son dos idiomas muy diferentes.

¿Qué obtienes a cambio? El rendimiento es probablemente la ventaja más convincente de las aplicaciones nativas. Las aplicaciones nativas se sienten ágiles y, especialmente para los juegos, pueden aprovechar al máximo los recursos del dispositivo y del sistema operativo. El desarrollador puede acceder a todas las funciones y capacidades del dispositivo expuesto a través de las API del SDK. Esta es otra ventaja clave que tiene el nativo sobre híbrido y web.

Hay una serie de  enfoques híbridos  que hacen que el desarrollo de aplicaciones nativas sea accesible para más desarrolladores. La solución es simple, escriba el código en el idioma de su elección y compílelo en una aplicación nativa. Las soluciones más populares al momento de escribir son  Xamarin  y  React Native .

Xamarin permite a los desarrolladores escribir aplicaciones nativas para iOS, Android y Windows Phone usando C #. Las herramientas de Xamarin aprovechan el   proyecto de código abierto Mono . React Native  tiene sus raíces en Facebook y permite a los desarrolladores escribir aplicaciones nativas usando JavaScript.

Envato Tuts + cubre una amplia gama de plataformas, que incluyen iOS, Android, Xamarin y React Native. Eche un vistazo a estos tutoriales para familiarizarse con ellos:

  • IOS
    iOS From Scratch With Swift: comprensión del ecosistema de iOS
    Bart Jacobs
  • ANDROIDE
    Android From Scratch: una descripción general del desarrollo de aplicaciones de Android
    Ashraff Hathibelagal
  • REACT NATIVE
    Comience con React Native
    Markus Mühlberger
  • REACT NATIVE
    Crear una aplicación de diccionario usando React Native para Android
    Ashraff Hathibelagal

¿Cuál es la mejor solución? ¿Nativo? O híbrido? O una aplicación web? No hay una sola respuesta. Depende de varios factores. Si eres un desarrollador, entonces la respuesta es menos complicada. ¿Con qué tecnologías ya estás familiarizado? ¿Desea enfocarse en una plataforma o crear aplicaciones para múltiples plataformas?

Se está convirtiendo en un verdadero desafío mantenerse al tanto de iOS, Android y Windows Phone. Algunos desarrolladores escriben aplicaciones nativas para múltiples plataformas, pero es un desafío y si puedes hacerlo, definitivamente lo recomiendo. El espacio móvil evoluciona a un ritmo rápido, y si elige el desarrollo nativo, ese  debería ser su objetivo, familiarizarse con la plataforma a la que se dirige.

Esta es una de las razones por las que muchos desarrolladores eligen una solución híbrida. Si eres un desarrollador web experimentado, entonces estarás en funcionamiento en muy poco tiempo. Apache Cordova, en combinación con la IU de Ionic u Onsen, puede acelerar el desarrollo de manera significativa.

Las aplicaciones web son sin duda algo a tener en cuenta. Sin embargo, son una categoría diferente. Al crear una aplicación web, no tiene intención de tener una aplicación en ninguna de las tiendas móviles. Muchas compañías eligieron este camino hace varios años. Hoy en día, si el presupuesto y los recursos están disponibles, los enfoques nativos e híbridos son más populares.

Para decidir qué enfoque le gustaría tomar en el desarrollo de su aplicación móvil, hágase estas preguntas. Como mencioné anteriormente, elegir el tipo de

Si es así, nativo es tu mejor opción. Es posible que también desee buscar en  Unreal Engine si planea desarrollar un juego. A diferencia de  Unity , solo le cobran el 5% de los ingresos que genera en lugar de una tarifa mensual.

Cuando hablamos sobre aplicaciones nativas, vimos que pueden utilizar las capacidades del dispositivo, y un buen ejemplo de esto es cómo Apple lleva el rendimiento de los gráficos al siguiente nivel utilizando Metal al brindarles a los desarrolladores acceso casi total a la GPU en el dispositivo.

Si no está familiarizado con el metal, esto es lo que Apple tiene que decir al respecto:

Metal 2 proporciona acceso casi directo a la unidad de procesamiento de gráficos (GPU), lo que le permite maximizar los gráficos y el potencial de cómputo de sus aplicaciones en iOS, macOS y tvOS.

Ahora, si el rendimiento no es importante, puede elegir aplicaciones multiplataforma o híbridas, según sus necesidades, según las siguientes preguntas. De todos modos, sin embargo, si tienes los recursos para construir aplicaciones nativas, esa es siempre la mejor opción en general.

Si no, debes considerar la ruta nativa. Las aplicaciones nativas, como se mencionó anteriormente, son definitivamente la mejor manera de lograr una experiencia de usuario sólida y el mejor rendimiento posible.

Si el soporte multiplataforma es vital y no puede obtener aplicaciones nativas para todas sus plataformas, entonces un enfoque web híbrido nativo o híbrido es su mejor opción.

Eche un vistazo a Xamarin o React Native si el rendimiento y las capacidades del dispositivo son igualmente importantes. Sin embargo, mi favorito personal es  Ionic  porque ofrece una gran cantidad de funcionalidades en el dispositivo y, al mismo tiempo, tiene un paraguas lo suficientemente amplio como para abarcar la mayoría del desarrollo.

¿Es esta tu próxima gran cosa?

Si su objetivo es convertirse en un desarrollador de dispositivos móviles, mi sugerencia sería elegir un enfoque nativo.Esto es muy personal, sin embargo. Soy un desarrollador de iOS y me gusta de esta manera; Creo que Apple está alterando el campo del desarrollo móvil, y te brinda muchas herramientas como desarrollador. Al centrarme en una plataforma, en mi caso, iOS, TVOS, watchOS y macOS, tengo tiempo para familiarizarme mucho con la plataforma. Este es un aspecto importante del desarrollo móvil si desea crear aplicaciones atractivas y una gran experiencia de usuario.

Si tienes experiencia en desarrollo web, entonces native aún es una opción. Sin embargo, si quiere sacar algo rápidamente, una aplicación híbrida o web es la solución más rápida.

Si esperabas una respuesta clara, es posible que te haya decepcionado. Si aún no ha tomado una decisión, entonces sugiero dar algunas de las opciones que enumeré una prueba. Juega con Cordova  o  aprende sobre Swift  y mira cómo te gusta. No tome el camino más fácil o más rápido hacia su objetivo. Asegúrate también de disfrutar el viaje porque es ahí donde está la diversión.

Si ya sabe qué enfoque es el mejor para usted, entonces puede acelerar el desarrollo de su próxima aplicación con algunas de estas plantillas de iOS y Android. Échales un vistazo en Envato Market: