El increíble universo de Adobe Coldfusion

El increíble universo de Adobe Coldfusion
Coldfusion - Hace fácil lo difícil - el mejor lenguaje para desarrollo de apps en startups y scaleups.

Coldfusion es mucho más que un extraordinario lenguaje de programación, es también un poderoso servidor que procesa todo tipo de funciones para construir aplicaciones web. Sirve en el back y genera funciones para el front, cuenta con un gran catálogo de servicios e integraciones disponibles tales cómo "PDFs, APIS, Nube, Correo, Búsqueda, Tareas Agendadas, Bases de Datos, Office..." y un sin fin de funciones que permiten, como ningún otro entorno, que los desarrollos sean rápidos, sencillos y escalables.

Hoy, Coldfusion está más vivo que nunca. En su nueva versión 2023 sigue cumpliendo cabalmente con su misión de - "hacer fácil lo difícil".

Las aplicaciones de Coldfusion se caracterizan por la facilidad con que se construyen, pero no por ello sacrifican seguridad, ni rendimiento. De hecho, Coldfusion al estar basado en JAVA, es considerado uno de los sistemas más seguros, robustos y eficientes en el mercado.

No por nada lleva casi 30 años de existencia (desde Julio de 1995) y ha sobrevivido desde entonces, creciendo cada vez más por sus funciones y opciones. Hoy por hoy, no he encontrado desarrollo o aplicación que no haya podido construir fácilmente usando Coldfusion y cada vez esto resulta más cierto.

Para mi, la aventura comenzó en 1998, cuando era estudiante de ingeniería y exploraba el novedoso mundo "WWW". En aquella época, donde una imagen tardaba muchos minutos en descargar - hablábamos de Gopher, Telnet, Newsgroups y páginas construidas con versiones básicas de HTML, quizá con algo de Javascript. Netscape dominaba como browser, Altavista era el mejor buscador y el principal ISP ("Internet Access Provider") para nuestros modems era quizá AOL. ¿Cómo olvidar ese legendario sonido del "dial-up"?

Algunas páginas usaban Flash para temas de animación e interacción, Actionscript era quizá lo más excitante, Javascript se limitaba a funciones con alert, window y manipulación básica del DOM mientras HTML explotaba su IFRAME.

Así es, en aquel entonces Allaire presentaba un concepto revolucionario para desarrollar sitios dinámicos, esto gracias a un procesamiento en tiempo real que lograba su servidor. El servidor de Coldfusion interpretaba los comandos de un nuevo lenguaje llamado CFML/DBML (por su sintaxis propia de markup) y que resultó muy superior a cualquiera. Esto, precisamente por su facilidad de uso comparado con modelos de Microsoft usando asp/idc y otros con Perl/cgi que buscaban también explotar el potencial del web.

En su época, desarrollé en muy poco tiempo, aplicaciones bastante sofisticadas - Un sitio Web para Aviacsa con reservas en línea y procesamientos de pagos. Un sistema para administrar flotillas de GE. Un portal de astrología que le calculaba su carta natal a miles de personas dentro de Astroweb y Elsitio. Un directorio de Medios publicitarios con multimedia y búsqueda llamado Mediaweb. Un conector con la Bolsa de Valores para sincronizar los precios de acciones y muchos proyectos más, el tan solo recordar, me trae una gran sonrisa.

Todos tuvieron retos interesantes y todos resueltos y orquestados con Coldfusion; por ejemplo, en el mundo aeronáutico era conectarse con sistemas de reservaciones - GDS's como SITA, en Fleet era interactuar con sistemas Mainframe y hacer screenscrapping con "Inventu" para obtener la Data. En la de medios era comprimir los audios y videos para lograr calidad sobre transmisiones por debajo de 28kbs. En la bolsa, teníamos que jugar con sockets, mensajería y permisos.... Y todo esto, apenas en los primeros años del 2000, cuando la tecnología era muy limitada y aún pertenecía a los hermanos JJ Allaire.

Era tal la adopción de Coldfusion, que en el 2001, lo compró Macromedia (los dueños de Flash y Actionscript), y ya para el 2005, Adobe adquirió Macromedia para con ello consolidar la plataforma con más de 15 versiones que han habido a la fecha, cada una con incrementos de funcionalidad, mejoras de compatibilidad, velocidades superior de ejecución y robustez en seguridad.

Hoy Coldfusion se encuentra disponible para cualquier plataforma, sigue fiel a sus principios y se mantiene como una de las plataformas más maduras y confiables para el desarrollo de aplicativos en cualquier escala y para cualquier medio.


Aún recuerdo, allá por el año 2003, puse una escuela de desarrollo Web - "La Lista" que se enfocaba en brindar capacitación integral - HTML, Javascript, CSS y por supuesto Coldfusion. (Incluimos también Photoshop, Dreamweaver y otras herramientas propias de las marcas). En apenas un par de años, tuve el gran honor de enseñar a más de 300 estudiantes y gracias a ello la oportunidad de participar en múltiples proyectos increíbles, algunos que ya les describí con anterioridad, por ello amé, sigo amando y amaré por siempre a Coldfusion.

Debo decir que Coldfusion es realmente la joya de la corona, no entiendo por qué Adobe lo mantiene un tanto escondido en su sitio, quizá por el modelo de licenciamiento y el mercado al que sirve, pero entiendo que el gigante planea dominar el ecosistema creativo y de e-commerce con plataformas robustas de comercio, diseño y desarrollo tales como Magento, PDF, Photoshop, Figma y sus más de 50 adquisiciones de los últimos 30 años, claro, incluyendo Coldfusion.

La comunidad de Coldfusion no es pequeña, se estima que Coldfusion suma más de 350,000 desarrolladores trabajando con más de 15,000 empresas, principalmente localizadas en Estados Unidos, Canada, Reino Unido e India. Existen grandes proyectos realizados para corporativos, inclusive existe un documento llamado "Adobe Coldfusion Evangelization Kit", cuya última version en 2018, mencionaba que más del 70% de empresas Forbes "AAA" lo usan y que grandes nombres como Boeing, Nasa, Secretarías Gubernamentales, Maquiladoras, empresas de turismo y decenas más estaban entre ellos.

Aunque estas empresas tienen por lo general equipos internos de desarrollo y convenios con consultoras para implementación y soporte, la realidad es que Coldfusion sirve para emprendimientos de cualquier tamaño y para "solo-preneurs" ya que una sola persona puede hacer y mantener cualquier sitio desarrollado en Coldfusion, claro siempre y cuando el código use buenas prácticas y este bien documentado, algo sobre lo que hablaremos mucho en este espacio.

El tema del precio es importante pues historicamente ha sido un detractor, sin embargo, ya existen versiones gratuitas de Coldfusion como la de RAILO que evolucionó hacia LUCEE a través de una comunidad abierta. Asimismo, Adobe Coldfusion tiene una licencia gratuita para desarrolladores.

Coldfusion se puede montar en nube o en servidores privados, todo con costos prorrateados. Por ejemplo - XByte, Hostek, HostNexus, Teratech, Vivotech, Azure Cloud, AWS y demás cuentan con imágenes de Coldfusion y planes de hospedaje desde $0.5 usd p/hr en nube o desde $9 usd p/mes en hospedajes dentro de servidores compartidos.

Realmente el precio no es excusa, el valor obtenido por el licenciamiento permite mejoras continuas y soporte lo que reduce considerablemente el costo real de cualquier proyecto.

Adicional, existen algunas empresas y frameworks de desarrollo que buscan mejorar y estandarizar la adopción de Coldfusion, tales cómo Coldbox, FW1, Fusebox y CFWheels. Estos frameworks ayudan, aunque no son estrictamente necesarios, para que Coldfusion pueda usarse con estándares y servicios modernos de programación integrando prácticas valiosas de CI/CD, Contenedores, Kubernetes y más.

En lo personal me gusta construir mi propio framework en función del tipo de aplicación y conectarme con plataformas comerciales robustas y bien establecidas mediante APIS o plugins. La realidad es que estos componentes ya permiten que todos los sabores y colores de lenguajes y servicios interactuen usando REST y JSON, por lo que el trabajo pesado, igual que con Coldfusion ya está resuelto.

Existen también decenas de plataformas headless, comerciales u opensource para implementar rápidamente soluciones modernas o tradicionales de CMS, CRM, ERP, Helpdesk, RCS, BPA. Todas son fáciles de usar gracias a los conectores de Coldfusion y su extensibilidad con Java.

Este es el caso con el gestor de contenidos en el que hoy escribo mi Blog - GHOST.io, realmente no sé, ni me importa, en que lenguaje esté construido ya que lo puedo consumir perfectamente usando Coldfusion gracias a los APIS y algunas configuraciones en el DNS y web server.

No hay necesidad de reinventar la rueda mientras tengamos un lenguaje tan robusto como Coldfusion para interactuar con servicios y soluciones existentes, así he usado y programado decenas de librerias para Paypal, Stripe, Hubspot, AWS, Google Firebase, Freshworks y miles más. La programación moderna realmente es un gran Lego en el que Coldfusion sin duda es un gran pegamento.

Siempre es buena idea acercarse a la comunidad que tienen en sus filas a programadores experimentados para conocer los mejores trucos, metodologías, soluciones, plataformas y tendencias. Existen listados en Adobe, Facebook, Linked-in y más.

La verdad es que se trata de una gran familia siempre dispuesta a ayudar, esto es particularmente valioso en temas complejos tales como configuración de servidores, herramientas de monitoreo, nube, bugs, patrones de diseño, integraciones, librerías, optimizaciones y más.

Hoy tengo un par de startups adicionales - Manoexperta.com - un marketplace para trabajadores de oficios cuyo backend esta completamente construido en Coldfusion y expone APIS para clientes mobiles construidos con Swift/Ios y Kotlin/Android.

También tengo una tienda en línea Wizaba.com que se integra con Amazon Seller Central para distribuir productos digitales con cada venta de productos físicos de la tienda, ofrezco cursos por Udemy y trabajo en un par de proyectos para mejorar el e-commerce regional junto el ecosistema de pagos. Todo en Coldfusion.

Nade me resulta más gratificando que compartir mi experiencia y el secreto de esta gran tecnología, por eso hoy empiezo este blog, para sumarme a las voces que justamente lo defienden ya que sabemos lo que ofrece y genera. Por favor conecta conmigo si quieres que explore algún tema en particular.

Cabe mencionar que a la fecha no soy empleado de Adobe ni de sus filiales. Mi mayor participación es mediante una de las consultoras lideres en la industria - "Epicenter Consulting" haciendo desarrollos para clientes.

Yo en lo personal estoy certificado como desarrollador (algo que les recomiendo mucho y que puedo ayudarles a lograr). No me pagan por promocionar la tecnología, realmente lo hago por experiencia y convencimiento.

Hoy a 30 años que lo adopté, se que tomé la mejor decisión, estoy infinitamente agradecido con mi querido primo Christian Schlosser por haberme llevado a este increíble camino cuando trabajamos juntos en Mediaweb.

Reitero que Coldfusion es un gran lenguaje y un extraordinario ecosistema para cualquier emprendimiento. El ecosistema permite hacer "Rapid Deployments", es decir, desarrollar una idea de forma tangible sumamente veloz. Debido a que es bastante permisible, goza de una sintaxis simple, es increíblemente flexible, se integra virtualmente con todo y se adhiere a los estándares existentes.

La siguiente semana me dirijo al Adobe Summit 2023, en donde escucharé a compañeros de batalla platicar sobre cómo usan las novedades que Adobe Coldfusion trae este año, y no son pocos, gente como Ben Naddel, Mark Takata, Charlie Arehart, Pete Freitag, Raymon Camden, estarán ahí y vale mucho la pena leer escucharlos y leer también sus blogs.

Ojalá también pueda conocer a la leyenda Ben Forta, Todos son expertos en la materia, sabrán por qué Coldfusion esta más vivo que nunca. Les aseguro, seguiremos programando en Coldfusion aún después que todos los demás lenguajes de moda hayan desaparecido. Por algo Adobe y la comunidad siguen invirtiendo y mejorándolo año tras año.

Por cierto, no se dejen engañar cuando les digan que Coldfusion es un lenguaje "viejo y muerto", y que Python, React, Php o similares son mejores.

Inviten a esas persona a hacer el reto "Pepsi", pídanles que les muestren algo que no se pueda hacer con Coldfusion y veran que rápido pierden su argumentación. También recuérdenle que algunos de esos lenguajes son aún más viejos que Coldfusion; Python por ejemplo data de 1991, pero al igual que Coldfusion y los buenos vinos, con el tiempo y madurez saben mejor.

La realidad es que es cuestión de gustos y cada coder es diferente. La elección depende más bien de su afinidad con la comunidad, las empresas detrás de la tecnología, la facilidad de escritura, la inter-operabilidad, su escalabilidad, la seguridad y rapidez de ejecución. Coldfusion tiene 10 en todo.

En el mundo de desarrollo moderno es necesario saber varios lenguajes, no están peleados y muchos se complementan. Así funciona el Web, es la mezcla de HTML, Javascript y CSS. Coldfusion agrega las capacidades requeridas para integrar bases de datos, exponer apis, generar reportes y mucho más, sin embargo, cada uno de estos componentes adicionales es todo un mundo por descubrir.

Bienvenidos al mejor universo, el de Coldfusion.