Como crear una página web

En este artículo supondremos que ud. solo sabe navegar y que ni siquiera sabe bien como funciona internet, por lo cual, nuestro objetivo será el de aclarar conceptos elementales y el contendido de este artículo será más de fundamentos que un curso de algún lenguaje o aplicación específica. Intentaremos darle a conocer algunos tópicos para que ud. mismo decida qué cosas profundizar y qué camino seguir.

Si hacemos una analogía con la construcción de una casa, ud. puede simplificar considerablemente el proyecto si utiliza elementos prefabricados, el caso más extremo, es en el que ud compra una casa completamente prefabricada y la constructora solo llega a armarla a su terreno, a lo más debe construir el radier por que todo lo demás viene ya pre-fabricado, incluyendo muros, ventanas, closet, etc. sin embargo ud. debe conformarse con los diseños y estándares de calidad que están disponibles en el mercado, y no hay mucho espacio para "customizaciones". El otro extremo sería el caso en que la constructora fabrique todo en su terreno, incluyendo además de los muros y ventanas, los vidrios, la cerámica, los sanitarios, la grifería, los cables de la instalación eléctrica, lo que en realidad resultaría poco práctico y además imposible. Otra analogía es la de los muebles modulares, en que ud. puede combinar diferentes formas o módulos para obtener el diseño de mueble que le satisfaga, un librero por ejemplo, en que se combinan diferentes formas verticales y horizontales.

Del mismo modo, existe varias formas de crear un sitio web, algunas muy sencillas y que toman muy poco tiempo (horas), utilizando elementos prefabricados, y otras que pueden tomar varias semanas, incluso meses, dependiendo también de la complejidad de la página que se desea hacer. A veces ud. se encuentra con promesas tales como: "¡¡¡ Su web en minutos sin saber nada de código html !!!", generalmente estas son soluciones como la de los muebles modulares y ud. tendrá que ver si esa solcuión es bena para el objetivo que persigue.
En este punto es importante que sepa que mientras menos tiempo se tome, más cosas quedaran sin profundizar y a la larga le pueden molestar. Un sitio web no solamente es lo que se ve gráficamente a través del navegador, también es muy importante lo que hay detrás, y esto influye en un tópico que es muy importante considerar, el posicionamiento de su sitio en los programas buscadores, como por ejemplo Google. Ud. siempre debe hacerse la pregunta ¿Encontrarán mi sitio web aquellos que estén buscando los servicios o productos que yo proveo?, y de ser así ¿en que lugar aparecerá mi página?.

Para comenzar, lo primero que haremos es ponernos de acuerdo en lo que entenderemos por algunos conceptos.

ICANN

es una organización que opera a nivel multinacional/internacional y es la responsable de asignar las direcciones del protocolo IP, de los identificadores de protocolo, de las funciones de gestión del sistema de dominio y de la administración del sistema de servidores raíz. Aunque suene raro y ud. sepa que internet nadie la gobierna, es lo más parecido a quien gobierna internet.

IP y Dominio

Todos los dispositivos conectados a internet, tales como enrutadores, servidores, computadores personales, notebooks, tablets, celulares, etc., pueden ubicarse a través de una IP, incluyendo la computadora desde la cual ud. está leyendo este artículo (pude conocer su IP aquí). Una IP es un N° de 12 posiciones de la forma xxx.xxx.xxx.xxx que lo hace único. Como ud. ya sospecha es probable que se esté haciendo la pregunta ¿y alcanzan esos números IP para cubrir todo los aparatos?, es una muy buena pregunta y puede conocer la respuesta en este artículo de BBC Mundo ¿Realmente se están acabando las direcciones de internet?.

Como es difícil poder recordar las IP, en el caso de los sitios web se utiliza nombres únicos que son sinónimos de estas IP, y se conocen como dominios. Un dominio es un nombre único que corresponde a la dirección (IP) del servidor donde se ubica el sitio web correspondiente a ese dominio, por ejemplo www.kazeta.cl. Los dominios tienen diferentes extensiones (TLD's) dependiendo en general del país donde estos se crean y utilizan principalmente. Por ejemplo la extensión .cl se utiliza principalmente (aunque no en forma estricta) para sitios chilenos, la extensión .pe para Perú, etc. Existen algunas extensiones, fueron las primeras, que se refieren más al ámbito en que estos funcionarán en lugar del país, tales como:

  • .com (comercial)
  • .net (para empresas de telecomunicaciones)
  • .org (para organizaciones sin fines de lucro)
  • .biz (para negocios)
  • etc.

Como ya existen muchos dominios que están registrados y es difícil encontrar un nombre adecuado que no esté ya ocupado, hace algunos años se crearon nuevas extensiones (TLD's) mucho más explícitas que ampliaron enormemente las posibilidades de crear nombre más atractivos (aquí en hostingkz.cl le podemos proveer de estas atractivas nuevas extensiones):

  • .restaurant (elpollofarsante.restaurant)
  • .bar (eltufo.bar)
  • .cafe (dulcesalado.cafe)
  • .abogado (juanperez.abogado)
  • etc.

Puede conocer más sobre la historia de los dominios en este artículo Historia de los .com.

"Registrar" o registrador de dominios

Las empresas que tienen la responsabilidad de registrar los dominios se conocen como "Registrar". Los dominios generales tales como .com, .net, .org, etc. son vendidas por varios "registrar" en el mundo, directamente o a través de empresas de hosting como por ejemplo hostingkz.cl que vende dominios del "registrar" eNom. Los dominios se registran o venden por períodos los cuales hay que renovar siempre para que de esta forma nadie más los ocupe. En el caso de Chile, es NIC Chile (de la Universidad de Chile) la única institución que está autorizada para registrar los dominios .cl
Una vez que se registra un dominio, antes de que este se pueda direccionar a través de un navegador, se le debe asignar los DNS (Servidor de nombre de dominio) que no es más que la relación que se crea para relacionar el dominio con el servidor (IP) donde se encontrará físicamente el sitio web.

Sitio web

Entenderemos como sitio web a un conjunto de páginas que comparten un mismo dominio (y que además se referencian entre si), por ejemplo nuestro sitio web hostingkz.cl se compone de muchas páginas web, tales como hostingkz.cl, hostingkz.cl/caracteristicas.html, hostingkz.cl/servicios/hosting-cpanel.html, etc. Un sitio web generalmente tiene estructura de árbol, en que la página principal (Homepage) referencia a otras páginas (paginas hijas) generalmente a través de un menú
Este conjunto de páginas web o sitio web se aloja en un servidor (hosting que debe contratarse) y se le asigna una dirección (dominio que debe ser registrado anteriormente).
Una página web es visualizada por programas navegadores tales como Internet Explorer, Chrome o Firefox, los cuales finalmente solo interpretan y visualizan páginas hechas en lenguaje HTML.

Sitios web estáticos

Un sitio web estático es aquel que muestra siempre la misma información, cada vez que se visita. A veces una página web no requiere tener cambios durante mucho tiempo, (o muy pocos), en cuyo caso una página estática es una buena solución. Para construir páginas web estáticas, éstas se escribe en HTML directamente, utilizando editores de textos sencillos (tales como el bloc de notas de windows), editores más especializados (tales como sublime), o bien utilizando suites o framework (tal como Dreamweaver) en que se puede ir diseñando gráficamente la página mientras la suite va generando el HTML equivalente). En esta forma de construir un sitio web también se puede utilizar elementos prefabricados, como por ejemplo un presentador de diapositivas, de los cuales hay muchos en internet, algunos gratuitos

También es habitual utilizar páginas web genéricas prefabricadas

Sitios web dinámicos

Un sitio web dinámico es aquel que muestra información variable dependiendo de ciertos circunstancias o parámetros que pueden ser introducidos por el mismo usuario que visita el sitio. Por ejemplo, la página de su banco muestra una página diferente para cada usuario (similar pero no igual), una vez que el este se ha conectado con su usuario y clave. Efectivamente, en cada caso presentará el saldo y transacciones que le corresponde a cada usuario en particular, lo que solamente puede ocurrir por que se le presentó una página web diferente en cada caso.
¿como es posible esto?
Lo que sucede es que en lugar de usar páginas web escritas en HTML, el sitio web está construido con programas (análogos a las páginas web) escritos en un metalenguaje. Este metalenguaje es un lenguaje de nivel superior al HTML, y en este caso la página recibe los parámetros que ingresa el usuario, con estos parámetros va a una Base de datos y con los datos obtenidos construye (al vuelo o en forma casi instantánea), una página web escrita en HTML. De esta forma se generan dinámicamente, páginas web HTML ad-hoc para cada usuario conectado. Los metalenguajes más conocidos en la actualidad son ASP, .NET de Microsoft o bien PHP del mundo Linux (Linux es un sistema operativo gratuito, opensource o de código abierto).
Los sitios web dinámicos son necesarios cuando un sitio web debe presentar información variable o bien cuando debe incorporarse nuevos contenidos en forma permanente. Para construir sitios en PHP se utilizan IDEs o Frameworks (tales como Netbeans o Eclipse), o bien se puede construir un sitio web con un CMS (tales como Wordpress, Joomla o Drupal o RVsitebuilder).

CMS

Un CMS (Content Management System o Sistema Administrador de Contenidos) es un software, que facilita mucho la construcción de sitios web ya que presenta al usuario que construye el sitio, una zona de administración con una interfaz basada en formularios, donde este va ingresando contenidos, sin tener que saber nada de lenguajes de programación, el contenido ingresado es guardado en base de datos, entonces posteriormente, cuando el sitio es visitado en su parte pública, esta información es utilizada para construir dinámicamente el HTML final que ve el usuario. Existe decenas de CMS's pero hoy (2017) los más populares son Wordpress, Joomla y Drupal.

Leer más ...