Está en la página 1de 10

INSTITUTO TECNOLÓGICO SUPERIOR DEL ORIENTE DEL ESTADO DE

HIDALGO

INGENIERÍA EN SISTEMAS
COMPUTACIONALES

PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

M.T.I. ANTONIO MARTÍNEZ GONZÁLEZ

ENERO – JUNIO 2 02 2

8FE1

TEMA 1 E2:
TABLA COMPARATIVA

Matrícula Nombre
17030799 Jiménez Gutiérrez Paloma
Contenido
Introducción .................................................................................................................................................................................................................... 3
Xamarin vs Kotlin ............................................................................................................................................................................................................ 4
Xamarin ....................................................................................................................................................................................................................... 4
IDE para trabajar con Java ...................................................................................................................................................................................... 5
Principales beneficios y características de Java....................................................................................................................................................... 5
Componentes de Java .............................................................................................................................................................................................. 6
Kotlin ........................................................................................................................................................................................................................... 6
Principales beneficios y características de Kotlin .................................................................................................................................................... 7
IDE para trabajar con Kotlin .................................................................................................................................................................................... 7
Tabla comparativa ....................................................................................................................................................................................................... 8
Conclusión ....................................................................................................................................................................................................................... 9
Referencias ...................................................................................................................................................................................................................... 9
Introducción
Con los avances que da la tecnología los requerimientos por parte de los desarrolladores cada día son un poco más
exigentes, en este artículo hablaremos sobre Kotlin y Java. Si eres nuevo en este mundo de la programación quizás te
preguntes que es cada uno de estos, cuáles son sus beneficios, las características, entornos de trabajo, entre otros
puntos.

A continuación, veremos un poco más sobre Java y Kotlin.

Nuestro principal punto se centra en la aparición de las aplicaciones móviles (que no web). Contenido especializado
para teléfonos móviles producido para ser publicado en un mercado, principalmente asociado al sistema operativo
del móvil (Play Store o App Store), y que mejora la usabilidad, el rendimiento y la accesibilidad en móviles respecto
a las páginas web.

En la última década, la tecnología incorporada a los teléfonos móviles ha provocado una disrupción en el mercado de las
telecomunicaciones. Es ta tecnología ha convertido a los dispositivos en máquinas muy potentes, a la vez que económicamente
asequibles para la mayor parte de la población mundial. Ello ha provocado la aparición de un nuevo mercado en el sector del
desarrollo, las aplicaciones móviles. Para el año 2019, se espera alcanzar cinco mil millones de dispositivos activos.
Xamarin y Kotlin
JetBrains decide crear un nuevo lenguaje que se ejecute sobre la máquina virtual de Java anteriormente nombrada y decide
crearlo con el objetivo de que compile tan deprisa como el propio Java en su máquina virtual. Se creó Kotlin basándose en
algunos pilares clave como los son:
- Concisión frente a la verbosidad presente en un lenguaje con años como es Java. Un ejemplo claro es la creación
de clases con los métodos habituales get, set, equals, hashcode y copy en una sola línea con la sentencia “data class”.
- Seguro intentando evitar errores en tiempo de compilación con su notada característica Null Safe. La única forma
de obtener NPE en Kotlin es: llamando la excepción explícitamente, usando el operador (se verá más adelante),
inconsistencia de datos o con la interoperabilidad con Java, otro pilar clave.
- Interoperabilidad, sin duda la más importante, la facilidad de transformación de proyectos Java a Kotlin y su
posible convivencia en una misma aplicación. No tienen una sintaxis compatible, pero Kotlin sí está diseñado para
interoperar con Java. Kotlin además depende de la biblioteca de clases de Java.

Xamarin

Nació con la premisa de ser un lenguaje de programación cuya estructura fuese sencilla y permitiese su ejecución en diversos
sistemas operativos; siendo este orientado a objetos, con un robusto tipado de variables, permitiendo su ejecución en red y en
multiples dispositivos, ejecutando códigos de forma segura, a lo largo del tiempo se ha convertido en toda una plataforma del
mundo de la informática.

Hoy en día, podemos encontrar a Java en teléfonos móviles, centros de datos, dispositivos portátiles, consolas de videojuegos,
computadoras y en el mundo web en general (internet).

Java, trabaja con su JVM (Java Virtual Machine), una vez culminamos nuestro desarrollo procedemos a compilarlo y este se
convertirá en un bytecode el cual será leído por la JVM quien será la encargada de traducirlo a lenguaje de máquina. La
intención de este, es escribir sólo una vez y ejecutarlo en cualquier dispositivo según sea su principio y demanda; es de gran
importancia mencionar que Java cuenta con cuatro (04) plataformas:
• Java ME (Micro Edition): esta edición aplica para todos aquellos temas electrónicos, pensado para utilizar en
microcontroladores.
• Java SE (Standard Edition): para servidores y aplicaciones de escritorio.
• Java EE (Enterprise Edition): ideal para grandes empresas que utilicen sistemas robustos distribuidos en red, como por
ejemplo los sistemas utilizados en la banca para el campo financiero.
• Java FX: Con esta opción del abanico, Java ofrece a los desarrolladores poder integrar animaciones, gráficos
vectoriales, sonidos y acciones web sobre videos para aquellas aplicaciones interactivas.

IDE para trabajar con Java

A continuación, te damos una lista de los IDE más populares para trabajar con Java:

• Eclipse.
• IntelliJ Idea.
• NetBeans.
• BlueJ.
• JGrasp.
• Codenvy.
• Xcode.

Principales beneficios y características de Java

• Es un lenguaje de programación distribuido, orientado a objetos e independiente de plataforma.


• De plataforma independiente, pudiendo ser ejecutado en cualquier hardware lo que hace que se convierta en portable.
• Cuenta con un recolector de basura que permite liberar y optimizar la memoria.
• Con Java podemos llevar a cabo dentro del mismo programa de forma simultánea una serie de tareas, haciendo que
sea multihilo, mejorando tanto la velocidad de ejecución como el rendimiento del software desarrollado; gracias a esto
aumenta su concurrencia y permite que sea un lenguaje receptivo e interactivo.
• A través de XML (Extensible Markup Language) podemos crear sitios web dinámicos.
• Es multiplataforma y cuenta con altos niveles de seguridad.
• Permite la utilización de funciones y clases, soporta el uso de operadores lógico, bloques, expresiones y sentencias.
• Su curva de aprendizaje es rápida, por ser un lenguaje de simple escritura.
• Posee una amplia biblioteca y una gran comunidad activa en la web siendo este punto una de las grandes ventajas
para los programadores en general.

Componentes de Java

Básicamente Java cuenta con tres componentes principales, los cuales describiremos brevemente a continuación:

• JDK (Java Development Kit): Es un software a través del cual tendremos acceso a las herramientas de desarrollo Java,
este puede ser instalado de forma local o en red, permitiendo a los programadores llevar a cabo sus desarrollos de
código los cuales posteriormente serán ejecutados por la JRE que describiremos en breve.
• JRE (Java Runtime Enviroment): Es la maquina encargada de ejecutar y/o llevar la aplicación desarrollada al plano
“físico” del resultado de la JVM; básicamente es la intermediaria entre Java y el sistema operativo.
• JVM (Java Virtual Machine): Se encuentra encargada de ejecutar el código Java previamente compilado y transformado
a bytecode.

Kotlin

En el año 2011 la empresa JetBrains cuya sede se encuentra en San Petersburgo (Rusia) saca a la luz el proyecto Kotlin, sin
embargo, no es hasta el año 2012 que su código fuente es liberado (Open Source) al público en general del mundo de la
informática bajo la licencia Apache 2. El líder del desarrollo de este proyecto Andrey Breslav indicó que Kotlin nace de la idea
de superar a Java sin dejar de operar con el código de este, siendo un lenguaje orientado a objetos y de calidad industrial. Es
por ello, que este es un lenguaje de programación cuya ejecución se encuentra pensada para funcionar con la JVM (Java
Virtual Machine – Máquina Virtual del Java) y Xamarin.

Así mismo, cuenta con la opción de que su código fuente sea compilado a JavaScript, todo esto con la finalidad de contar con
una migración sencilla a Kotlin, pudiendo ejecutarse de esta manera en todas y cada una de las plataformas que sean
compatibles con Java sin necesidad de que aplique la recompilación.

En el año 2017 este ha sido nombrado por Google como el lenguaje de programación oficial para Xamarin encontrándose
paraese entonces al mismo nivel que Java, logrando uno de los propósitos de su nacimiento.
Principales beneficios y características de Kotlin
A continuación, listaremos algunos de los beneficios y características que nos ofrece Kotlin:

• Curva de aprendizaje corta, gracias a la fácil lectura de su simple sintaxis.


• Interoperabilidad con Java.
• Uno de los grandes beneficios que podemos destacar es que Kotlin elimina los NPE (Null Pointer Exception) del código,
es por ello que no es posible asignar un valor nulo a una variable independientemente de su tipo.
• Otra de las grandes bondades es la importación de diseño de forma estática con Kotlin, ya que este nos da la opción
de importar desde el diseño todas las referencias a las vistas.
• Es posible manejar un constructor primario y de ser necesario constructores secundarios.
• Admite soporte para variables genéricas.
• Para aquellos sistemas que manejen la API RESTful y analicen objetos de tipo JSON podemos almacenar los valores
de las propiedades dentro de un mapa.
• Es posible trabajar con frameworks o librerías JQuery, React, Angular, entre otros.
• Cuenta con un excelente soporte para Xamarin Studio.
• Permite desarrollos multiplataforma, haciendo que sea interoperable.
• Trabaja con funciones anónimas y funciones de orden superior, las funciones anónimas son aquellas que podemos
identificar mediante sus entradas o salidas (resultados), mientras que las funciones de orden superior son las que
pueden optar por tomar como entrada o argumento otra función.

IDE para trabajar con Kotlin

Si bien es cierto que cada programador tiene sus exigencias y preferencias a la hora de elegir el mejor entorno de programación
para llevar a cabo el desarrollo de su proyecto, en este post listaremos algunos de los IDE más populares para trabajar con
Kotlin.

• Atom.
• Eclipse.
• SublimeText.
• Vim.
• IntelliJ IDEA.
Tabla comparativa
Xamarin Kotlin
Descripción Xamarin es el nombre de un sistema operativo que Kotlin es un lenguaje de programación pragmático pensado para
se emplea en dispositivos móviles, por lo general funcionar con Máquina Virtual de Java (JVM) y Xamarin. Además,
con pantalla táctil. puede ser compilado a código fuente de Javascript
Características • Código abierto. • Compatibilidad: Kotlin es totalmente compatible con el JDK
• Núcleo basado en el Kernel de Linux. • Kotlin además es compatible con Xamarin Studio
• Adaptable a muchas pantallas y resoluciones. • Performance: Una aplicación de Kotlin es tan rápida como una
• Utiliza SQLite para el almacenamiento de datos. equivalente de Java,
• Ofrece diferentes formas de mensajería. • Interoperabilidad: Kotlin es 100% interoperable con Java
• Navegador web basado en WebKit incluido. • Tiempo de compilación
• Soporte de Java y muchos formatos multimedia. • Curva de aprendizaje
Ventajas • Xamarin tiene un código abierto. • Kotlin nos permite escribir menos código.
• Gran variedad de aplicaciones gratis. • Resuelve desafíos de los desarrolladores.
• Diversidad y versatilidad. • Adaptarse a Kotlin es sencillo.
• Sistema multitarea. • Kotlin es completamente compatible con Java.
• Buena usabilidad y opciones de personalización. • No impone 'overhead' en tiempo de ejecución.
• Buen rendimiento de batería. • Kotlin tiene una comunidad fuerte.
• Baja calidad de aplicaciones. • Kotlin se adapta al desarrollo multiplataforma.
• Mayor riesgo de vulnerabilidad.
Desventajas • Baja calidad de aplicaciones • Coincidencia de patrones débil
• Mayor riesgo de vulnerabilidad • Tamaño extra de tiempo de ejecución
• Complejidad en la configuración avanzada • Legibilidad inicial del código se vuelve un poco difícil de leer y
• Posibles problemas de sincronización entender al principio
• Disponibilidad de aplicaciones exclusivas • Comunidad de soporte pequeña, Kotlin es más joven que Scala,
tiene menos bibliotecas, publicaciones en blogs y tutoriales
Ejemplo Aquí se muestra un ejemplo de código en Xamarin, Aquí se muestra un ejemplo de código en Kotlin, para más
para más información, dar clic en el siguiente link información, dar clic en el siguiente link https://n9.cl/5cjon
https://n9.cl/5cjon

Conclusión
Podemos concluir que Kotlin es un lenguaje práctico y versátil que se utiliza para realizar muchos proyectos de desarrollo, ya
sean para Xamarin, servidores u otras plataformas. El uso de Kotlin crece día a día, especialmente para el desarrollo de
aplicaciones móviles de Xamarin. Java, con su extensa historia, tiene una de las comunidades web más grandes. Cuando
se trata de completar un proyecto, es necesario elegir qué método utilizar en función de los requisitos. Se elige el método
quemejor se adapta a las necesidades del proyecto.

Referencias
1. UIT, Unión Internacional de Telecomunicaciones. Pronóstico del mercado de telefonía móvil - 2017. Areppim. [En línea] 19 de
diciembre de 2018. [Citado: 25 de agosto de 2021.]
https://riuma.uma.es/xmlui/bitstream/handle/10630/19201/S%C3%A1nchez%20Rueda%20Francisco%20Memoria.pdf?sequence=1&isAl
lowed=y

2. Clement, J. Porcentaje de todas las páginas web mundiales servidas a teléfonos móviles desde 2009 hasta 2018. Statista. [En
línea] 22 de julio de 2019. [Citado: 25 de agosto de 2021.] https://www.statista.com/statistics/241462/global-mobile-phone-
websitetraffic-share/.
3. Wikipedia. Kotlin (lenguaje de programación). Wikipedia. [En línea] 28 de Mayo de 2017. [Citado: 25 de agosto de 2021.]
https://es.wikipedia.org/wiki/Kotlin_(lenguaje_de_programaci%C3%B3n).

4. Kotlin. Learn Kotlin - Documentación. Kotlin. [Online] 25 de septiembre de 2018. [Citado: 25 de agosto de 2021.]
https://kotlinlang.org/docs/reference/.

5. Cimpanu, Catalin. Se espera que Kotlin supere a Java como predeterminado de Xamarin Lenguaje de programación para
aplicaciones. Ordenador que suena. [En línea] 14 de octubre de 2017. [Citado: 25 de agosto de 2021.]
https://www.bleepingcomputer.com/news/mobile/kotlin-expected-to-surpassjava-as-Xamarin-default-programming-language-for-apps/.

6. Rusu, Dan. Kotlin: Un gran paso adelante. Pro Xamarin Dev. [En línea] 9 de Febrero de 2018. [Citado: 25 de agosto de 2021.]
https://proXamarindev.com/kotlin-a-massive-leap-forward-78251531f616.

7. Patro, Carolina del Norte. Elija la mejor: aplicación nativa frente a aplicación híbrida. Ráfaga de código IO - Medio. [En línea] 26
de marzo de 2018. [Citado: 25 de agosto de 2021.] https://codeburst.io/native-appor-hybrid-app-ca08e460df9.

8. Engel, Joshua. ¿Son las excepciones de puntero nulo realmente un gran problema? Quora. [En línea] 16 de abril de 2018. [Citado:
25 de agosto de 2021.] https://www.quora.com/Are-nullpointer-exceptions-really-that-much-of-an-issue.

9. Kotlin. Tutoriales de Kotlin - Documentación. Kotlin. [Online] 25 de septiembre de 2018. [Citado: 25 de agosto de 2021.]
https://kotlinlang.org/docs/tutorials/.

También podría gustarte