Programar en Java y desarrollar aplicaciones Java son cosas diferentes. La primera requiere conocer el lenguaje de programación. La segunda, además, requiere dominar conceptos de diseño y herramientas genéricas o frameworks que faciliten la automatización de las tareas rutinarias y repetitivas del desarrollo.