Las aplicaciones móviles se pueden dividir en tres grupos, y el que elija determinará qué lenguaje de programación necesitará aprender: aplicaciones nativas, aplicaciones híbridas y aplicaciones web.
Aplicaciones nativas
Con las aplicaciones nativas, utiliza el lenguaje de programación nativo para ese dispositivo, como Objective-C para dispositivos Apple o Java para dispositivos Android. Lo que codifica para un dispositivo no se puede usar en el otro dispositivo. Sin embargo, su fortaleza es que, con las mejores prácticas de código, obtendrá las aplicaciones más fluidas y rápidas que tienen la apariencia del entorno nativo. Trabajará con diferentes kits de desarrollo de software (SDK) para cada entorno (como Xcode para Apple y Eclipse para Android) para crear el producto final (como un archivo apk para Android). Las aplicaciones de Android se pueden construir en PC y Mac; Las aplicaciones de Apple necesitan una máquina Mac para compilar el producto final que se carga en la App Store. Apple aplica reglas estrictas para que las aplicaciones se adhieran para ingresar a la App Store; Google Play aplica algunas reglas para la forma o el contenido.
Aplicaciones híbridas
Las aplicaciones híbridas usan una combinación de HTML, CSS y Javascript para crear las aplicaciones, luego se empaquetan con un contenedor como PhoneGap, que vincula el código con el dispositivo. Con PhoneGap (u otro software), uno puede usar complementos para acceder a las diversas funciones del teléfono, como la cámara. Las aplicaciones híbridas son generalmente más lentas y no tan fluidas como su contraparte nativa. Aunque puede programar este tipo de aplicación en cualquier computadora, aún necesitará una Mac para compilar el producto iOS final, y aún necesitará el SDK para cada dispositivo para el que cree aplicaciones.
- ¿Hay alguna sala de chat común para desarrolladores de iOS y Android? Lo que ayudará a obtener ayuda rápida en lugar de esperar respuestas en los foros durante días.
- En el desarrollo de iOS, ¿cuál es la jerarquía de vistas?
- ¿Cómo se compara la facilidad de desarrollo de aplicaciones móviles con Appcelerator con el desarrollo nativo?
- Tengo una aplicación en iOS Simulator pero no puedo encontrar los archivos de esa aplicación en mi computadora portátil. ¿Qué debo hacer? La búsqueda de Spotlight no funcionó.
- Quiero que mi iPhone cambie de color cuando lo agite. ¿Cómo implemento esto?
Encontrará sitios web dedicados a la creación de aplicaciones simplemente completando algunos campos, o software de arrastrar y soltar que le permite crear una variedad de aplicaciones diferentes. Pero si serán aceptados en la Apple Store es otro asunto; su naturaleza generalizada generalmente los descalifica.
Aplicaciones web
Las aplicaciones web son simplemente páginas web alojadas en servidores web normales, pero dimensionadas para caber cómodamente en teléfonos inteligentes. Están codificados con cualquier cantidad de tecnologías web, incluyendo PHP / MySQL y otras tecnologías de bases de datos, ya que son sitios web en el fondo. Los teléfonos inteligentes acceden a ellos de la misma manera que cualquier otro sitio web; pero con un poco de codificación adicional, puede proporcionar un icono personalizado que residirá en la pantalla de inicio del dispositivo si el usuario elige guardar su sitio en la pantalla de inicio.
Las aplicaciones web no usan SDK de dispositivos porque se cargan en servidores web como cualquier otro contenido del sitio web. Debido a que no usan SDK, no pueden acceder a las capacidades del dispositivo como la cámara, etc. Las aplicaciones web deberían funcionar bien en cualquier dispositivo, ya que se ven como se ve en cualquier otra página web: en un navegador en el dispositivo. Hoy en día, los diseñadores web están creando aplicaciones web a través de técnicas de diseño web receptivo, que utilizan consultas de medios y otras técnicas que permiten que el contenido se ajuste a una amplia gama de anchos de pantalla del dispositivo.
Como provenía de un fondo de diseño web, fue natural para mí elegir seguir la ruta de la aplicación Híbrida, lo que me permite crear una base de código HTML / CSS / Javascript con las habilidades que ya poseo e implementarla, con algunas variaciones, para Las plataformas Apple y Android.