sábado, 12 de mayo de 2018

PROGRAMACIÓN DE APLICACIONES MÓVILES


“AÑO DEL DIÁLOGO Y LA RECONCILIACIÓN NACIONAL”



INGENIERÍA DE SISTEMAS Y TELEMÁTICA

ELECTIVO

PROGRAMACIÓN DE APLICACIONES MÓVILES


AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin


DOCENTE
PORRO CHULLI, Marco Aurelio


BAGUA GRANDE - AMAZONAS
2018


INTRODUCCIÓN

El conocimiento de programación de aplicaciones para móviles ha pasado de manera muy rápida de ser un conocimiento más, a ser una necesitad debido a la rápida implantación y evolución de las plataformas móviles.
Esta rápida evolución crea incertidumbre sobre que tecnologías son las más adecuadas para la programación de móviles. Una de las arquitecturas más implantada es la proporcionada por el sistema Android. Si estás empezando en esto del desarrollo de aplicaciones para móviles, puede que esta entrada te resulte útil, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus propias aplicaciones.


Antes que nada debes plantearte en que plataformas te quieres especializar, a modo orientativo, a continuación te mostramos una gráfica con el volumen de mercado de las diferentes plataformas:




A la vista de la gráfica anterior, puede ser una buena apuesta posicionarte en desarrollar para android o iphone. Esto tiene sus ventajas y desventajas. Como ventaja, estás trabajando en un mercado amplio, con demanda, pero como desventaja, es un mercado donde hay ya muchísima gente trabajando. Así que otra posible opción es optar por mercados más selectos como RIM o Windows Phone 7. Todo dependerá de cómo plantees tu estrategia y en qué mercado te vas a sentir más cómodo.

DESARROLLO (NATIVO, MULTIPLATAFORMA COMPILADO EN NATIVO Y MULTIPLATAFORMA BASADO EN HTML5 E HIBRIDO)

  1. Desarrollo Nativo
Está claro que, siempre que puedas, el desarrollo nativo es la mejor gran opción.

El problema es que cada plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas utiliza un lenguaje de programación diferente, herramientas propias y paradigmas de programación particulares. A cambio obtienes la máxima flexibilidad, adaptación total al entorno en el que se ejecuta la aplicación y el máximo rendimiento.
La desventaja principal es que tienes que dominar muchos lenguajes y herramientas y que el tiempo de desarrollo se multiplica mucho, pues es necesario crear desde cero tres versiones diferentes de la misma aplicación (una para cada plataforma).
Por regla general los programadores se especializan y eligen una única plataforma, de modo que puedan dar lo mejor de sí mismos en ésta.
Por ejemplo, si decides especializarte en iOS y así programar para la popular plataforma de iPhone e iPad, entonces deberás aprender a programar con Objective-C o Swift y a utilizar el entorno XCode, comprándote además un ordenador Mac.

2.Desarrollo multiplataforma compilado a nativo

Una opción de compromiso es utilizar alguna plataforma de desarrollo mixta que independiza el desarrollo del lenguaje nativo de cada plataforma móvil.
Con este tipo de herramientas se utiliza un único lenguaje y se crean aplicaciones para todas las plataformas, eso sí, adaptando algunas cuestiones para poder funcionar en cada caso. Lo bueno es que te permite conocer un solo lenguaje, reutilizar gran parte del código entre todas, y generar aplicaciones nativas para todos los entornos móviles.
La más conocida es, sin duda, Xamarin. Está basada en el lenguaje C# de Microsoft y en la plataforma .NET, y gracias a sus herramientas permite crear aplicaciones para todas las plataformas, reutilizando gran parte del código (a excepción de la interfaz).


Si ya conoces C# y .NET, aprender Xamarin te ayuda a aprovechar los conocimientos que ya posees y con ellos desarrollar para todas las plataformas móviles relevantes del mercado (iOS, Android y Windows Phone).


3. Desarrollo multiplataforma basado en HTML5

Una opción muy popular, sobre todo si eres un programador Web, es utilizar alguna herramienta basada en HTML que genere aplicaciones para todas las plataformas. Existen muchas, pero la más conocida es PhoneGap/Apache Cordova.
Las apps escritas en HTML5 y compiladas con PhoneGap, permiten crear la interfaz usando HTML, CSS y JavaScript, lenguajes muy conocidos y utilizados, y desplegar a las diferentes plataformas. En cada una además podemos utilizar un “skin” concreto para que el aspecto sea lo más similar posible al de las aplicaciones nativas. PhoneGap y similares crean un contenedor para la aplicación que la ejecuta como si estuviesen en un servidor web local. Además exponen gran parte de la funcionalidad nativa del dispositivo móvil a través de librerías JavaScript, de modo que es muy sencillo “engancharse” desde la aplicación HTML5 que estamos creando.


Entre las desventajas principales están que las aplicaciones no tiene el mismo rendimiento que una app nativa, ni tampoco te dan acceso a todas las APIs nativas de cada plataforma. aunque sí a todas las importantes. Además, aunque algunas bibliotecas como jQuery Mobile te dan la opción de adaptarse al aspecto de cada sistema operativo móvil, no puedes simular todos los controles nativos (aunque sí muchos de ellos).

4. Desarrollo híbrido

Las aplicaciones híbridas combinan tecnología de las apps nativas y las aplicaciones web.
Son aplicaciones escritas en HTML, Javascript y CSS pero que utilizan un contenedor nativo creado con herramientas de desarrollo multiplataforma, como PhoneGap.


Este tipo de desarrollo genera una aplicación como tal, descargable desde las tiendas de aplicaciones.
LENGUAJES DE PROGRAMACIÓN PARA APLICACIONES MOVILES (JAVA, SWIFT, RUBY, BISUAL VASIC.NET, ETC.)

  1. Java

Es el lenguaje nativo que usa Android. Cualquier aplicación que use directamente el hardware y se comunique con el sistema operativo, usará este código. Es un lenguaje muy extendido, presente en muchos dispositivos, tanto por la red como a nivel local y aprender a programar en él, no sólo os permitirá hacer aplicaciones para el sistema de Google, sino también para otros usos, como programas de escritorio, o incluso videojuegos. Un claro ejemplo de ello es Minecraft, el famoso juego de Mojang, comprado por Microsoft haceya algún tiempo, fue creado en Java. Google no se equivocó al escogerlo, ya que existe una gran comunidad detrás de él y nunca estaréis sólos.

2. Swift


Introducido en 2014 y declarado abierto en el año 2015, Swift está rápidamente alcanzando con desarrolladores móviles. Es muy popular, especialmente entre las nuevas empresas de desarrollo de iOS. Apple ha añadido algunas características geniales a este lenguaje, tales como la sintaxis simplificada, la capacidad de localizar con precisión los errores de programador, etc. Enormes esfuerzos de Apple para promover Swift indican claramente que quiere que este nuevo lenguaje para convertirse en el lenguaje de programación convencional para su ecosistema de aplicaciones.

3. Ruby


Ruby es un lenguaje de scripting orientado a objetos, influenciado por Ada, C++, Perl, Python y Lisp. RubyMotion es un gran marco para el desarrollo de aplicaciones móviles nativas y multiplataforma en Ruby. Es bastante fácil de aprender Ruby, gracias a su elegante sintaxis se centra en la simplicidad y productividad.

4. Visual Basic.NET


Hay una gran legión de programadores que literalmente aman Visual Basic y por lo tanto optan por Visual Basic .NET ya que en teoría (que no en la realidad) se supone que la adaptación es más fácil porque la sintaxis es más similar. El salto de Visual Basic 6 a Visual Basic .NET no es tan sencillo ya que hay bastantes diferencias entre ambos y tendrás que desaprender cosas de VB6 para no cometer errores de sintaxis en VB.NET. Lo que en principio parece una ventaja se termina convirtiendo en un problema. Además, otro gran inconveniente para los veteranos en Visual Basic 6 es que VB.NET no es retro-compatible con Visual Basic.

De todos los lenguajes de programación más populares que puedes usar para programar en .NET, Visual Basic .NET es el más fácil de usar y es el menos estricto a la hora de escribir código que otros y aporta la misma funcionalidad que C# por ejemplo, ya que ambos se compilan a CIL.


ejemplo de desarrollo de aplicación móvil



link de nuestras diapositivas








No hay comentarios:

Publicar un comentario