El desarrollo de Java® es el proceso de crear una aplicación funcional o un subprograma utilizando el lenguaje de programación Java® y las herramientas asociadas a él. Los pasos involucrados en el desarrollo de Java® son muy similares a las prácticas de desarrollo de software estándar. El ciclo de desarrollo de Java® consta de tres amplias fases. La primera es la planificación y el diseño, la segunda es la implementación y la etapa final es la implementación.
La fase de planificación y diseño de un programa Java® es similar a las técnicas de desarrollo de software estándar y ligeramente diferente. El lenguaje fue diseñado para ser no solo independiente de la plataforma sino también del dispositivo. Al diseñar una aplicación o subprograma, es importante que un desarrollador decida si la máquina de destino es de un solo tipo o si el programa tomará pasos adicionales para garantizar el cumplimiento con varias plataformas.
La fase de implementación del desarrollo de Java® implica el uso de un conjunto de herramientas conocidas como Java® Development Kit (JDK) junto con un entorno de desarrollo integrado (IDE) para escribir los programas. El JDK incluye una serie de herramientas que permiten la compilación de programas en bytecode que el intérprete puede leer o que puede simular diferentes plataformas de usuario. Hay una variedad de JDK disponibles de diferentes desarrolladores, cada uno con un conjunto diferente de herramientas de desarrollo.
La implementación también incluye probar y depurar el programa. Hay muchas herramientas en el JDK que ayudan a perfilar un programa, comparar ciertas clases y rastrear el uso de la memoria. La naturaleza interpretada del lenguaje Java® permite que la máquina virtual que ejecuta el código de bytes compilado rastree intrincadamente muchos aspectos del programa que serían mucho más complejos si se ejecutaran de forma nativa.
Muchos desarrolladores de Java® también confían en la funcionalidad del IDE que se utiliza para desarrollar el código real. Estos IDE permiten la edición visual, las pruebas basadas en menús y la depuración del programa. Hay IDE que incluyen herramientas que pueden crear partes de programas Java® al permitir que un programador arrastre y suelte elementos visuales preprogramados en una interfaz de usuario, eliminando la necesidad de codificarlos manualmente de forma repetitiva.
La implementación de un programa Java® puede ser muy diferente de los programas desarrollados en otros lenguajes. Hay varios problemas que es posible que deban superarse antes de una distribución exitosa. Los programas Java® requieren que el entorno de ejecución de Java® esté instalado en el sistema de destino, ya sea como un complemento del navegador o como una aplicación independiente. La instalación de una aplicación Java® debe verificar si el JRE está realmente instalado y es posible que deba distribuirse con los archivos binarios de JRE que son nativos del sistema de destino.
Algunas aplicaciones basadas en web permiten instalar un programa Java® directamente desde un repositorio en línea. Esto tiene la ventaja de poder adaptar las descargas a la configuración del sistema del usuario. Tiene la desventaja de que puede llevar mucho tiempo, dependiendo de la cantidad de clases, bibliotecas y otros archivos que se necesitarán instalar.