BLOG

Java es un callejón sin salida para el desarrollo de aplicaciones empresariales

Por [N1] Fred el | 5 Comments

Nota: este artículo es una traducción de este post.

Antes de que se inventase Java, una de las tendencias clave de la industria era incrementar la productividad de tanto los desarrolladores como del usuario final del software. Por ejemplo, los lenguajes de programación de cuarta generación (4GL) proveían a los desarrolladores profesionales una forma más rápida de desarrollar aplicaciones de software empresarial que usando COBOL, Pascal, C, o C++. Y para usuarios finales, la aparición de herramientas como Dbase, Lotus Notes, VisiCalc les daba la posibilidad sin precedentes de crear pequeñas aplicaciones sin la ayuda de un desarrollador profesional. A principios de los 90 esta tendencia orientada a la productividad se dejó un poco de lado por la aparición de Internet. A partir de entonces los desarrolladores de software empresarial y los vendedores de software tuvieron que apresurarse para programar toda una nueva generación de aplicaciones para la web o correr el riesgo de quedarse atrás en el mercado.  Internet hizo que la productividad de los desarrolladores y que los lenguajes de programación de cuarta generación tomaran el asiento de atrás, relegados a un segundo plano.

Java estaba donde tenía que estar para el desarrollo de aplicaciones Web

Java fue diseñada en 1990 como una opción más sencilla y portable para desarrollar sistemas embebidos  que C++ .  La invención de la  WWW en 1993 introdujo un cambio meteórico en el desarrollo de aplicaciones TIC. Sun Microsystems anduvo rápido para sacar ventaja vendiendo servidores “en red” como churros y ofreciendo Java como la plataforma de desarrollo web. La mayor parte de los vendedores de software de la competencia estaba con la guardia baja y Java se convirtió en el estándar de desarrollo de Internet de hecho para el desarrollo de aplicaciones web para empresas.

Salto en el tiempo 20 años a la actualidad

Varios informes, como el de Forrester, revelan que Java aún está firmemente implantada en las empresas de programación para el desarrollo de aplicaciones a medida. Sin embargo, los datos siempre nos dicen lo que ha ocurrido en el pasado pero no predicen el futuro. Los desarrolladores de software no deben cometer el error de pensar que la adopción de una tecnología determinada significa siempre que es la mejor.

Java no va a desaparecer para el desarrollo de aplicaciones para empresa, de la misma que tampoco se va COBOL. Java aún sigue siendo una gran opción para equipos de desarrollo que han desarrollado la arquitectura y la pericia de desarrollar y mantener aplicaciones empresariales. También es una gran opción (junto con C#) para que los vendedores de software desarrollen herramientas, utilidades y plataformas tipo BPM, CEP, IaaS, y elastic caching platforms (ECP). Software como sistemas operativos, bases de datos y juegos de consola se programan mayoritariamente en C++.

banner-prueba-gratis

Java ha cumplido con su cometido, pero ahora es tiempo de ir hacia adelante

El desarrollo en Java es demasiado complicado para el desarrollo de software empresarial. Los equipos de desarrollo de aplicaciones empresariales deberían planificar su huída de Java porque:

  • Las necesidades de las empresas han cambiado. El ritmo de cambio es mayor que hace unos años.
  • La autoría del desarrollo está restringida a lenguajes de programación. Aunque la plataforma Java soporta lenguajes de programación adicionales o externos como Groovy y JRuby, la plataforma subyacente limita la innovación de los servicios tradicionales proporcionados por Java. Puedes inventar todos los lenguajes de programación nuevos que quieras, pero todos tienen que ser implementables en la plataforma subyacente.
  • Java ha estropeado la capa de presentación. Swing es una pesadilla y JavaFX es un fracaso. JSF fue diseñado para interfaces de usuario pre-Ajax aunque algunas implementaciones como ICEfaces incorporan Ajax. Hay un flujo constante de nuevos enfoques de IU que reflejan la falta de liderazgo de Java en la capa de presentación.
  • Los frameworks de Java resultan complejos. Hibernate, Spring, Struts y otros frameworks revelan las deficiencias de Java en vez de sus fortalezas. Una plataforma de desarrollo de futuro no debería necesitar una cacofonía de frameworks solo para hacer lo básico.
  • Java está basado en C++. ¿Es realmente esta la mejor forma de desarrollar aplicaciones empresariales?
  • El actual jefe de Java es igual que el jefe anterior. >El reinado de Oracle con poca Java. Los anuncios sobre Java de Oracle han sido decepcionantes. Se centran en más features, más rendimiento, y más acuerdos con otros vendedores. Hasta ahora parece que Oracle continúa con la misma política fracasada de Sun.
  •  Java nunca ha sido el único jugador en el mercado. C# no es la alternativa. Es poco más que el estilo Java Microsoft. Sin embargo, hay muchas herramientas nuevas para desarrolladores y las tradicionales pero actualizadas 4GL.  Y no nos olvidemos de las plataformas de business rules, las plataformas BPM, y las plataformas de procesamiento de eventos (event processing) que permiten introducir cambios más rápidamente.

¿Qué significa todo esto?: los equipos de desarrollo de aplicaciones deben encontrar una mejor manera de desarrollar aplicaciones

Muchos equipos de desarrollo de aplicaciones empresariales ya están usando un conjunto de herramientas y tecnologías para poder sobreponerse a la complejidad e inflexibilidad de las aplicaciones Java.

No existen alternativas claras para Java y C# para desarrollos a medida. Por ejemplo, las herramientas BPM son buenas para definir e implementar procesos pero una mala elección para implementar una experiencia de usuario irresistible. El mercado de herramientas de desarrollo de aplicaciones, sin embargo, está empezando a cambiar. Con la próxima generación de herramientas de desarrollo de aplicaciones se podrá:

  • Incrementar dramáticamente la productividad de los desarrolladores.
  • Permitir a los desarrolladores delegar el cambio de los procesos de negocio a los usuarios de las aplicaciones.

Debes transformarte en una máquina ágil de cambio constante

Los equipos de desarrollo de aplicaciones deberían sentarse y crear una estrategia de desarrollo de aplicaciones a tres años y una hoja de ruta que incluya arquitectura, procesos, talento humano, herramientas y tecnología. La plataforma de desarrollo no debe ser lo único que se debe poner sobre la mesa. La computación en la nube y el móvil, para citar otros dos, son otras tendencias que deben tener cabida en la nueva estrategia.

Artículo relacionado: .Net vs Java vs QT… resultado, más leña al fuego

Velneo es el entorno ágil para el desarrollo
de aplicaciones empresariales

PRUEBA VELNEO

5 Responses to "Java es un callejón sin salida para el desarrollo de aplicaciones empresariales"
  1. [N1] RicardoOrts dice:

    La verdad es que estoy de acuerdo con que Java no sera el futuro de la programación, no obstante que este artículo salga en esta pagina de Velneo, tampoco me parece del todo acertado, ya que como podemos ver toda la apuesta actual de Velneo esta en el lado de realizar programación en Java, más que en aumentar su potencia a traves de objetos visuales, que es la gran arma que hasta ahora ha esgrimido Velneo (Life is Soft), pero con Java cada dia es menos Life is Soft.

  2. [N1] gberumen dice:

    Estoy en total desacuerdo con lo que comentan respecto a Java y en total oposición de que publiquen este tipo de cosas en el blog de velneo. Preocupense por hacer mejoras básicas en lugar de estar comentando vagamente. Y digo “vagamente” porque el lenguaje de Java, así como tooooodos los lenguajes tienen una base, que a decir verdad ha permitido a Java ser implementado en diversas plataformas, no solo web. Ahora que el éxito de los proyectos no viene solo del programador. Tiene que haber el respaldo de un arquitecto y de un diseñador, que en conjunto permiten no solo elegir un lenguaje, si no ver más allá y poder preveer necesidades del usuario final. Sin eso, independientemente del lenguaje serían un callejón sin salida…pero en este caso el Proyecto es el que estaría en esta situación. No el lenguaje. Además si en verdad se quieren ahorrar costos innecesarios, Java es la mejor opción.

  3. @ Ricardo : Java no es lo mismo que Javascript que es lo que puedes usar en Velneo para extender la plataforma, etc
    @Gberumen : Estos artículos no son opiniones de Velneo. Como se comenta en la cabecera es una traducción. Chocolores recopila aquellos artículos aparecidos en publicaciones de relevancia mundial y no disponibles en un buen Español que pueden interesar a parte de la comunidad y para nuestra comodidad.

  4. [N1] agustin dice:

    🙂

  5. [N4] Jorge dice:

    El artículo original es:
    http://blogs.forrester.com/mike_gualtieri/10-11-23-java_is_a_dead_end_for_enterprise_app_development
    y estoy bastante de acuerdo con el enfoque del mismo:
    » Las necesidades de las empresas han cambiado. OK… pero no tanto.
    » La autoría del desarrollo está restringida a lenguajes de programación. OK… pero hay nuevas plataformas que están cambiando esta realidad.
    » Java ha estropeado la capa de presentación. OK… sin paliativos
    » Los frameworks de Java resultan complejos. OK
    » Java está basado en C++. ¿Es realmente esta la mejor forma de desarrollar aplicaciones empresariales?. La respuesta es clara… no, pero tampoco hay verdaderas alternativas a Java.
    » Java nunca ha sido el único jugador en el mercado. OK… hay otros muchos (python, ruby, .NET. la pregunta es si son adecuados para las nuevas realidades de la empresa)

    En resumen… bastante de acuerdo. Java es adecuado en muchos escenarios, pero en aplicaciones empresariales (no web), está de capa caída (fundamentalmente por la parte de UI).

    Respecto a .NET… Windows 10 y .NET apuntan maneras, pero también adolecen del mismo problema en la parte de UI (XAML es un infierno!!! y lo demás es “deprecated”).

    Qt está bien, me gusta QML para UI pero lo cierto es que C++ por debajo es para valientes (JavaScript es el pegamento de QML, no es otra cosa).

    Por último os quiero contar mi experiencia de estas últimas dos semanas. Me tocó desarrollar una pequeña aplicación en Java (aplicación Java que corre como servicio y que consume servicios web para realizar envíos de documentos firmados con XADES). Java es el rey en este escenario, sin dudas es la elección técnica más adecuada para implementarlo.

    Por otro lado tenemos que ver que están haciendo los navegadores y la Administración General del Estado con Java (ya que es uno de los sus grandes clientes).
    Los navegadores han declarado la guerra a Java (muerte a los applets).
    La AGE, está migrando los proyectos basados en applets a aplicaciones pesadas en Java (véase @firma en Forja).

    Bueno… a gusto del consumidor (lo importante es tener donde elegir).

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies