Se considera la mejor práctica escribir los componentes de ColdFusion y toda la lógica de negocio en CFScript y utilizar CFML sólo en archivos .cfm entre los archivos HTML.
La sintaxis CFScript proporciona una forma de escribir código CFML sin usar etiquetas, y puede estar en un componente basado en script (CFC) o dentro de la etiqueta cfscript. Las etiquetas CF son prácticamente lo que hace que nuestra sintaxis sea mucho mejor que la de otros lenguajes. Y ColdFusion no tiene escasez de etiquetas únicas incorporadas. De hecho, hay casi 100 etiquetas completamente únicas, cada una con su propia función individual.
La sintaxis realiza el procesamiento en CFScript. Utiliza funciones, expresiones y operadores de ColdFusion. Puede leer y escribir variables de ColdFusion dentro de esta etiqueta. Para obtener una descripción detallada del lenguaje de secuencias de comandos CFScript, incluida la documentación de las declaraciones CFScript y los equivalentes CFScript de las etiquetas CFML, consulte Ampliación de las páginas ColdFusion con secuencias de comandos CFML.
Puede utilizar esta etiqueta para encerrar una serie de declaraciones de asignación que, de otro modo, requerirían declaraciones cfset.
CFScript:
<cfscript> xParam = 115; yParam = 200; color = 'FFCC99';</cfscript>
Sintaxis
1
2
3
|
< cfscript >
// cfscript code here
</ cfscript > |
Componentes de ColdFusion (CFCs)
Adobe ColdFusion también tiene la capacidad única de interactuar con objetos y con la programación orientada a objetos con el uso de ColdFusion.Orientada a Objetos con el uso de Componentes ColdFusion.
Piense en los CFC como los objetos de ColdFusion. En su núcleo, son esencialmente sólo un paquete de funciones envueltas limpiamente para representar una sola entidad – digamos su grupo de empleados. Esto podría ser un pequeño paquete de programación que utiliza para regular los registros de sus empleados.
Porque para cada CFC, puedes asignar diferentes funciones. Recuerda que las funciones son lo que los CFC son en su esencia. Así que puedes asignar funciones para listar, crear, actualizar o incluso eliminar registros de empleados.
Ahora, la mayoría de los veteranos de CFC por ahí probablemente están pensando… «Sí, sí. Podría haber hecho todo eso con el uso de <cfinclude>». Y no estarías equivocado. Pero hay muchos más beneficios en el uso de los CFC que una cómoda bola de funciones.
Beneficios de los CFC
- Mayor rendimiento
- En pocas palabras, los CFC son más rápidos. Y hay una buena razón para ello. Ya están compilados. Después de la primera vez que los usas, de todos modos. Porque después de eso, siguen precompilados. Y esto dura hasta que se actualiza el componente. (En el cual, se compila una vez y luego permanece hasta la siguiente actualización.)
- Reutilizable y transferible
- Puedes codificar tus componentes para que se conviertan en una pieza estable de código que puedas mover libremente sin romperlo. Esto significa que puedes copiar y pegar efectivamente tus componentes de una parte de tu código a otra.
- Autodocumentación
- Tus CFCs son autodocumentados. Esto significa que producen sus propios comentarios. Bueno, salvo que utilices el atributo «Hint» por supuesto.
- Seguridad
- Los componentes de ColdFusion son más seguros que el objeto medio. De hecho, puedes restringir el acceso tanto a los CFC como a sus funciones asociadas.
- Alcance
- Uno podría asumir que los CFC pueden compartir métodos con otros CFC. Y eso sería cierto. Pero, ¿sabías que también puedes extender esas propiedades a entidades que no son ColdFusion, como llamadas SOAP o URL?
Seguridad en Adobe ColdFusion: Second to None
Aunque me duela decirlo… Hay muchos por ahí que simplemente odian ColdFusion. Busque en cualquier lugar y encontrará algún tipo de informe sobre lo inseguro que es «realmente» ColdFusion. Pero aquí está la cosa. Nadie odia al que está al final del pelotón. Ya están ahí. Es demasiado fácil. Pero si tienes auténticos «haters», algo debes estar haciendo bien.
Y bueno, en cuanto a seguridad, Adobe ColdFusion 2018 es insuperable.
Todas las plataformas dirán que son las más seguras. Que son lo mejor de lo mejor. Pero la mayoría de eso es solo un montón de retórica. ¿Dónde están las pruebas? ¿Dónde están los datos?
Qué tal esto… Déjame compartir algunos datos contigo.
Según CVE Details (el recurso por excelencia para las vulnerabilidades de seguridad), ColdFusion tiene sólo una mera fracción de las vulnerabilidades de seguridad que tienen otros lenguajes de programación.
Deje que lo asimile. Y si no me crees… Aquí tienes el enlace. Adelante, compruébalo. Yo te espero.
Y sabéis lo que es aún mejor para nosotros los de CF… Ese gráfico y análisis se remonta a 2006. Así que, durante más de una década, ColdFusion ha sido consistentemente la plataforma de desarrollo web más segura que existe. Di lo que quieras. Los números no mienten.
Hay una buena razón para esto. Adobe se preocupa por tu seguridad. Constantemente están proporcionando nuevas actualizaciones y parches de seguridad para mantenernos como CF’ers un paso adelante. Y por eso tenemos que dar las gracias a Adobe.
ColdFusion Auto Security Lockdown
En el lanzamiento de Adobe ColdFusion 2018, se introdujo una herramienta muy potente para aumentar nuestras capacidades de seguridad.
La función de bloqueo automático.
Todo desarrollador que se precie entiende la importancia de asegurar adecuadamente su sistema. Puede ser la diferencia entre la vida y la muerte (de sus aplicaciones web ColdFusion que es). Así que es impresionante que Adobe haya lanzado esta función.
Automáticamente escanea y busca en el código de su aplicación cualquier vulnerabilidad de seguridad existente y cualquier brecha de seguridad potencial. Determina el código vulnerable exacto, el tipo de vulnerabilidad y el nivel de gravedad. Después de todo esto, el analizador le presenta la opción de eliminar y reparar el problema a través de los medios recomendados.
Pero también tenemos que dar las gracias a nuestra comunidad. Adobe no es el único que vela por nosotros. Los miembros de nuestra propia comunidad están desarrollando aplicaciones de terceros para convertir nuestra plataforma en algo más grande y mejor. Y cuando se trata de seguridad… una empresa viene a la mente.
Relación: Los 5 principales problemas de seguridad resueltos con Adobe ColdFusion 2018
Foundeo Inc es una organización independiente dedicada a elevar la seguridad de su plataforma ColdFusion. Y tienen algunas credenciales serias. Verás, el fundador de la compañía no es otro que Pete Freitag. El gurú de la seguridad más reconocido de CF. Incluso ayudó a construir las guías de bloqueo de ColdFusion.
Y ha construido un par de herramientas de terceros para defender aún más nuestra seguridad, especialmente FuseGuard.
FuseGuard es un cortafuegos de aplicaciones web (WAF) específico para ColdFusion que protege contra los exploits más comunes de los hackers.
Según la documentación de FuseGuard ColdFusion Web Application Firewall, así es como funciona FuseGuard.
- Una solicitud entra y se envía al firewall a través de su archivo Application.cfm o Application.cfc.
- El firewall ejecuta cada filtro que haya configurado, y el filtro devuelve un nivel de amenaza de 0 a 10 (10 es el más peligroso).
- Si un filtro devuelve un nivel de amenaza mayor o igual a su nivel de bloqueo configurado, la solicitud se bloquea y los filtros restantes no se ejecutan.
- Si un filtro devuelve un nivel de amenaza mayor o igual a su nivel de registro configurado, la solicitud se registra.
- Puede escribir su propio registrador personalizado o utilizar uno de los registradores incluidos en el producto.
- Si un filtro devuelve un nivel de amenaza mayor o igual a su nivel de filtro configurado, la solicitud se filtra, lo que significa que intentamos escapar o eliminar los caracteres maliciosos. No todos los filtros admiten esta operación.
- Si la solicitud pasa por todos los filtros con éxito, se permite que la solicitud continúe hacia su Aplicación.
Datos sencillos de por qué ColdFusion es el lenguaje web más seguro
Hey CFers, estoy trabajando en demostrar que ColdFusion es (era y sigue siendo…) el más seguro Vs. otros lenguajes de programación. Aquí hay algo que encontré recientemente
ColdFusion Vs. PHP ColdFusion Vs. Oracle JRE ColdFusion Vs. Apache Tomcat ColdFusion Vs. Ruby on Rails ColdFusion Vs. Microsoft .net Framework
Los detalles de CVE especifican el número de vulnerabilidades críticas. En comparación con otros lenguajes.
- http://www.cvedetails.com/vendor/74/PHP.html
- http://www.cvedetails.com/product/1526/SUN-JRE.html?vendor_id=5
- https://www.cvedetails.com/product/19117/Oracle-JRE.html?vendor_id=93
- http://www.cvedetails.com/product/887/Apache-Tomcat.html?vendor_id=45
- https://www.cvedetails.com/product/2002/Microsoft-.net-Framework.html?vendor_id=26
- https://www.cvedetails.com/product/22568/Rubyonrails-Ruby-On-Rails.html?vendor_id=12043
- 5 razones por las que Adobe ColdFusion es mejor que C#
Aprende más: Libros de programación gratuitos
¿Qué hace que Adobe ColdFusion sea tan especial?
Después de 23 años y cientos -si no miles- de lenguajes de programación en activo ¿por qué Adobe ColdFusion sigue vivo y floreciente?
El secreto de ello se esconde en el propio lenguaje oficial y su sintaxis.
CFML es un lenguaje basado en etiquetas como ningún otro. Su facilidad de uso y su amplio abanico de funcionalidades lo convierten en un rival de primer orden para cualquier desarrollador.
Y en la era moderna actual, ColdFusion hace algo mejor que cualquier otro lenguaje que exista.
Seguridad.
Cuando se compara con otros lenguajes de programación, Adobe ColdFusion se presenta como una verdadera fortaleza digital. Con increíbles capacidades de seguridad incorporadas y expertos como Pete Freitag a la cabeza, Adobe ColdFusion 2018 (con el 2020 que saldrá este año) continuará siendo el segundo más importante en esta área.
Acompáñame mientras echamos un vistazo a las raíces de ColdFusion y nos aventuramos en lo que lo hace tan especial.
«Me encanta el lenguaje. Fue el primer lenguaje que aprendí… mi amigo me dijo: ‘Bueno, sabes que hay un lenguaje llamado ColdFusion que tiene una etiqueta cfquery, una etiqueta cfoutput y una etiqueta cfmail’, y me enamoré. Esa es la verdad. He trabajado en otros lenguajes a lo largo de los años y, aunque me gustan todos ellos, cuando necesito sacar una idea realmente rápida, ColdFusion parece hacerlo realmente sencillo.»
-Giancarlo Gómez, Propietario de CrossTrackr, Inc y Fuse Developments, Inc / Desarrollador Senior de Aplicaciones Web en Duty-Free Americas
La Evolución de ColdFusion
Los tiempos eran más simples entonces.
Windows 95 acababa de salir al mercado llevándonos desde la era del «verdadero» Windows en la 3.1. El DVD irrumpía en escena dispuesto a enfrentarse al mundo y sobre todo al VHS. Y Michael Jordan salió de su retiro para llevar a los Bulls a otros 3 campeonatos.
Pero lo más importante es que dos hermanos se sentaron a desarrollar una forma más fácil de conquistar la World Wide Web. Uno era un ambicioso director general dispuesto a desarrollarse y el otro un ingeniero de software en ciernes con un potencial aparentemente ilimitado. Eran los hermanos Allaire.
Jeremy tenía una empresa de consultoría de desarrollo web y tenía muchas ideas geniales sobre cómo construir servicios web. Pero encontraba la tecnología actual demasiado engorrosa y difícil de trabajar. Aquí es donde entró en juego la experiencia de su hermano. JJ sabía que podía resolver las dificultades de Jeremy. Sólo tenía que desarrollar su propio sistema. Uno que no sólo pudiera utilizar su hermano, sino algo que todo el mundo pudiera.
Y así… nació la primera versión de ColdFusion.
*Dato divertido nº 1: ¿Sabías que ColdFusion no fue la primera opción para el nombre? Los contendientes anteriores fueron Horizon, WebDB y Prometheus. Prometheus fue el favorito con su logotipo formado por una mano y un rayo.
Antes de ColdFusion 6.0, CF estaba escrito en Microsoft Visual C++. Esto hacía que estuviera disponible casi exclusivamente para los usuarios de Windows. Sin embargo, durante la actualización de la versión 3.1, Allaire consiguió portar ColdFusion a Sun Solaris, aumentando así la accesibilidad de sus usuarios.
En 2001 Jeremy ayudó a negociar la fusión entre Allaire y el gigante de los medios de comunicación Macromedia. Finalmente se convirtió en el director de tecnología de Macromedia y ayudó a encabezar su programa Flash. Pero eso no significa que ColdFusion se quedara en el camino. De hecho, llevaron a ColdFusion al siguiente nivel.
Durante la producción de ColdFusion 6.0, Macromedia hizo un cambio drástico. La 6.0 había sido completamente reescrita en Java y soportaba su propio runtime. Y con la 6.1 llegó uno de los mayores cambios para ColdFusion. Permitió a sus usuarios depurar y codificar Shockwave Flash.
Macromedia hizo maravillas con la plataforma convirtiendo a ColdFusion en un verdadero competidor en el mundo del desarrollo web. Sin embargo, una empresa rival estaba dominando poco a poco el sector. A finales de 2005, Adobe Systems adquirió Macromedia y ColdFusion con ella. En lugar de descartar la plataforma, Adobe dedicó tiempo y recursos a ella. A partir de ahora, Adobe ColdFusion es uno de los campos de programación más fáciles de usar y eficientes que existen. La última versión es Adobe ColdFusion 2018.
CFML: Un lenguaje para desarrolladores
Quizás el elemento más fuerte de ColdFusion se encuentra dentro del propio lenguaje.
CFML.
Son las siglas de Cold Fusion Markup Language y nos lleva a nuestro siguiente dato curioso…
*Dato curioso #2: ¿Sabías que por definición CFML no es un verdadero lenguaje de marcado. ¡En realidad es más bien un lenguaje de scripting! Pero más aún… Algunos consideran que ColdFusion es una especie de «lenguaje pegamento» -un subconjunto de lenguajes de scripting que ayuda a conectar varios componentes de software.
Pero eso no quiere decir que CFML y los lenguajes de marcado no tengan sus similitudes.
Adobe ColdFusion en una cáscara de nuez
Lo que comenzó como una simple solución al enigma de un hermano evolucionó hasta convertirse en una plataforma superior de desarrollo web utilizada en todo el mundo. Su facilidad de uso como lenguaje de scripting basado en etiquetas lo hace ideal para cualquier desarrollador, sea novato o veterano. No sólo eso, sino que no encontrarás otro lenguaje tan seguro.
Estas son sólo algunas de las razones por las que ColdFusion es el mejor. Más adelante, exploraremos algunas comparaciones directas entre ColdFusion y algunos otros lenguajes de programación para que podamos martillar este punto.
Pero la cosa es… Nada es perfecto. A pesar de los esfuerzos de Adobe, no han creado un producto perfecto. Pero por eso mejoran constantemente la plataforma. Y adivina de dónde sacan la mayoría de sus ideas.
Escuchan a la comunidad. (Un gran saludo a Adobe por eso, BTW) Toman nuestras ideas y las convierten en realidad. Si pudieras cambiar una cosa de Adobe ColdFusion, ¿qué sería? Háganoslo saber en los comentarios de abajo. O mejor aún… Exprésalos en los foros de Adobe o en el canal de Slack de CF.
¡Unámonos todos y pongamos de nuestra parte para ayudar a mantener CF Vibrante, Moderno y VIVO!!!
Únete a la revolución de CF Alive
Descubre cómo podemos todos hacer que CF esté más vivo, moderno y seguro este año. Únase a otros desarrolladores y gestores de ColdFusion en el Círculo Interno de CF Alive hoy mismo.
- Obtenga acceso anticipado al libro y los vídeos de CF Alive
- Sea parte de un nuevo movimiento para mejorar la percepción de CF en el mundo.
- Contribuya a la revolución de CF Alive
- Conecte con otros desarrolladores y gestores de CF
- La afiliación no tiene coste alguno.