{"id":390,"date":"2026-03-06T23:50:10","date_gmt":"2026-03-06T23:50:10","guid":{"rendered":"https:\/\/hackcuba.net\/?p=390"},"modified":"2026-03-06T23:50:10","modified_gmt":"2026-03-06T23:50:10","slug":"notas-para-un-mejor-desarrollo-web-i","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=390","title":{"rendered":"Notas para un mejor desarrollo web (I)"},"content":{"rendered":"\n<p>El trabajo del cient\u00edfico ingl\u00e9s Timothy Berners-Lee titulado \u00ab<em>El manejo de la informaci\u00f3n: una propuesta<\/em>\u00ab, concluido en 1989, marc\u00f3 una pauta revolucionaria en el mundo de las redes y las comunicaciones. Dicha investigaci\u00f3n, elaborada junto a Roy Fielding y Henrik Frystyk Nielsen, estaba basada en los modelos te\u00f3ricos de interconexi\u00f3n de documentos de los a\u00f1os &#8217;60, denominados hipertextos. Berners-Lee y sus <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>colaboradores partieron de la idea de elaborar una estrategia que permitiera a los usuarios acceder f\u00e1cilmente a la informaci\u00f3n disponible en cualquiera de las redes del planeta. Previo a los resultados de estos estudios, se necesitaba dominar complicadas interfaces e instrucciones, sin contar que hab\u00eda que acceder a algunos tipos de redes utilizando programas y sistemas operativos espec\u00edficos. El HTTP solucion\u00f3 esta dificultad, logrando vincular los recursos almacenados en diversas plataformas de un modo eficaz y transparente para los usuarios. En los primeros meses de la d\u00e9cada de 1990, el f\u00edsico Paul Kunz coloc\u00f3 el primer servidor web de Internet en el Acelerador Lineal de la Universidad de Stanford, dando pie a los inicios de la World Wide Web. Con la generalizaci\u00f3n de este servicio, Internet pas\u00f3 del uso cient\u00edfico y acad\u00e9mico a una total masificaci\u00f3n en todos los sectores de la sociedad.<\/p>\n\n\n\n<p>En 1992 ocurri\u00f3 un acontecimiento muy importante: un joven norteamericano de 21 a\u00f1os desarroll\u00f3, en el NCSA de la Universidad de Illinois, el primer navegador capaz de manipular recursos multimedia. Se trata de Marc Andreessen, quien contribuy\u00f3 de forma decisiva a la expansi\u00f3n de la Web con la primera versi\u00f3n de Mosaic. Los efectos de esta aplicaci\u00f3n rompieron con todos los l\u00edmites previstos, llevando a Andreessen meses despu\u00e9s a liderar el equipo de desarrollo del Netscape Navigator. Lo dem\u00e1s se puede resumir en estad\u00edsticas: antes de 1994, la web se hab\u00eda difundido a mayor velocidad que las PC en los a\u00f1os &#8217;80, continuando a tal rimo exponencial que en la actualidad es pr\u00e1cticamente imposible cuantificar con exactitud el n\u00famero de servidores y sitios web existentes en la red.<\/p>\n\n\n\n<p>En su corta historia, la Web ha demostrado -entre otros factores- que cualquier intenci\u00f3n, por m\u00e1s peque\u00f1a que sea, puede tener un colosal desenlace. Ejemplos sobran: <a href=\"http:\/\/www.google.com\" target=\"_blank\" rel=\"noreferrer noopener\">Google<\/a>, <a href=\"http:\/\/www.yahoo.com\" target=\"_blank\" rel=\"noreferrer noopener\">Yahoo!<\/a>, <a href=\"http:\/\/www.napster.com\" target=\"_blank\" rel=\"noreferrer noopener\">Napster<\/a>, <a href=\"http:\/\/www.milliondollarhomepage.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Million Dollar Homepage<\/a> -iniciadas por estudiantes-, o <a href=\"http:\/\/www.amazon.com\" target=\"_blank\" rel=\"noreferrer noopener\">Amazon<\/a> y <a href=\"http:\/\/www.ebay.com\" target=\"_blank\" rel=\"noreferrer noopener\">eBay<\/a>, que alcanzaron su privilegiada posici\u00f3n por ser de las primeras webs que tocaron el tema del comercio electr\u00f3nico a partir de 1995, luego de la privatizaci\u00f3n de Internet. Pues ante estos casos no hay que quedarse de brazos cruzados&#8230; todo lo contrario, hacer un an\u00e1lisis de c\u00f3mo estos y otros cientos de miles de sitios han alcanzado la popularidad en el ciberespacio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Concebir un objetivo::<\/h2>\n\n\n\n<p>Seguramente ninguna empresa o proyecto ha conducido su rumbo hacia adelante sin un objetivo preciso; as\u00ed mismo ocurre con los sitios de Internet. Antes de comenzar el desarrollo de una simple p\u00e1gina o de un \u00edntegro portal de informaci\u00f3n, hay que examinar con certeza las metas que se deseen alcanzar y las v\u00edas por donde encauzarse.<\/p>\n\n\n\n<p>Las perspectivas del sitio deben ser extensibles, es decir, que si pasan dos meses y se desea a\u00f1adir un nuevo servicio, ello no debe suponer una reestructuraci\u00f3n a gran escala. Los objetivos no est\u00e1n s\u00f3lo relacionados con el plano conceptual; tambi\u00e9n influyen en el dise\u00f1o, la informaci\u00f3n que se brinda, el nexo con los clientes y otra larga lista de factores. Siempre es necesario concebir la proyecci\u00f3n de una web con la hip\u00f3tesis de un crecimiento ilimitado, debido a que nunca sabremos qu\u00e9 pasar\u00e1 en un futuro, tanto si nos dedicamos a un portal de noticias como a la exposici\u00f3n de obras realizadas por un artista. Esto no quiere decir que aceptemos cualquier propuesta fuera de \u00e1mbito, sino que modelemos las ideas con el fin de que el sitio pueda enriquecerse sin problemas con el paso del tiempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Centrarse en el usuario::<\/h2>\n\n\n\n<p>Luego de proyectarse con amplitud y objetividad, es com\u00fan ver a desarrolladores modelando el sitio en relaci\u00f3n con sus propios conceptos e intereses. Al final el resultado es obvio: ser\u00e1 una web orientada al creador y no a los visitantes. Pues como no se trata de un hogar, un sitio web debe tratar este indeseado efecto estableciendo las proporciones adecuadas.<\/p>\n\n\n\n<p>Primeramente, es necesario definir a qu\u00e9 p\u00fablico est\u00e1 dirigido el objetivo primario y luego estudiar lo que los motiva y afecta, para erigir con acierto los pilares del proyecto. \u00c9ste es uno de los puntos m\u00e1s importantes de toda la etapa de desarrollo, ya que sin los criterios apropiados estar\u00edamos cometiendo el error de tergiversar los objetivos.<\/p>\n\n\n\n<p>La versi\u00f3n final de nuestro sitio debe ser capaz de anticiparse a las necesidades de sus usuarios potenciales. Por ejemplo, si gestionamos el espacio virtual de una l\u00ednea de \u00f3mnibus, ser\u00e1 necesario ofrecer un mapa interactivo del \u00e1rea que abarca dicha compa\u00f1\u00eda con cada una de sus rutas disponibles, en adici\u00f3n a otros servicios de gran demanda.<\/p>\n\n\n\n<p>Es importante que complejidad de la estructura del sitio se encuentre en equilibrio con el nivel medio de nuestros visitantes. No podremos obstaculizar a los clientes ni tampoco abrumarlos de pasos evidentes. Ambas situaciones podr\u00edan restarnos p\u00fablico y echarlo todo a perder. Por ello es tan importante conocer a nuestros usuarios, retroalimentarnos y aprender de ellos mediante foros, encuestas y t\u00e9cnicas de <em>blogging<\/em>. Es evidente que tenemos que adaptarnos a las cr\u00edticas, remodelaciones y dem\u00e1s factores tan complicados, pero que pueden lanzarnos directamente a la popularidad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dinamismo y versatilidad::<\/h2>\n\n\n\n<p>El ciberespacio de los a\u00f1os &#8217;90 se caracteriz\u00f3 por mostrar al internauta contenidos previamente estructurados y dispuestos en un medio espec\u00edfico -tal como el \u00edndice de libros de una biblioteca municipal, colocado en una enorme tabla con columnas rotuladas seg\u00fan los datos de cada una de las publicaciones. Este modelo est\u00e1tico se torn\u00f3 obsoleto mucho antes de que los nuevos desarrolladores se volvieran locos gestionando toda la informaci\u00f3n de su sitio web, gracias al surgimiento de la programaci\u00f3n de p\u00e1ginas din\u00e1micas en el lado del servidor. Uno de los primeros sistemas de este tipo fue el CGI, que se escrib\u00eda cum\u00fanmente en PERL, aunque desde otros lenguajes como C++ y Visual Basic se pod\u00edan construir elementos equivalentes que detectaran peticiones hechas al servidor y devolvieran HTML con la informaci\u00f3n resultante. El funcionamiento de plataformas cliente-servidor posteriores es similar, aunque no requieren del tiempo de desarrollo ni de los recursos de servidor que utilizaba CGI.<\/p>\n\n\n\n<p>Hoy en d\u00eda, los lenguajes m\u00e1s utilizados para administrar una web son el PHP, JSP y ASP, en conjunto con sistemas gestores de bases de datos y el XML. Como el objetivo de estas notas no es realizar una comparaci\u00f3n exhaustiva de cada una de las tecnolog\u00edas de servidor existentes, nos centraremos en la simbiosis Apache + PHP + MySQL para ejemplificar las ventajas de los modelos din\u00e1micos.<\/p>\n\n\n\n<p>Imagin\u00e9monos envueltos en el caso de la bliblioteca municipal: alguien nos asigna el desarrollo de su cat\u00e1logo virtual. Lo primero que nos viene a la mente es la automatizaci\u00f3n y el mantenimiento de ese colosal c\u00famulo de datos. Para ello recurrimos a la tr\u00edada referenciada por su potencia, confiabilidad y car\u00e1cter <em>open source <\/em>(no pagamos un s\u00f3lo centavo y estamos conscientes sobre qu\u00e9 hay en el n\u00facleo de dichos productos, con la libre posibilidad de personalizarlos a nuestro gusto). Luego nos sentamos frente a la computadora a dise\u00f1ar las bases de datos y desarrollar un eficiente algoritmo que permita devolver a los clientes del sitio cualquier consulta efectuada por ellos. Habr\u00e1 que asignar a la mayor parte de los usuarios un acceso de s\u00f3lo lectura, mientras que algunos trabajadores tendr\u00e1n el derecho de editar, organizar y ampliar el cat\u00e1logo <em>on<\/em>&#8211;<em>line<\/em> de libros y documentos almacenados en la biblioteca. Cada visitante podr\u00eda comentar un libro determinado, debatir en el foro sobre alg\u00fan g\u00e9nero literario o, simplemente, comprar con un par de <em>clicks<\/em> revistas o folletos que lanz\u00f3 dicha instituci\u00f3n en la Feria del Libro pasada.<br><\/p>\n\n\n\n<p>Como se puede apreciar, todo esto es pr\u00e1cticamente imposible hacerlo en un sistema de p\u00e1ginas Web est\u00e1ticas. El mero hecho de visualizar datos se convierte en un proceso tedioso de tener que actualizar las etiquetas HTML manualmente, considerando que el contenido sea extenso y deba actualizarse con frecuencia. Muchos especialistas emplean el t\u00e9rmino Web 2.0 para denominar ciertos modelos que aprovechan eficientemente el control de la informaci\u00f3n, como <a href=\"http:\/\/www.wikipedia.org\" target=\"_blank\" rel=\"noreferrer noopener\">Wikipedia<\/a>, <a href=\"http:\/\/www.gmail.com\" target=\"_blank\" rel=\"noreferrer noopener\">GMail<\/a> y otros cientos de servicios web activos en Internet. El esquema conceptual de la derecha muestra claramente sus aspectos innovadores. Hoy en d\u00eda, en pleno desarrollo de este tipo de tecnolog\u00edas, hay quienes se atreven de hablar, inclusive, de la Web 3.0 y hasta de una Web 4.0, cuyas promesas fundamentales son lograr que la telara\u00f1a aprenda los h\u00e1bitos y preferencias de cada uno de los que queden \u00abatrapados\u00bb en ella, para refinar al m\u00e1ximo la b\u00fasqueda de recursos e informaci\u00f3n.<\/p>\n\n\n\n<p>Muchos desarrolladores prefieren utilizar, junto a la programaci\u00f3n web en el lado del servidor, <em>scripts<\/em> ejecutados en el navegador del cliente. Los ejemplos m\u00e1s generalizados son bastante conocidos: JavaScript, VBScript, ActionScript (contenido dentro de los archivos SWF), pero las ventajas de cada uno de estos lenguajes com\u00fanmente opacan sus debilidades. \u00bfPor qu\u00e9? Pues muchos de los navegadores no incluyen los <em>plug<\/em>&#8211;<em>ins<\/em> necesarios para ejecutar este tipo de contenido o sus versiones interpretan versiones diferentes -valga la redundancia- de lenguajes <em>script<\/em>s. Por ello se debe tener mucho cuidado con el desarrollo de aplicaciones web del lado del cliente, porque el <em>browser<\/em> puede ser incompatible o cualquier usuario tiene la posibilidad de desactivar la ejecuci\u00f3n de contenidos din\u00e1micos. Estas dos dificultades ocurren muy a menudo, por lo que depender de la configuraci\u00f3n de cada cliente puede desenfocar las pretensiones de nuestro proyecto. Debemos desarrollar pensando que nuestro sitio debe correr de una forma \u00f3ptima en los sistemas de todos nuestros visitantes.<\/p>\n\n\n\n<p>La revista <strong>BlackHat<\/strong> est\u00e1 basada en un modelo est\u00e1tico, dada las condiciones de la infraestructura de las redes en nuestro pa\u00eds. Una gran porciento de nuestros lectores no puede acceder directamente a la web o invertir un tiempo considerable dentro de ella, por lo que el contenido de esta publicaci\u00f3n puede ser consultado sin conexi\u00f3n. Esperamos que alg\u00fan d\u00eda la informaci\u00f3n de no s\u00f3lo \u00e9sta, sino de todas las fuentes de conocimiento del mundo, puedan ser accesibles desde cada uno de los hogares de las personas interesadas en aprender. Quiz\u00e1s no sea una vana esperanza, pues todo depende de que quienes manejan los ajustes -y gozan de una vasta conectividad- nos ofrezcan servicios, en vez de minimizar las posibilidades de los que navegan o de los que a\u00fan no tienen la oportunidad de hacerlo. Cabe recordar a los que se les ha olvidado, que cada minuto que pasa es tiempo que tenemos perdido en ese mundo potencialmente incre\u00edble al que todos llamamos ciberespacio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">equilibrio entre Contenido y dise\u00f1o::<\/h2>\n\n\n\n<p>Ambos conceptos siempre se han llevado de la mano, m\u00e1s a\u00fan en esta d\u00e9cada, donde la post-explosi\u00f3n de Internet ha definido, extendido y reestructurado un caudal de nociones tradicionales. Es com\u00fan afirmar que un documento objetivo, interesante y que nos aporte informaci\u00f3n, tiene los motivos suficientes para ser publicado en la red. Pero si se analizan ciertos factores, como la ausencia de estructuraci\u00f3n, uso de colores no contrastantes, tipograf\u00edas incorrectas y esquemas visuales desproporcionados, nos damos cuenta de que a\u00fan el trabajo no est\u00e1 concluido. Lo mismo ocurre con un portal de noticias, un gestor de encuestas, un cliente de correo electr\u00f3nico o una aplicaci\u00f3n de negocios <em>on<\/em>&#8211;<em>line<\/em>. De no tener el adecuado estilo y presentaci\u00f3n, el mensaje impl\u00edcito de cada web no podr\u00e1 ser transmitido adecuadamente. Se podr\u00eda definir, sin caer en aspectos t\u00e9cnicos ni art\u00edsticos, que tanto la informaci\u00f3n como su dise\u00f1o ejercen la misma importancia a la hora de llevarla al dominio p\u00fablico.<\/p>\n\n\n\n<p>El desarrollo web exige de ciertas reglas que s\u00f3lo son aplicables a este medio donde, seg\u00fan Jakob Nielsen, \u201c<em>la \u00fanica constante es el cambio<\/em>\u201d. Se puede destacar la ligereza del contenido y su separaci\u00f3n en m\u00f3dulos y secciones, debido a que el <em>display <\/em>donde se muestra toda esa informaci\u00f3n no es un libro, ni se lee tan c\u00f3modo como en el papel. La optimizaci\u00f3n de los algoritmos de contenidos interactivos y del tama\u00f1o de los recursos multimedia juegan un papel muy importante, por los l\u00edmites de velocidad de transferencia de cada una de las redes interconectadas a Internet y los niveles de procesamiento de la CPU de los usuarios.<\/p>\n\n\n\n<p>Por \u00faltimo, se debe tratar a un sitio web como una maquinaria en movimiento, totalmente flexible ante cualquier cambio tecnol\u00f3gico o est\u00e9tico. Por ello es recomendable utilizar hojas de estilo para la presentaci\u00f3n de informaci\u00f3n, como las CSS o XSL, que permiten separar la forma del contenido (aunque las XSL van mucho m\u00e1s all\u00e1), mantener el dise\u00f1o y el concepto del sitio vinculados con los objetivos propuestos y, lo m\u00e1s importante, siempre estar abiertos a nuevos cambios que puedan surgir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Para saber m\u00e1s&#8230;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.desarrolloweb.com\" target=\"_blank\" rel=\"noreferrer noopener\">Desarrollo Web<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.webtaller.com\" target=\"_blank\" rel=\"noreferrer noopener\">WebTaller<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.w3c.org\" target=\"_blank\" rel=\"noreferrer noopener\">World Wide Web Consortium<\/a><\/li>\n<\/ul>\n\n\n\n<p>Escrito por ZorphDark [<a href=\"mailto:blackhat4all@gmail.com?subject=Para\u00a0ZorphDark\">blackhat4all@gmail.com<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El trabajo del cient\u00edfico ingl\u00e9s Timothy Berners-Lee titulado \u00abEl manejo de la informaci\u00f3n: una propuesta\u00ab, concluido en 1989,<\/p>\n","protected":false},"author":2,"featured_media":391,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,36],"tags":[132,58,38,41,67],"class_list":["post-390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-proyecto-blackhat","tag-desarrollo-web","tag-programacion","tag-proyecto-blackhat","tag-tips","tag-web"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=390"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/390\/revisions"}],"predecessor-version":[{"id":392,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/390\/revisions\/392"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/391"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}