Banco de conocimiento Ciberimaginario

Lenguajes de desarrollo web (M)

Conceptos básicos de Internet

Protocolos de internet

Los protocolos de internet son los conjuntos de reglas que permiten la comunicación entre máquinas (dispositivos) para transmitir la información entre estas.

Para que los equipos puedan comunicarse eficazmente es necesario que hablen el “mismo idioma”, es decir, que la forma de establecer la comunicación se base en un conjunto de reglas que dichos dispositivos comprenden para recibir y generar la información.

TCP/IP

Los protocolos de red que permiten la comunicación en internet se conocen como protocolos TCP/IP, ya que, aunque son más de cien, los más importantes son TCP (Transmission Control Protocol) e IP (Internet Protocol).

TCP (Transmission Control Protocol) o Protocolo de Control de Transmisión se encarga de establecer la comunicación entre los ordenadores de una red, garantizando que se lleva a cabo sin errores, pérdidas y de forma segura. Realiza tres procesos: establecer la conexión, transferir los datos y finalizar la conexión.

IP (Internet Protocol) es el protocolo encargado de la transmisión de datos a través de paquetes o datagramas.

Los datos circulan en internet en forma de paquetes o datagramas. Estos son datos encapsulados, es decir, datos a los que se les agrega un encabezado que contiene información sobre su transporte (como la dirección IP de destino)

IP sirve, además, para establecer las direcciones de los equipos de origen y destino, que se conocen como direcciones IP.

HTTP

HTTP (Hypertext Transfer Protocol) o Protocolo de transferencia de hipertexto, es, como su nombre indica, el protocolo encargado del intercambio en internet de ficheros que contienen elementos hipertextuales, básicamente, enlaces, lo que facilita la navegación entre estos. Por ello, http es el protocolo fundamental que utilizan los navegadores para mostrar las páginas web, y utiliza el puerto 80.

Su funcionamiento sigue el esquema de conexión entre un cliente y un servidor: el cliente, a través de un programa (“user agent”) como un navegador o un web crawler (añana web, spider) solicita al servidor la ejecución de un contenido (base de datos, fichero, conjunto de ficheros, etc.) y este devuelve una respuesta que se muestra en el navegador del cliente.

Una de las características de http es que no almacena información de las transacciones entre cliente y servidor (se dice que es un protocolo sin estado), por lo que si se quiere almacenar información sobre el histórico, es necesario recurrir a otros recursos como las conocidas cookies.

HTTPs es una variante del protocolo http que permite la transferencia segura de datos. Para ello, utiliza un cifrado basado en SSL/TLS (Secure Socket Layer).

Es habitual su uso en web que realizan transacciones económicas, como bancos, sistemas de pago online, etc. Utiliza el puerto 443.

Otros protocolos

El número de protocolos es muy amplio, por lo que se mencionan a continuación solamente los más relevantes para nuestro estudio:

Protocolos para la transferencia de ficheros

FTP (File Transfer Protocol): Se trata de un protocolo que permite transferir ficheros dentro de un arquitectura cliente-servidor, entre distintos ordenadores.

Se utiliza normalmente para trasladar ficheros entre un ordenador local y el servidor al que se conectan los usuarios del sitio mediante el navegador, y utiliza los puertos 20 (datos) y 21 (control).

Para conectarse por FTP se utilizan programas específicos denominados Clientes FTP, aunque hay navegadores que cuenta también con esta funcionalidad. Uno de los clientes FTP más utilizados es Filezilla.

SSH (Secure Shell): Protocolo para la conexión a máquinas remotas. Permite conectarse a un servidor desde el cliente y tener un control absoluto de la máquina para realizar operaciones con ficheros, programar cron jobs, etc. Es más rápido que FTP y permite trabajar de forma segura, ya que permite cifrar y “tunelizar” las conexiones.

Utiliza un intérprete de comandos (terminal) para conectarse con la máquina remota, y lo hace por el puerto 22.

Otros protocolos muy habituales son SMTP (Simple Mail Transfer Protocol) o POP (Post Office Protocol) que se utilizan para la gestión de correo.  

[slideshare id=UZ4dfXQqmGIbN&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&sc=no]

Sistema de dominios

El sistema de dominios es un sistema creado para la jerarquización de nombres que permitan identificar y referirse, de forma sencilla, a los dispositivos conectados a internet o a una red privada.

Su principal objetivo es proveer un sistema de nombres, facilmente memorizables, que convierta las direcciones IP (numéricas) de forma automática, permitiendo acceder al contenido depositado en una máquina.

La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. Por ejemplo, si la dirección IP del sitio FTP de prox.mx es 200.64.128.4, la mayoría de la gente llega a este equipo especificando ftp.prox.mx y no la dirección IP. Además de ser más fácil de recordar, el nombre es más fiable.La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre. (Wikipedia)

Actualmente conviven dos versiones del Protocolo de Internet: IPv4 (1975) e IPv6 (1998). Este último vino a resolver el problema que suponía la limitación de IPs disponibles con IPv4 (unos 294 millones) frente a los 3,4 mil millones de IPv6.

La convivencia entre ambos (hasta que IPv4 quede completamente superado) ha generado algunas dificultades que trata de superar IPv10, una nueva versión del protocolo lanzada a finales de 2016, que permite la comunicación entre host que resuelven una u otra versión.

¿Cómo elegir un buen dominio?

1. Analizar la distribución de dominios TLD actuales: http://research.domaintools.com/statistics/tld-counts/  – https://namestat.org/

2. Ver la disponibilidad en servicios y redes sociales:  https://namechk.com/ – http://knowem.com/

3. Evaluar el dominio: ICANN Whois https://whois.icann.org/es  — DomainTools – http://whois.domaintools.com/

4. Evaluar el precio del dominio o de otros de la competencia: https://www.freevaluator.com/  –  http://www.siteprice.org/

5. Comprobar la disponibilidad del dominio: 

.es: http://www.dominios.es/dominios/

gTDL y ccTDL : https://dinahosting.com/dominios/resultados

6. Hacer una comparativa en Google Trends para buscar un dominio que “esté en la cabeza de la gente

[slideshare id=LywzsdZj0thikf&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&sc=no]

Hosting (Alojamiento web)

La puesta en producción de un recurso digital informativo requiere, habitualmente, ponerlo a disposición a través de la web. Para ello, es necesario contar con un espacio web, alojamiento o hosting que sirva el contenido creado cuando un usuario lo solicite.

La elección de un servicio de hosting no es un tema menor. Al contrario, es muy importante conocer los criterios de selección para contar con el mejor servicio posible, ya que cuestiones como el tiempo de respuesta, el uptime del servicio, la seguridad o el soporte técnico que ofrecen son claves para el éxito del proyecto.

Cómo elegir un hosting. Fuente: Canal youtube Ciudadano 2.0

Un proyecto multimedia no termina cuando ha sido finalizado; la vida y mantenimiento del producto comienza justo en el momento que ha sido publicado, y en esta parte de operación resulta esencial que el sistema de entrega, sea el mejor. En este vídeo y en la presentación podrás conocer con detalle los aspectos fundamentales que debes aprender para tenerlos en cuenta en tu actividad profesional.

[slideshare id=tidLhscqESJG4a&w=427&h=356&fb=0&mw=0&mh=0&style=border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&sc=no]

¿Cómo elegir un buen alojamiento web?

1. Acceder a soluciones de hosting, y comparar los criterios vistos

2. Ver cómo funciona un Panel de control con el simulador de cPanel

3. Ver el funcionamiento de herramientas de monitorización de rendimiento de servidores web. 

Evolución de los lenguajes de desarrollo web

Hoy en día contamos con una variedad tal de productos, de plataformas, y sistemas de creación multimedia que a la hora de abordar las características técnicas bajo las que se operan, esta cuestión, por sí sola, nos ocuparía más allá de lo que parece razonable para el marco de esta asignatura de Master. Por una parte, porque desbordaría el ámbito competencial del Periodismo multimedia, de otra, porque sería inabordable hacerlo en profundidad en una revisión teórica de este tono. Por ello, lo que se ofrece a continuación es, fundamentalmente, una revisión genérica sobre cuáles son las herramientas de producción que permiten la construcción de textos multimedia y, aún más importante, conocer qué aportan, y cómo lo hacen, en el proceso de realización de un productos multimedia informativos. El conocimiento sobre ambas cuestiones es, sin duda, imprescindible para el ejercicio profesional, no tanto porque vaya a ser una necesidad la aplicación directa del mismo, sino porque se trabajará en un contexto en el que el manejo mínimo de estos conceptos, en la relación con otros profesionales del ámbito técnico, facilitará notablemente los procesos laborales y el alcance de los resultados deseados.

El siguiente interactivo muestra de forma resumida, a través de una animación, algunos de los principales hitos evolutivos de desarrollo de la web.

Lenguajes de desarrollo web

La evolución de los lenguajes de programación es tan activa como la propia evolución de los dispositivos y soportes multimedia y, especialmente, de la red Internet.

Cada uno de ellos cumple una función determinada en un desarrollo multimedia. Mientras los primeros cumplen una función básica de estructuración y modelado de apariencia, los segundos son la base sobre la que se sustentan las rutinas esenciales, y los últimos se encargan, en la mayoría de los casos, de manejar los comportamientos interactivos que se producen entre el usuario y el sistema.

Para comprender mejor cómo nos servimos de cada uno, cuáles son los que nos interesan desde la perspectiva de la Producción y Realización multimedia, y cuáles son sus características, daremos un repaso rápido por los que resultan fundamentales para nosotros.

Básicamente podemos hablar de los siguientes tipos de lenguajes de desarrollo:

Lenguajes de marcado (HTML, XML, XHTML…) Es un lenguaje capaz de modificar un documento donde, junto con el nombre se incorporen etiquetas, marcas o anotaciones con información adicional. Es la tipología de lenguajes utilizados dentro del entorno de productos web. HTML5  mejora y normaliza notablemente algunas de sus posibilidades, especialmente las relativas a la inclusión de elementos multimedia. En la metodología actual, operan de forma separada pero conectada con los lenguajes de presentación (CSS, CSS2 y CSS3) y los lenguajes de scripting.

Lenguajes de presentación. Los lenguajes de presentación realizan, como indica su nombre, un modelado de otro lenguaje (habitualmente de marcado) para realizar una presentación visual determinada. El lenguaje de presentación por excelencia en la web es CSS (Cascade Shets Style).

Lenguajes de programación Dentro de estos podemos clasificarlos en función de diferentes criterios (Nivel de abstracción, propósito, evolución histórica, manera de ejecutarse, manera de abordar la tarea a realizar, paradigma de programación, lugar de ejecución, concurrencia, interactividad, realización visual, determinismo y productividad)

Pero desde la perspectiva que nos interesa en este curso, nos centraremos en conocer aquellos que más relevancia tienen para el trabajo periodístico y de comunicación y que son la base del desarrollo en el ámbito web y, dentro de estos, los orientados tanto a la web propiamente dicha como al desarrollo para móvil.

Fuente: LIND Blog
Fuente: LIND Blog

Algunos lenguajes están orientados al desarrollo de script para la web. JavaScript es el lenguaje que forma parte, junto con HTML y CSS, del estándar de desarrollo web. Se trata de un lenguaje interpretado utilizado, fundamentalmente, en el diseño de productos web para otorgar interactividad desde el lado cliente (fundamentalmente). Otros lenguajes que cumplen esta función, desde el lado servidor, son PHP o ASP.net.

En el ámbito de la web, pero también del desarrollo de aplicaciones, Phyton es el lenguaje claramente emergente.

Otros lenguajes como Java, C++, Phyton, Ruby…, sirven tanto para el desarrollo de aplicaciones como para la web, pero resultan más complejos de aprender y quedan fuera de nuestro punto de interés.

El índice TIOBE muestra cuáles son, actualmente, los lenguajes más utilizados.