{"id":401,"date":"2013-03-18T09:54:45","date_gmt":"2013-03-18T09:54:45","guid":{"rendered":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/?p=401"},"modified":"2013-08-28T07:21:14","modified_gmt":"2013-08-28T07:21:14","slug":"la-programacion-en-la-web","status":"publish","type":"post","link":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/la-programacion-en-la-web\/","title":{"rendered":"La programaci\u00f3n en la web"},"content":{"rendered":"<p>Hace algunos a\u00f1os, all\u00e1 por los noventa, para crear una p\u00e1gina web bastaba con tener algunos conocimientos de HTML, un editor de texto, un cliente FTP, un lugar donde alojarla y un contenido que publicar. El HTML era sencillo, no hac\u00eda falta aprender demasiadas cosas, pero a cambio, los resultados eran m\u00e1s bien pobres y dif\u00edciles de mantener. Hab\u00eda pocas opciones para hacer la p\u00e1gina atractiva y a\u00fan menos de hacerla interactiva. El c\u00f3digo HTML se mezclaba con el contenido. El mantenimiento consist\u00eda en editar el archivo HTML y volverlo a subir al servidor. La interacci\u00f3n a menudo se limitaba a ofrecer un formulario de contacto que\u00a0 abr\u00eda el cliente de correo electr\u00f3nico del ordenador para enviar un mensaje. En ese momento, todo era nuevo y fant\u00e1stico y a cada mejora que llegaba se abr\u00eda un mundo de posibilidades ante el desarrollador<a title=\"\" href=\"#_ftn1\">[1]<\/a>. Un paso en favor de la interacci\u00f3n con el usuario fue conseguir que el formulario de contacto enviase el correo directamente sin necesidad de abrir ning\u00fan programa del usuario. Algunos sitios web ofrec\u00edan la posibilidad de usar un programa que se encargaba de la gesti\u00f3n de ese correo.<\/p>\n<p>La web fue avanzando, el HTML fue cada vez m\u00e1s completo y, por qu\u00e9 no decirlo, m\u00e1s complejo, y la posibilidad de hacer programas que facilitasen la interacci\u00f3n con el usuario fue cada vez mayor. Pronto, en los formularios de contacto, se pod\u00eda encontrar peque\u00f1os programas que se encargaban de comprobar que los datos que escrib\u00eda el usuario se correspond\u00edan con lo que se le estaba pidiendo. No grandes cosas, pero s\u00ed comprobar que una direcci\u00f3n de correo electr\u00f3nico ten\u00eda una @, que un tel\u00e9fono solo conten\u00eda n\u00fameros o que un c\u00f3digo postal eran exactamente cinco d\u00edgitos.<\/p>\n<p>Hoy es raro encontrar a alguien que haga las p\u00e1ginas web a mano de manera directa, escribiendo conjuntamente c\u00f3digo y contenido. Por una parte, los gestores de contenido ayudan a que tener una p\u00e1gina web sea realmente sencillo. As\u00ed, una persona que desee crear su propia web tan solo tiene que ir a un servicio gratuito de gesti\u00f3n de contenidos (como <a href=\"http:\/\/wordpress.org\">WordPress<\/a> o <a href=\"http:\/\/blogger.com\">Blogger<\/a>) y escribir all\u00ed lo que quiera, usando un campo de un formulario que aparenta ser un sencillo editor de textos. Por otra parte, en los grandes desarrollos, donde hay que escribir gran cantidad de l\u00edneas de c\u00f3digo, hacerlo sin la ayuda de un buen editor y mezclando c\u00f3digo y contenido es impensable.<\/p>\n<p>Si bien una persona que quiera tener su propia p\u00e1gina web como <i>hobby<\/i> puede usar gestores de contenidos gratuitos, una empresa, por peque\u00f1a que sea, no deber\u00eda hacerlo. A poco que queramos mantener una imagen distintiva, vamos a tener que modificar la apariencia de la web para adaptarla a nuestras necesidades. Y aqu\u00ed, cuando queremos adaptar un gestor de contenidos a nuestras necesidades es cuando empezamos a necesitar unos conceptos de programaci\u00f3n.<\/p>\n<p>Pero nos estamos avanzando. La programaci\u00f3n en la web hace tiempo que es necesaria. Hace tan solo un par de p\u00e1rrafos explic\u00e1bamos que, hace ya algunos a\u00f1os, hab\u00eda webs que ofrec\u00edan el servicio de env\u00edo de correos electr\u00f3nicos a partir de un formulario web, de manera que la web no necesitaba abrir ninguna aplicaci\u00f3n del usuario para poder hacerlo. Estos peque\u00f1os programas sol\u00edan hacerse en <a href=\"http:\/\/es.wikipedia.org\/wiki\/Perl\">Perl<\/a> y eran un primer paso en la creaci\u00f3n de webs m\u00e1s pr\u00f3ximas a los usuarios.<\/p>\n<p>Un paso adelante fue la incorporaci\u00f3n de <a href=\"http:\/\/es.wikipedia.org\/wiki\/Javascript\">JavaScript<\/a> a los navegadores. En un inicio, JavaScript se usaba para validar los datos introducidos en los formularios, tratar las <i>cookies<\/i>, abrir algunos enlaces en una ventana recortada y poca cosa m\u00e1s, pero tras la aparici\u00f3n de AJAX, JavaScript se convirti\u00f3 en una pieza fundamental de la mayor\u00eda de aplicaciones web.<\/p>\n<p><a href=\"http:\/\/es.wikipedia.org\/wiki\/AJAX\">AJAX<\/a> (<i>Asynchronous JavaScript and XML<\/i>) es una t\u00e9cnica de desarrollo web usada para crear aplicaciones interactivas. Parte de la aplicaci\u00f3n se ejecuta en el cliente (el navegador) con JavaScript y parte en el servidor con diferentes lenguajes de programaci\u00f3n. La comunicaci\u00f3n entre el cliente y el servidor es as\u00edncrona, lo que permite descargar los datos en un segundo plano para tenerlos disponibles cuando el cliente los necesite. As\u00ed, mientras el usuario lee la informaci\u00f3n que hay en la p\u00e1gina, los datos que necesitar\u00e1 se van descargando de manera que, cuando los necesite, los tenga ya preparados y no tenga que esperar.<\/p>\n<p>Una gran aplicaci\u00f3n web que us\u00f3 AJAX desde el principio fue Gmail. Su aparici\u00f3n fue un gran salto cualitativo en cuanto a correo web y el uso intensivo de AJAX hace que la experiencia del usuario sea muy buena. Hoy en d\u00eda, pr\u00e1cticamente todas las aplicaciones web usan AJAX en mayor o menor medida, obtienen los datos de una base de datos que se encuentra en el servidor y los usan de modo adecuado en el cliente.<\/p>\n<p>En el cliente, el lenguaje de programaci\u00f3n m\u00e1s usado es JavaScript, pero no es el \u00fanico. <a href=\"http:\/\/www.java.com\/es\/\">Java<\/a>, <a href=\"http:\/\/es.wikipedia.org\/wiki\/ActionScript\">ActionScript<\/a> (Flash) y \u00faltimamente <a href=\"http:\/\/processing.org\/\">Processing<\/a> son lenguajes de programaci\u00f3n que pueden usarse en el navegador. La gran diferencia entre JavaScript y el resto es que, mientras que JavaScript se ejecuta de manera directa en el navegador, los dem\u00e1s necesitan de un <i>plugin<\/i>, que debe descargarse aparte, para poderse ejecutar.<\/p>\n<p>En cuanto al servidor, la variedad es mucho mayor. PHP, Java, Ruby, ASP.NET<a title=\"\" href=\"#_ftn2\">[2]<\/a>, Perl o Python son algunos de los lenguajes de programaci\u00f3n que pueden usarse para crear aplicaciones web. De todos ellos, PHP es posiblemente el m\u00e1s popular por varios motivos, entre otros, porque permite incrustar c\u00f3digo dentro de p\u00e1ginas HTML, es parecido a otros lenguajes de programaci\u00f3n estructurada como C y Perl y se puede usar en la mayor\u00eda de los servidores web. La importancia de PHP en la web se puede ver teniendo en cuenta que sitios como la Wikipedia, Facebook o WordPress usan PHP en su desarrollo.<\/p>\n<p>Para acabar, volvamos un momento a la empresa que desea tener una p\u00e1gina web. Aunque pueda usar un sistema de gesti\u00f3n de contenidos gratuito (como WordPress, Drupal o Joomla!), necesitar\u00e1 adaptar ese sistema a sus necesidades y adecuar las plantillas a la imagen de la empresa. Para esa tarea, necesitar\u00e1 contar con los servicios de, entre otros, un programador web que domine el lenguaje de programaci\u00f3n con el que est\u00e1 hecho el sistema, adem\u00e1s de JavaScript.<\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<p id=\"_ftn1\">[1] En la pr\u00e1ctica, eso sigue pasando. Por ejemplo, cada novedad de CSS implantada en los navegadores representa una nueva posibilidad para los desarrolladores para hacer cosas nuevas.<\/p>\n<p id=\"_ftn2\">[2] ASP.NET no es un lenguaje de programaci\u00f3n, es m\u00e1s bien un <i>framework<\/i> (marco de trabajo) para aplicaciones web de Microsoft que permite escribir programas para el servidor en varios lenguajes como Visual Basic .NET, C#, Delphi, C++, Cobol y otros. ASP.NET proporciona componentes ya desarrollados para facilitar el desarrollo de aplicaciones web.<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Hace algunos a\u00f1os, all\u00e1 por los noventa, para crear una p\u00e1gina web bastaba con tener algunos conocimientos de HTML, un editor de texto, un cliente FTP, un lugar donde alojarla y un contenido que publicar. El HTML era sencillo, no hac\u00eda falta aprender demasiadas cosas, pero a cambio, los resultados eran m\u00e1s bien pobres y &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/la-programacion-en-la-web\/\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abLa programaci\u00f3n en la web\u00bb<\/span><\/a><\/p>\n","protected":false},"author":42,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11],"tags":[],"class_list":["post-401","post","type-post","status-publish","format-standard","hentry","category-fundamentals","category-technologies","entry"],"_links":{"self":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/posts\/401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":5,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"predecessor-version":[{"id":517,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/posts\/401\/revisions\/517"}],"wp:attachment":[{"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/multimedia.uoc.edu\/blogs\/fem\/es\/wp-json\/wp\/v2\/tags?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}