SlideShare una empresa de Scribd logo
1 de 4
Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com
For: Juan Manuel Fernández Novoa
GESTION
DE
APLICACIONES
MOVILES
1
RECURSO MÓVILES PARA DESARROLLO DE APP
En el mundo del desarrollo para móviles y tabletas pasa lo mismo.
Actualmente dispones de muchas opciones si te quieres dedicar a este ámbito,
y en concreto debes elegir entre:
1. Los lenguajes y herramientas nativos de cada plataforma:
ObjectiveC/Swift y XCode en iOS, Java y Android Studio en Android, C#,
XAML y Visual Studio en el caso de Windows Phone y Windows 8,10
2. Herramientas multiplataforma que compilan a código nativo. La más
conocida y utilizada es Xamarin.
3. Herramientas multiplataforma basadas en HTML. La más conocida es
PhoneGap/Apache Cordova, pero existen muchas más.
Cada una de estas opciones tiene sus ventajas e inconvenientes, así que ¿cuál
deberías elegir?.
En este post repasaremos por encima las principales opciones que existen
a la hora de realizar programación móvil con sus ventajas e inconvenientes, y te
daremos unas pautas básicas para ayudarte a decidir por dónde tirar.
Desarrollo Nativo
Aprende a dominar en serio HTML y CSS desde el punto de vista de un
desarrollador. ¡Empieza ahora!
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 si mismos en ésta.
Por ejemplo, si decides especializarte en iOS y así programar para la popular
plataforma de iPhone y 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.
Tratar de abarcarlas todas es muy complicado, aunque desde luego siempre es
una opción.
Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com
For: Juan Manuel Fernández Novoa
GESTION
DE
APLICACIONES
MOVILES
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).
Se obtienen muchas ventajas de su uso, pero fundamentalmente dos:
· Puedes programar en algo que ya conoces y evitar aprender nuevos lenguajes
innecesariamente.
· Tus aplicaciones funcionarán con pocos cambios en varias plataformas.
O sea, al final ahorras tiempo, esfuerzo y llegas antes al mercado.
Las aplicaciones escritas con Xamarin en C# se compilan a código nativo en
cada plataforma, por lo que su rendimiento es exactamente el mismo que el de
una aplicación nativa. Además ofrece acceso directo nativo a todas las APIs de
cada plataforma así como a los controles de interfaz de usuario nativos (de hecho
esto es lo que debes aprender con Xamarin para cada plataforma de manera
diferente según quieras programar para iOS, Android o Windows Phone).
Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com
For: Juan Manuel Fernández Novoa
GESTION
DE
APLICACIONES
MOVILES
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.
PhoneGap es una plataforma muy interesante si eres un programador web y si
además tu aplicación dispone de una versión web.
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).
Si ya conoces HTML, CSS y JavaScript, entonces PhoneGap te deja construir
aplicaciones para cualquier plataforma móvil usando lo que ya sabes, y te brinda
la funcionalidad necesaria para poder construir el 90% de las aplicaciones
habituales que puedas necesitar, con un rendimiento adecuado también para el
90% de los casos.
Si lo que quieres es una aplicación súper-especial que entre muy a bajo nivel
(por ejemplo un juego complicado) y que sea muy compleja en cuanto a interfaz
y por lo tanto el rendimiento es muy importante, entonces PhoneGap
seguramente no es para ti.
¿Cuál escojo entonces?
Para ayudarte a decidir hemos creado este sencillo diagrama de flujo:
Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com
For: Juan Manuel Fernández Novoa
GESTION
DE
APLICACIONES
MOVILES
4
(pulsa para agrandar)
En resumen y para darte una ruta más clara:
 Si vas a programar para una sola plataforma (por ejemplo, Android) y no
conoces C# ni HTML, entonces aprende las herramientas y el lenguaje
nativo.
 Si quieres tener una aplicación para todas las plataformas, entonces tus
opciones son:
1. Aprende ObjectiveC y Cocoa Touch para iOS, Java y el SDK de
Android para Android, y C#/XAML para Windows Phone.
2. Usa C# y Xamarin y ataca todas las plataformas.
3. Usa HTML5 y PhoneGap (u otra herramienta simular) y ataca
todas las plataformas.
Como podemos ver, al final todo se reduce fundamentalmente a dos cuestiones
fundamentales:
 Conocer de qué punto partes (qué sabes y qué quieres/puedes
aprovechar)
 Decidir para qué plataformas quieres programar.

Más contenido relacionado

Similar a RECURSO MÓVILES PARA DESARROLLO DE APP.docx

Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilIng Erick Guardado
 
Consideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformasConsideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformasRoberto Taborda
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles RAUL Velez
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesGuadalupe Piedra Olano
 
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...Luis Fernando Aguas Bucheli
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesGuadalupe Piedra Olano
 
Herramientas de colaboración digital(3er gye tech)
Herramientas de colaboración digital(3er gye tech)Herramientas de colaboración digital(3er gye tech)
Herramientas de colaboración digital(3er gye tech)Adolfo Monar
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaPlain Concepts
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativoselogeminis
 
Elodiiiiiiiiiiiiii
ElodiiiiiiiiiiiiiiElodiiiiiiiiiiiiii
Elodiiiiiiiiiiiiiielogeminis
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...Sorey García
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones movilesALEX BOMB
 
Tecnologias emergentes moviles
Tecnologias emergentes movilesTecnologias emergentes moviles
Tecnologias emergentes movilesKio Kusanagi
 
Lopez maradiaga leoneledelberto_actividad1
Lopez maradiaga leoneledelberto_actividad1Lopez maradiaga leoneledelberto_actividad1
Lopez maradiaga leoneledelberto_actividad1LeoLopez110
 

Similar a RECURSO MÓVILES PARA DESARROLLO DE APP.docx (20)

Expo. moviles
Expo. movilesExpo. moviles
Expo. moviles
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
 
Consideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformasConsideraciones para desarrollar aplicaciones moviles para varias plataformas
Consideraciones para desarrollar aplicaciones moviles para varias plataformas
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones Móviles
 
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
6- Unidad 1: Introducción a la Plataforma .NET-1.3. Aplicaciones en C# .net (...
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones moviles
 
Programacion de aplcaciones moviles
Programacion de aplcaciones movilesProgramacion de aplcaciones moviles
Programacion de aplcaciones moviles
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones Móviles
 
Programacion de app
Programacion de appProgramacion de app
Programacion de app
 
Programacion de app
Programacion de appProgramacion de app
Programacion de app
 
Herramientas de colaboración digital(3er gye tech)
Herramientas de colaboración digital(3er gye tech)Herramientas de colaboración digital(3er gye tech)
Herramientas de colaboración digital(3er gye tech)
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataforma
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativos
 
Elodiiiiiiiiiiiiii
ElodiiiiiiiiiiiiiiElodiiiiiiiiiiiiii
Elodiiiiiiiiiiiiii
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones moviles
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones moviles
 
Tecnologias emergentes moviles
Tecnologias emergentes movilesTecnologias emergentes moviles
Tecnologias emergentes moviles
 
Lopez maradiaga leoneledelberto_actividad1
Lopez maradiaga leoneledelberto_actividad1Lopez maradiaga leoneledelberto_actividad1
Lopez maradiaga leoneledelberto_actividad1
 

Último

1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricasurAN077
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfElybe Hernandez
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfoctaviosalazar18
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdfSantiagoRodriguez598818
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxQualityAdviceService
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoGualbertoLopez2
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 

Último (20)

1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 

RECURSO MÓVILES PARA DESARROLLO DE APP.docx

  • 1. Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com For: Juan Manuel Fernández Novoa GESTION DE APLICACIONES MOVILES 1 RECURSO MÓVILES PARA DESARROLLO DE APP En el mundo del desarrollo para móviles y tabletas pasa lo mismo. Actualmente dispones de muchas opciones si te quieres dedicar a este ámbito, y en concreto debes elegir entre: 1. Los lenguajes y herramientas nativos de cada plataforma: ObjectiveC/Swift y XCode en iOS, Java y Android Studio en Android, C#, XAML y Visual Studio en el caso de Windows Phone y Windows 8,10 2. Herramientas multiplataforma que compilan a código nativo. La más conocida y utilizada es Xamarin. 3. Herramientas multiplataforma basadas en HTML. La más conocida es PhoneGap/Apache Cordova, pero existen muchas más. Cada una de estas opciones tiene sus ventajas e inconvenientes, así que ¿cuál deberías elegir?. En este post repasaremos por encima las principales opciones que existen a la hora de realizar programación móvil con sus ventajas e inconvenientes, y te daremos unas pautas básicas para ayudarte a decidir por dónde tirar. Desarrollo Nativo Aprende a dominar en serio HTML y CSS desde el punto de vista de un desarrollador. ¡Empieza ahora! 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 si mismos en ésta. Por ejemplo, si decides especializarte en iOS y así programar para la popular plataforma de iPhone y 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. Tratar de abarcarlas todas es muy complicado, aunque desde luego siempre es una opción.
  • 2. Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com For: Juan Manuel Fernández Novoa GESTION DE APLICACIONES MOVILES 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). Se obtienen muchas ventajas de su uso, pero fundamentalmente dos: · Puedes programar en algo que ya conoces y evitar aprender nuevos lenguajes innecesariamente. · Tus aplicaciones funcionarán con pocos cambios en varias plataformas. O sea, al final ahorras tiempo, esfuerzo y llegas antes al mercado. Las aplicaciones escritas con Xamarin en C# se compilan a código nativo en cada plataforma, por lo que su rendimiento es exactamente el mismo que el de una aplicación nativa. Además ofrece acceso directo nativo a todas las APIs de cada plataforma así como a los controles de interfaz de usuario nativos (de hecho esto es lo que debes aprender con Xamarin para cada plataforma de manera diferente según quieras programar para iOS, Android o Windows Phone).
  • 3. Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com For: Juan Manuel Fernández Novoa GESTION DE APLICACIONES MOVILES 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. PhoneGap es una plataforma muy interesante si eres un programador web y si además tu aplicación dispone de una versión web. 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). Si ya conoces HTML, CSS y JavaScript, entonces PhoneGap te deja construir aplicaciones para cualquier plataforma móvil usando lo que ya sabes, y te brinda la funcionalidad necesaria para poder construir el 90% de las aplicaciones habituales que puedas necesitar, con un rendimiento adecuado también para el 90% de los casos. Si lo que quieres es una aplicación súper-especial que entre muy a bajo nivel (por ejemplo un juego complicado) y que sea muy compleja en cuanto a interfaz y por lo tanto el rendimiento es muy importante, entonces PhoneGap seguramente no es para ti. ¿Cuál escojo entonces? Para ayudarte a decidir hemos creado este sencillo diagrama de flujo:
  • 4. Fersystem_soft@hotmail.com w ww.fersystem.webcindario.com For: Juan Manuel Fernández Novoa GESTION DE APLICACIONES MOVILES 4 (pulsa para agrandar) En resumen y para darte una ruta más clara:  Si vas a programar para una sola plataforma (por ejemplo, Android) y no conoces C# ni HTML, entonces aprende las herramientas y el lenguaje nativo.  Si quieres tener una aplicación para todas las plataformas, entonces tus opciones son: 1. Aprende ObjectiveC y Cocoa Touch para iOS, Java y el SDK de Android para Android, y C#/XAML para Windows Phone. 2. Usa C# y Xamarin y ataca todas las plataformas. 3. Usa HTML5 y PhoneGap (u otra herramienta simular) y ataca todas las plataformas. Como podemos ver, al final todo se reduce fundamentalmente a dos cuestiones fundamentales:  Conocer de qué punto partes (qué sabes y qué quieres/puedes aprovechar)  Decidir para qué plataformas quieres programar.