¿Se puede crear un sitio web dinámico utilizando solo HTML, CSS y JavaScript?

Teóricamente, sí , pero de manera muy limitada.

Recientemente , un cliente se me acercó para crear un sitio web que les permitiera editar el texto del sitio web sin tener que entrar para editar el código HTML. El giro? Solo podía usar HTML, CSS y Javascript .

La primera versión vinculaba un archivo javascript a la página index.html. El javascript apunta a identificadores que contienen texto de marcador de posición o nada en absoluto (“Cargando …”) y dependiendo de la conexión a Internet del usuario ni siquiera aparecerá.

Así es como se veía el archivo de configuración durante el desarrollo

var MainHeading = “AHORA JUGANDO”
var FilmTitle = “Star Wars Episodio VII” // Título de la película
var RunTime = “2 horas 8 minutos” // Tiempo de ejecución
var RatingCode = “pg13” // Código de calificación para la imagen
var time1 = “6 PM Nightly” // Showtime
var time2 = “” // Matinee
var time3 = “” // Próxima película
var trailer = “” // Enlace de trailer

Hoy, estoy trabajando en crear un panel de administración que les permita editar los datos generando automáticamente un archivo JSON (usando los mismos idiomas). Pero por ahora, funciona y demuestra que puede crear un sitio web algo dinámico con solo HTML, CSS y Javascript.

¡La respuesta es 100% sí!

Puede hacer tanto la programación frontal como la back-end con javascript. ¿Has oído hablar de la pila MEAN?

MongoDB (base de datos), Express (marco web), AngularJS (marco de desarrollo front-end) y Node.js (servidor web). Todas las tecnologías javascript.

Ahora solo necesita HTML y CSS para la apariencia de su sitio.

¡Buena suerte!

Sí puede.

La mayoría de los sitios web que necesitan estas características dinámicas generalmente las necesitan debido a una cosa importante: los datos. Mover datos dentro y fuera de su aplicación con la ayuda de una base de datos solía ser algo que tenía que hacerse a través de una plataforma de servidor de aplicaciones, por ejemplo, PHP.

Sin embargo, nos estamos moviendo hacia una Web más reactiva con componentes desacoplados y asíncronos que pueden comunicarse fácilmente con puntos finales remotos. Entonces, en lugar de usar PHP y escribir código PHP para acceder a los datos y actualizar la página web, puede usar Node.js para construir una API basada en REST y luego usar AJAX para obtener los datos de esa manera y luego actualizar su DOM. Además, puede hacer esto varias veces después de la actualización; algo que el preprocesamiento del lado del servidor no le permite hacer.

Además, hay muchas más opciones de base de datos disponibles que funcionan muy bien de forma nativa en la interfaz. Si todo lo que necesita son datos de valor clave y funciones de consulta mínimas, puede aprovechar bases de datos como firebase. Y si necesita más, es bastante fácil enviar sus consultas a través de la API Node.js [de la que hablamos anteriormente], que puede acceder a MySQL y otras bases de datos SQL de forma nativa.

Sin embargo, una cosa en la que tiene que trabajar más es la seguridad, porque ir al 100% de la interfaz simplemente no es tan seguro porque todos sus datos son claramente visibles [en sus archivos HTML, CSS y JavaScript] por naturaleza, en lugar de un pre -procesador como PHP [donde su código PHP está oculto a la vista pública].

Por lo tanto, es muy factible crear un sitio web dinámico totalmente funcional [o aplicación web] utilizando solo HTML, CSS y JavaScript. No es fácil, pero posible.

Para poder tener un sitio web en pleno funcionamiento, necesita un lenguaje de programación para poder conectarse a una base de datos en la que se almacenan sus contenidos. PHP, Ruby on Rails, Python, etc. son algunos ejemplos de esos lenguajes.

HTML, CSS y JavaScript solo se utilizan para construir el front-end de los sitios web, por lo que solo pueden ser estáticos.

Creo que es necesario mencionar que, si bien JavaScript puede realizar solicitudes AJAX, en realidad puede obtener otros sitios web / contenido de servicios, para que pueda tener un sitio web dinámico de esta manera.

Tal vez se refiera a usar solo HTML, CSS y JavaScript en el Front-End, si esa es su pregunta, es, bueno, parcialmente sí, porque no puede tener una base de datos real o alguna interacción con el servidor, pero si solo quiere para aprender JavaScript y hacer todo el trabajo simplemente usando JavaScript, en estos días puede tener JavaScript en bases de datos y el servidor usando Node.js y MongoDB, por lo que puede tener un sitio web / aplicación funcional con inicios de sesión, formularios, sistema de comentarios, etc. usando JavaScript, HTML y CSS.

Supongo que eso depende de lo que consideres “dinámico”, supongo que en teoría puedes confiar únicamente en window.localStorage para mantener una base de datos personal para el usuario o tener una aplicación de página única que desaparecerá una vez que el usuario cierre la ventana .

Otra opción interesante es confiar en terceros para almacenar datos, obtener credenciales del usuario para algún otro sistema que usen y usar su API para almacenar datos. por ejemplo, puede crear un sitio que administre aspectos de una cuenta de usuario de Twitter sin tener que escribir ningún back-end

Sí, puedes, pero sería limitado.

El ejemplo que he visto es una lista de tareas que utiliza el almacenamiento local para registrar esta lista. Funciona y es dinámico.

El problema es que está vinculado a la instancia del navegador. Si tiene una computadora portátil y una computadora de escritorio, tendrían dos listas diferentes.

La otra que he visto es una página html de diapositivas. Una página presenta varias páginas en pantalla. Ahora uso las diapositivas de Google para poder colaborar en cosas