09 octubre, 2018

¿Qué tipos de programas se pueden hacer en Java?


Java es un lenguaje de programación y plataforma informática con el cual podemos crear programas de cualquier tipo en sus diferentes plataformas. Esto hace de Java rápido, seguro, fiable y portable. ¡Java está en todas partes!

Asi, en el tema de hoy vamos a hablar de los tipos de programas que podemos desarrollar en Java enfocándonos más en su especificación JSE (Java Standard Edition) por el momento, ya que si estas siguiendo mis publicaciones, sabes que forman parte del curso de introducción a la algoritmia y a la programación en Java que estoy desarrollando.


Estos posts te servirán tanto si estás empezando de cero en el mundo de la programación, si eres estudiante de primer año y necesitas reforzar algunos temas, o si eres un curioso que le entró la duda y las ganas de aprender a programar. Sea el motivo que fuese por lo que estás aquí, te invito a seguir esta serie de publicaciones que estaré realizando, en donde aprenderás con los temas que te vaya enseñando lo básico de la programación para que puedas realizar tú mismo tus propios programas.

¡Bienvenido!

Tipos de programa en Java


En Java podemos escribir básicamente 2 tipos de programas: applets y aplicaciones; y ambos requieren que nuestra computadora tenga instalado una versión de la JVM (Java Virtual Machine).

Recordemos que la JVM se encarga de ejecutar el código de bytes de un programa y existe una JVM para la mayoría de las plataformas como puede ser windows, linux, mac, etc, que hace que los programas escritos en java puedan ser portables independientemente del sistema operativo.

Applets


Los applets son programas Java que se transmiten por internet y que se ejecutan incrustados dentro de una página web como se puede observar en la siguiente imagen.

Ejemplo de un applet ejecutándose en un navegador web

Applet que calcula el importe de la compra, el importe de descuento, el importe a pagar y el obsequio por la cantidad de docenas adquiridas de un producto
Applet que calcula el área y el volumen de un cilindro
Applet que calcula una cantidad dada en metros a sus equivalentes en centímetros, pulgadas, pies y yardas

NOTA:

Desde el año 2014 en adelante los diferentes navegadores como por ejemplo Google Chrome y Firefox han ido quitando el soporte al plugin de NPAPI, que es la tecnología requerida para ejecutar los applets de Java y otros plug-ins similares basados en la NPAPI, Lo que ha generado un gran impacto ya que muchas páginas, empresas, usuarios y desarrolladores que han usado esta tecnología lleven a migrar sus proyectos a una solución diferente y dejando atrás el uso de los applets en las aplicaciones web. Si bien es cierto los applets permitían acceder a las funcionalidades del sistema operativo, existen otras alternativas como apis y frameworks.


En Internet Explorer aún es posible ejecutar los applets siempre y cuando se le dé el permiso desde el panel de control de Java y el otro modo de ejecutarlos seria utilizando una versión desactualizada de un navegador y de Java (de la versión 1.7 para abajo). Es un consejo para las personas que no quieren perder sus programas hechos en applets y desean todavía hacer uso de ellas,

En resumen, con los pasos de los años el éxito de esta tecnología se fue reduciendo debido a diversos factores, quizá la más importante el tamaño limitado de los applets que se incrustaban en el navegador y la aparición posterior de las aplicaciones web dinámicas de servidor que relego el uso de estas minis aplicaciones. Si bien es cierto que existen otras tecnologías que también se incrustaban en el navegador, como ActiveX de Microsoft, Flash, Java Web Start, etc. Los applets Java fueron los primeros.

Aplicaciones


Y las aplicaciones son programas Java que son independientes de un navegador web, poseen ventana propia a diferencia de los applets pero que también necesitan de una versión de la JVM para poder ser ejecutados en el sistema operativo.

Aplicación Java de un sistema de ventas
Aplicación Java de un sistema de pagos (imagen obtenida de JLeo)
Aplicación Java de un sistema ingreso de vehículos al parqueadero (imagen obtenida de Cesar Augusto Perez Tafur)
Aplicación Java de un sistema de bibliotecas (imagen obtenida de juan juan carlos)


Aplicaciones Webs


Servlets


Es un componente web que está soportada para trabajar con el paradigma request-response y a diferencias de los applets son programas Java que se ejecutan en el lado del servidor mediante el desarrollo de aplicaciones web que interactúan con los clientes.

Frameworks

Y a partir de aquí, podemos comenzar el camino para desarrollar aplicaciones web utilizando diferentes tecnologías y frameworks. Podremos desarrollar aplicaciones web Java utilizando Servlets y JSPs, aplicaciones web Java utilizado Struts y MyBatis, aplicaciones Java usando JSF y JPA, Ibatis y JSF, y una gran cantidad de tecnlogías que existen hoy en día tanto a nivel de persistencias como a nivel de vista controlador, backend y fronted para el desarrollo de aplicaciones web.

Sistema web que nuestra un mantenimiento de productos
Sistema web de reservas de cancha de fútbol (imagen obtenida de Mauricio Neira)

Sistema web de reserva de cancha de tenis (obtenida de planyo)

Sistema web de matrícula (imagen obtenida de sistemainfor)
Como podemos observar, podemos desarrollar una gran variedad de aplicaciones web. ¡Genial, verdad!

NOTA:

No debemos confundir un sitio web (web site) con una aplicación web (web aplication)

Una página web es estática, es decir que no hay interacción con el usuario o cliente más que el intercambio de información. Tampoco se necesita de un lenguaje de programación más que el html, css y javascript, como por ejemplo el sitio web de una empresa donde podemos ver la historia de la empresa y los servicio que ofrece. En cambio, una aplicación web se comporta como una aplicación de escritorio, es dinámica su contenido cambia constantemente, requiere de html, css, javascript, base de datos y lenguajes de programación, como ejemplo las aplicaciones web que acabas de ver en las imágenes.

En el siguiente enlace hay un articulo muy interesante para entender la diferencia entre sitio web y aplicación web. Clic aqui

Aplicaciones para dispositivos móviles, PDAs, electrodomésticos


Son aplicaciones Java destinadas a ejecutarse en pequeños dispositivos con memoria, visualización y potencia limitadas.

Ejemplo de una aplicación para Android (imagen obtenida de Henry Villegas)
App móvil para tienda online (imagen obtenida de adianteapps)

App móvil de citas médicas online (imagen obtenida de openaccess.uoc.edu)

Java Card 


Es una tecnología que permite ejecutar de forma segura pequeñas aplicaciones Java (applets) en tarjetas inteligentes y similares dispositivos empotrados.

Java card (imagen obtenida de media.timetoast.com)

Conclusiones


Recordemos que Java es muy extenso y con él podemos crear programas de cualquier tipo en sus diferentes plataformas tanto para escritorio, web y dispositivos móviles que poco a poco iremos conociendo.

¡Acabas de ver el tema número 04 del curso de Introducción a la Algoritmia y a la programación en Java! ¡Fácil verdad! Ir al índice


¡Qué pases un buen día!

2 comentarios:

  1. Hola, me gusto el desarrollo del tema, muy practico y fácil de entender. Buen trabajo!

    ResponderBorrar
  2. Ya no es posible que las empresas vean crecer su cuota de mercado si no cuentan con una aplicación web adecuada. Mientras que las empresas más grandes pueden permitirse sus propios equipos de desarrollo para estos fines, las más pequeñas subcontratan el trabajo a empresas de desarrollo de aplicaciones para obtener la misma ventaja a un coste reducido. Ayuda a las organizaciones a llegar a nuevos clientes y a darles a conocer la organización y los servicios que presta.

    ResponderBorrar