Tendencias en Desarrollo de Software en 2007
A continuación algunos extractos completos del Blog de Carlos Perez traducidos al español para compartir su visiones en nuestra lengua. Mis aportes personales están en cursiva.
Lenguajes de Programación Dinámica (scripting)
Ruby (y Groovy) continuaran ganando convertidores, sin embargo este será confinado a la minoría de organizaciones de desarrollo altamente capaces. La facilidad de crear Lenguajes de Dominio Specifico (DSLs) en Ruby/Groovy llevara a crecer la promoción de la idea en la literatura. Las herramientas de desarrollo continuaran evolucionando. Al final Ruby y Groovy se convertirán en herramientas para los desarrolladores de Java como ocurre con el Ant.
Esto es discutible, los lenguajes de programación alternos a Java también tienen un gran rango de usos y con unas ventajas considerables, no solo para ser opciones scripting sobre la maquina virtual de Java (ver escalabilidad de PHP).
Repositorio de Contenido en Java
Las organizaciones comenzaran a preocuparse acerca de su Administrador de Contenido (CMS) pobremente soportado y empezara a salvaguardar sus activos de contenido migrando a implementaciones JCR estándar.
El estándar para JCR (Java Content Repository) es una gran solución para el acceso al Repositorio de Contenido flexibilizando el uso del CMSs (ver JSR-170). Existen una gran diversidad de administradores de Contenido o CMS funcionando en las empresas con problemas de portabilidad, escalabilidad y estandarizacion ademas que no son facilmente integrables a otras aplicaciones empresariales.
Plataforma Integración en el Navegador con Javascript
La gente se paralizara por completo por las utilidades basadas en extensiones como una expresión de la integración. Los desarrollos tales como Operador de Mozila, librerías de AJAX robustas como Tibio GI y aplicaciones Web Sociales como PiggyBank llevaran a una explosión de desarrollo de aplicaciones de escritorio que estarán solamente basadas en el navegador. Los mashups serán llevados al próximo nivel en donde se ejecutara en el navegador la integración en flujos de trabajo. El rendimiento de Javascript será mejorado con la compilación JIT.
Ahora que mozila Firefox se ha convertido en un verdadero contendiente de explorer, sus ambiciones van mas alla de ser un simple navegador hasta convertirse en una plataforma o en sistema operativo de web (ver entrevista con creador de Firefox).
Ubicuidad Eclipse
Las herramientas de desarrollo de Eclipse serán frecuentes en las organizaciones de desarrollo a pesar de los lenguajes de programación seleccionados (C++, Flash, Javascript, Ruby, Pitón, etc), sin embargo el crecimiento de las aplicaciones basadas en RCP serán retadas por técnicas de integración basadas en el navegador. Lo que es más probable es que los plugins de Eclipse soporten la competencia de tecnologías basadas en el navegador.
Framework AJAX Multimodales
El interés en el toolkit GWT de Google continuara creciendo, particularmente en las organizaciones tradicionales basadas en Java. El GWT sera usado no solo para desarrollar aplicaciones AJAX, también aplicaciones móviles basadas en J2ME. Esto será a expensas de Laszlo que hará un esfuerzo por terminar su módulo de AJAX y J2ME.
Vida después de EJB
La pesadilla de EJB finalmente ha muerto. Desafortunadamente, el mundo al que estamos transicionando esta extremadamente fragmentado. Despues de la carnicería, han emergido Spring y JBoss (osea Hibernate, jBPM y Rules) como los dos principales competidores en el espacio de la empresa. Spring y JBoss son actualmente meta-frameworks, Spring estructura la participación usando código, JBoss lo hace a través de empleo. Sin embargo es seguro decir que cualquier empresa respetable que se gane la vida con java debería basarse en cualquiera de estos dos frameworks. JSF será el nuevo Struts.
Spring es una excelente opción como framework para realizar aplicaciones de clase empresarial debido a su modularidad, integración, flexibilidad, rapidez y configuración simple comparado a EJB.
Administración de la Identidad Descentralizada
Cada grupo de Arquitectura en grandes organizaciones de IT se ha encontrado con el problema de la administración unificada de la identidad a lo largo de la empresa. Desafortunadamente, ha sido un problema desde el punto de vista técnico y social. Afortunadamente ha sido desarrollada una solución viable y liviana (osea OpenID).
Mueren los Webservices
WS y sus correspondientes especificaciones como SOAP y WSDL serán declarados muertos al final del año. Usted encontrará la declaración primero por los vendedores de herramientas y proyectos open source que rechazaran dedicar más esfuerzo en el camino equivocado. El vacío generado forzara a desplazarse a SOA (ver mas en SOA 2.0)
Hay probablemente más tendencias que he olvidado, así que puede hacérmelas saber.