¿Por qué elegir XForms? Los idealistas imaginan una Internet global: verdadera, justa y gratuita, a través de la cual cualquiera pueda intercambiar información libre y abiertamente; los pragmáticos esperan completar su trabajo antes de las cinco de la tarde y luego volver a casa a gastar; tiempo con ellos. Los idealistas abogan por el lenguaje de marcado generalizado estándar (SGML), el lenguaje de marcado extensible (XML), los gráficos vectoriales extensibles (SVG), las hojas de estilo en cascada (CSS) y el lenguaje de marcado de hipertexto extensible (XHTML). ¿Los pragmáticos creen en HTML, JavaScript? 6?4.Formularios y Flash. Los idealistas asisten al World Wide Web Consortium (W3C) y a talleres como Extreme Markup Language y WWW 2007. Los pragmáticos, por otro lado, asisten a seminarios como el de la HTML Authors Association y el Web Design World. Los idealistas leen libros como "Tejiendo la Web" y "XML efectivo", mientras que los pragmáticos leen libros como "Ajax en acción" y "Diseño de sitios web oscuros". Recientemente, el debate entre dos bandos se ha centrado en la próxima generación de tecnologías de formularios: las aplicaciones Web 2.0 o XForms. Hubo arrebatos de ira y discusiones porque ninguno podía entender los objetivos del otro y no tenían nada en común. Sin embargo, la brecha entre los dos bandos no es insuperable. Los pragmáticos adoptan ampliamente muchas tecnologías idealistas (como XHTML y CSS) porque aportan beneficios tangibles a su trabajo. Es comprensible que los pragmáticos nunca se dieran cuenta de la moda del W3C. Nunca se apresurarían a lanzar la primera versión de un borrador funcional tan pronto como se publique, sino que preferirían esperar unos años hasta que la nueva tecnología sea verdaderamente confiable y utilizable entre su base de usuarios. No son los primeros en adoptar, pero lo serán mientras la tecnología tenga sentido para ellos y las herramientas sean totalmente compatibles. XForms es un esfuerzo idealista para resolver muchos de los problemas reales que afectan a los desarrolladores web en la actualidad. Tal como están las cosas, las soluciones pragmáticas basadas en mejoras incrementales de los formularios HTML tradicionales están bien, pero nunca alcanzarán las alturas de XForms. Sólo porque XForms "sube más alto", si falla, "caerá más fuerte" y el impacto negativo será mayor. Debido a que XForms es más ambicioso, hay una coexistencia de esperanza y decepción: esperanza de que todo se convierta en realidad en un futuro cercano y decepción de que no pueda convertirse en realidad hoy. Aún así, es necesario comprender qué intenta lograr XForms para poder juzgar las alternativas de manera justa. Si los objetivos de XForms no coinciden con los suyos. Entonces no será atractivo. Y si lo que XForms busca es lo que realmente le importa ahora, entonces puede valer la pena el esfuerzo de soportar el dolor inevitable de la nueva tecnología. Lo primero que hay que entender acerca de XForms es que no es sólo para la Web o HTML. ¿Seguramente no sólo para los navegadores de escritorio clásicos como Firefox y Microsoft? 0?3 Los navegadores de Internet XForms están diseñados para funcionar bien en muchos otros entornos, como navegadores móviles, navegadores de voz y algunos entornos que no son navegadores en absoluto. Por ejemplo, OpenOffice 2.0 utiliza XForms como tecnología de formularios subyacente. Se espera que otros productos que actualmente utilizan tecnología de formularios patentada, como Microsoft Word, Adobe Acrobat y Universal Business Language (UBL), también migren a XForms en el futuro. Aún se desconoce si estas empresas harán esto. Además, al igual que las generaciones anteriores de XML, XForms están diseñados para separar objetivos de acciones, es decir, de expresiones. Está diseñado para ser una descripción general de la entrada que el formulario debe recopilar. XForms tiene poca interferencia con la presentación de formularios y la forma en que los usuarios interactúan con los formularios. El mismo formulario se puede representar de una manera en un navegador, de otra manera en una red telefónica con pulsaciones de teclas y entrada de reconocimiento de voz, y de una tercera manera en papel, rellenado a mano, con caracteres ópticos mediante escaneo de tecnología de identificación. ¿Edsel o cinta transportadora? Personalmente tengo reservas sobre este objetivo. Yo lo llamo el dilema de Edsel de la tecnología. Las tecnologías que intentan ser una panacea a menudo fracasan. El Modelo de Objetos de Documento (DOM) del W3C es un ejemplo clásico. La especificación intenta ser demasiado general, con resultados frustrantes. A veces, una solución personalizada para un entorno determinado es mucho mejor que un enfoque demasiado general. Por otra parte, a veces la generalización vale la pena.
Quizás XForms no sea un fracaso para Edsel. Quizás sea más como una cinta transportadora. Debes preguntarte, ¿realmente necesitas que la misma forma aparezca de diferentes maneras en diferentes circunstancias? Muchas aplicaciones no lo requieren. Por ejemplo, si está escribiendo un programa sencillo de encuestas para un sitio web y sólo por diversión, el HTML en el navegador puede ser suficiente. Sin embargo, los sistemas más grandes pueden beneficiarse de un enfoque más general. Por ejemplo, los sistemas para recolectar los votos de los accionistas a menudo requieren que las personas voten por teléfono, por escrito y en línea. En este caso, la tecnología de formularios que admite las tres opciones desde un único documento fuente es muy útil. Quizás no necesites esta función ahora, pero probablemente la necesitarás en el futuro. Por ejemplo, imagine llamar a un servidor desde su teléfono celular y dictar (¡en lugar de escribir!) una historia, actualizando así su blog en tiempo real. La tecnología de reconocimiento de voz actual no es suficiente para admitir esta función, pero definitivamente se desarrollará a este nivel en el futuro. Cuando llegue ese día, agregar soporte de entrada de voz a un blog basado en XForms será pan comido, ya que no será necesario reescribir los formularios en sí. Sin embargo, los sistemas basados en formularios HTML no pueden proporcionar un soporte similar. Tal vez estoy mirando demasiado hacia adelante, tal vez debería centrarme en la interfaz del presente en lugar del futuro como en la ciencia ficción. Pero estos problemas de ciencia ficción son exactamente lo que XForms intenta resolver. Volver arriba Muchos dispositivos están habilitados para la Web, lo que puede impulsar las ventas de muchas computadoras, pero ciertamente no se trata sólo de computadoras, al menos no sólo de las computadoras de escritorio tradicionales. En un futuro próximo, el dispositivo más común para acceder a Internet será un teléfono móvil. ¿Quizás el próximo dispositivo más popular sea una computadora portátil humana, que utilice un procesador de bajo consumo y ejecute una versión personalizada de Linux? 0?3. Mucha gente seguirá utilizando navegadores en modo texto como Lynx. XForms está diseñado para funcionar bien en todos estos entornos, no solo en una interfaz gráfica de usuario (GUI) con millones de colores mostrados en un monitor de 30 pulgadas. El truco para admitir múltiples dispositivos es separar lo que recopila el formulario de su apariencia. Por ejemplo, en un navegador web tradicional como Firefox, puede aparecer en una página un formulario solicitando direcciones de envío y facturación. Pero en un dispositivo pequeño como un teléfono móvil, se puede dividir fácilmente en dos pantallas consecutivas. Incluso puede ser un formulario no visual si lo completa hablando en lugar de escribir. XForms no hace ninguna suposición sobre el tipo de dispositivo utilizado para completar el formulario. Volver arriba, el uso de máquinas y los formularios automatizados no los completan únicamente humanos. También se puede utilizar para la comunicación entre diferentes procesos. Por ejemplo, ¿puede un director de oficina utilizar Microsoft Windows? 0?3. Ingrese a la aplicación de compra de suministros de oficina en un programa GUI de cliente enriquecido que se ejecuta en la computadora. Luego, la aplicación puede buscar en los sitios web de OfficeMax, Staples, Office Depot y Laser Monks el mejor precio para cada artículo y luego realizar un pedido. El gerente de la oficina completa un formulario local en el programa, que luego copia la información relevante en el formulario en la tienda que ofrece el mejor precio. Quizás este proceso no requiera intervención humana. Las impresoras inteligentes pueden reconocer que el tóner se está agotando y reordenarlo automáticamente. Para implementar este escenario, el formulario debe ser accesible para otros programas, no solo para los humanos. Los campos deben estar etiquetados con nombres que otros programas puedan reconocer. Las etiquetas deben estar claramente adjuntas a campos específicos en el marcado y no solo a una representación visual de la página. Además, sería útil si el formulario pudiera especificar un campo que requiera entrada como números enteros, decimales, fechas, fechas futuras, códigos postales legales, etc. En este caso de uso, la representación no sólo está separada de la etiqueta, sino que puede que ni siquiera exista. Los humanos son muy inteligentes y pueden usar pistas implícitas (como la ubicación de los campos en la página) para distinguir qué datos se ingresan y dónde. Pero las computadoras no pueden. Necesitan más ayuda. XForms está diseñado para brindar este tipo de ayuda a las computadoras. Cuanto más clara sea la información sobre lo que se puede ingresar en un formulario, más fácil será para las computadoras interactuar automáticamente con el formulario. La internacionalización y localización de datos no ASCII es uno de los problemas más desconcertantes en la programación de formularios y la Common Gateway Interface (CGI). Cuando se trata de cómo se codifican palabras como currículum para su envío (sin mencionar χ ν ο? 0? 9 o? 9? 6), las primeras especificaciones HTML y URL dejaron mucho espacio para la imaginación de los desarrolladores. En la última década, esta situación ha mejorado hasta cierto punto y han surgido algunas normas emergentes.