viernes, 21 de febrero de 2020

UNIDAD 1: DESARROLLO MÓVIL (RESUMEN)

LENGUAJES DE DESARROLLO PARA MÓVIL
Resultado de imagen para ANDROID
Objective-C es un lenguaje bastante árido y con muchas diferencias frente a lenguajes de propósito más general como C# o Java. Por eso muchos programadores que se meten en la programación para Mac o para iPhone/iPad encuentran su principal barrera en comprender bien y utilizar Objective-C.

Una de las primeras cosas que llaman la atención es que Objective-C es un lenguaje compilado. pero también es al mismo tiempo un lenguaje enlazado. Esto quiere decir básicamente que el resultado del compilador no es el programa final sino que existe una segunda fase que lleva a cabo el enlazador (linker en inglés).



      Lenguajes Android
      Lenguajes iOS
      Lenguajes Cross-Platform
      Otros Lenguajes
      ¿Cómo Clasificar los Lenguajes?
      Comparación de las Características
      ¿Cuál Escoger?
      Conclusión

LENGUAJES DE DESARROLLO PARA MÓVIL
En el mundo del desarrollo móvil existen diferentes medidas a tomar en cuenta a la hora del desarrollo de la aplicación que se esté construyendo, como el lenguaje de programación el entorno de desarrollo, características de los lenguajes, los pros y contras, etc.
Vamos a empezar con algunos lenguajes básicos.

LENGUAJES ANDROID

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, si no 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 hace ya 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.

KOTLIN

Es el más nuevo de todos en lo que a programación de Android se refiere, ya que hace prácticamente un año, Google lo adoptaba como lenguaje de primer nivel para el desarrollo Android

Según muchos desarrolladores, es el digno sucesor de Java, ya que es un lenguaje mucho más moderno, sencillo y menos confuso que el actual rey de los lenguajes de programación en Android.
Su código es perfectamente compatible con Java, es decir, si contamos con una App escrita en Java y queremos añadir alguna nueva función, no será necesario tirar código completo, sino que escribiremos en Kotlin directamente. La consecuencia directa de esta compatibilidad es que, como era de esperar, toda librería Java puede ser utilizada desde Kotlin.

LENGUAJES IOS

SWIFT
Swift es un lenguaje de programación multiparadigma creado por Apple enfocado en el desarrollo de aplicaciones para iOS y macOS. Fue presentado en la WWDC 2014​ y está diseñado para integrarse con los Frameworks Cocoa y Cocoa Touch; puede usar cualquier biblioteca programada en Objective-C y llamar a funciones de C.

OBJECTIVE-C
A la hora de programar aplicaciones para el sistema operativo de Apple, iOS, y por lo tanto para crear apps para iPhone y iPad, debes utilizar el lenguaje Objective-C.
Este lenguaje extiende al clásico lenguaje de programación C, añadiéndole capacidades de programación orientada a objetos y sobre todo intentando atajar los problemas de reusabilidad que tenía éste. Su desarrollo se inició en 1981 (¡hace más de 30 años!) por parte de dos programadores entusiastas de la empresa ITT, que luego fundaron su propia empresa para comercializarlo. Se popularizó a finales de la década de los '80 cuando lo licenció una pequeña empresa llamada NEXT, fundada por Steve Jobs tras haber sido expulsado de Apple. 




LENGUAJES CROSS-PLATFORM
JAVASCRIPT
No confundir con Java, pese a que el nombre se parece. No tienen nada que ver. De hecho JavaScript es un lenguaje web, pero con plataformas de desarrollo como Titanium de, Appcelerator, seremos capaces de compilar de manera nativa con la facilidad que ofrece frente a Java.
.¿Cómo funciona? Nosotros escribimos en JavaScript el código que necesitamos para hacer funcionar la aplicación. En el caso de Titanium, contamos con una extensa API a nuestro favor, con métodos y funciones que hacen tareas por nosotros. Una vez escrito, Titanium lo “lee” y lo va traduciendo para que el dispositivo lo entienda en su idioma. Digamos que, de manera abstracta, Titanium actúa como un traductor para que terminal y desarrollador se entiendan.
TYPESCRIPT
TypeScript es un superconjunto de JavaScript y ofrece mayor seguridad mediante la adición de tipificación estática opcional. También ofrece mejor soporte para el desarrollo de aplicaciones a gran escala. Desarrollado y mantenido por Microsoft, TypeScript permite a los desarrolladores a escribir aplicaciones móviles multiplataforma utilizando frameworks como NativeScript.

OTROS LENGUAJES

C#

C# nace hacia el año 2000, de la mano de Microsoft con el objetivo de mejorar C++.
C# es un lenguaje de programación orientado a objetos y forma parte de la plataforma .NET. Su sintaxis proviene de C y C++ y usa el modelo de objetos de la plataforma .NET. Dicen que fue creada por Microsoft para competir con Java.

C

C es un lenguaje de programación creado en los años setenta y se basa en el paradigma de programación estructurada. Al ser un lenguaje de programación general, ofrece un control absoluto sobre los programas que crea. Tanto en la programación de bajo nivel como en las estructuras de alto nivel.
Su potencia es tal en la programación de bajo nivel que fue utilizado para crear el sistema operativo precursor del Linux, el Unix.
Fue uno de los tipos de lenguaje de programación más utilizados por la comunidad informática, después de la publicación “The C Programming Language”

C++
Actualmente Cy C++ son los más usados en la programación de bajo nivel y sistemas embebidos en otro tipo de dispositivo (fuera del ordenador). C# y Java son los más usados en la programación de alto nivel. Por encima de C++.
Si lo tuyo son los lenguajes de programación multiplataforma como Java, C, C++, C# (Microsoft .NET) o Python, conviértete en todo un experto en el Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Multiplataforma
.
PYTHON

Python es otra lengua popular que es fácil de aprender y fácil de leer. Los creadores de la lengua han realizado esfuerzos adicionales para mantener la sintaxis simple y claro posible. Esto realmente ayuda a los desarrolladores novatos mantener altos niveles de productividad, desde el primer día. Si usted está cómodo con la escritura de código Python, puede utilizar marcos como Kivy para desarrollar aplicaciones móviles multiplataforma.

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.

¿CÓMO CLASIFICAR LOS LENGUAJES?

Aplicaciones móviles pueden agruparse en tres categorías, es decir, nativas, híbridos y nativo plataforma cruzada.
Por ejemplo, la plataforma Android hace uso de Java y C/C++ para desarrollar aplicaciones nativas. Plataforma de iOS de Apple se basa en Objective-C y Swift como sus lenguajes nativas. C# utiliza plataforma Windows Mobile para codificar sus aplicaciones nativas. Todos estos lenguajes de programación de aplicación nativa son compilados, en lugar de interpretar.
Aplicaciones móviles híbridos son realmente sitios web que está diseñado para funcionar con dispositivos móviles también. Un usuario puede acceder a ellos a través de un navegador móvil como si está visitando un sitio web en una computadora de escritorio.
 La combinación de HTML5, CSS y JavaScript es la opción obvia, si quieres desarrollar aplicaciones web.

Nacido en reaccionar y NativeScript son populares nativos marcos de multiplataforma. Si quieres aprender más sobre estas, consulte nuestro curso completo para principiantes o algunos de nuestros muchos tutoriales.
COMPARACIÓN DE LAS CARACTERÍSTICAS
Antes de entrar más profundo en las características del lenguaje detallado, debe seleccionar una plataforma. Puede consultar el artículo de Plataformas de Desarrollo Móvil para tener una idea de varias plataformas y cómo elegir el que más le convenga mejor.
Suponiendo que ya ha seleccionado una plataforma de desarrollo móvil, vamos a ver cómo se comparan estos idiomas en términos de sus características:
Android Nativo:
Si quieres desarrollar para Android nativo, Java y Kotlin son sus opciones obvias.
Seguridad Null:
Kotlin tiene mejor control sobre referencias Null para que los famosos errores de NullPointerException (común en Java) son más fáciles de eliminar. Esto reduce el tiempo de desarrollo y mejora la productividad del programador.

Concurrencia:
Aunque Java es compatible con las operaciones simultáneas, El código resultante es fácilmente legible y comprensible también.

Tipo de Sistema:
Sistema de tipos de Java no es constante, y esto a veces puede llevar a confusión. En particular, los primitivos tipos como enteros, booleanos y así sucesivamente deben tratarse como casos especiales.
Estilos de Programación Soportados:
Al observar los diferentes tipos de lenguajes y sus características llega la pregunta ¿Cual Escoger? El desarrollador tendrá que tomar en cuenta la información previamente analizada y otros factores como los siguientes:
IOS Nativos
Objective-C y Swift son las dos opciones que tienes para el desarrollo de iOS. Así que echemos un vistazo a las características de cada uno.

Sintaxis de Código
Swift cuenta con una sintaxis más simple y clara para ayudar a programadores a lograr sus metas con el mínimo número de LOC (líneas de código). Esto también ayuda a reducir errores de programador y facilita la corrección de error.

Gestión de Memoria
Swift supera claramente Objective-C, cuando se trata de la gestión de memoria. Swift aplica mecanismos de control más robusto y fiable, permitiendo que los programadores evitar fugas de memoria indeseables.

Rendimiento
Ejecución de código Swift es mucho más rápido que el de Objective-C. Esto claramente lleva a un rendimiento más rápido de la aplicación y mejor experiencia de usuario.

Estilos de Programación Soportados
A diferencia de Objective-C, Swift cuenta con soporte incorporado para la programación funcional también. Por lo que los desarrolladores no tienen que se limitan a cualquier estilo de programación previamente definida. Ayuda a los desarrolladores a entender claramente el problema y llegar a una solución mejor.
CONCLUSIÓN
Elegir un lenguaje de desarrollo móvil puede ser complicado si usted no entiende las características de cada uno, junto con las tendencias actuales de la industria. Con este conocimiento, sin embargo, es fácil ver que elegir un idioma muy depende de la plataforma de desarrollo móvil en particular también.



https://code.tutsplus.com/es/articles/mobile-development-languages--cms-29138

No hay comentarios.:

Publicar un comentario