¿Es posible crear una aplicación web usando solo HTML5, CSS3 y JavaScript?

Lo más probable es que sí. Como aludió Ed Macovaz, necesitaría una infraestructura para ejecutar Javascript en el lado del servidor para ejecutar la lógica de su aplicación web. Hay bastantes compañías que ejecutan Node.js en su entorno de producción (ver: ¿Qué compañías están usando Node.js en la producción en Texas?), Por lo que esto es factible. Alternativamente, si sus aplicaciones usan servicios web de terceros, entonces todo lo que necesita es una forma de conectarse a ellas, lo cual también es fácil con Javascript. Ahora, aún queda por ver hasta dónde puede llegar con solo Javascript en el lado del servidor . Un entorno de back-end de idioma mixto es bastante común, por lo que siempre puede migrar / usar idiomas / infraestructuras adicionales según sea necesario.

Suponiendo que aloja su propio back-end, necesitaría evaluar si la infraestructura disponible con node.js para persistencia, almacenamiento en caché, equilibrio de carga, etc. es aceptable para usted. En cualquier caso, es una buena plataforma para comenzar con su nuevo servicio, ya que puede comenzar a funcionar con bastante rapidez y probar las cosas de manera ágil.

Puede crear una aplicación que se ejecutará en un navegador utilizando solo HTML5, CSS3 y Javascript. HTML5 tiene un caché de aplicaciones que permitirá que una página especifique un manifiesto de elementos que deben almacenarse en caché sin conexión y le permite usar el almacenamiento local (creo que SQlite). Luego escribe su aplicación en javascript: hay una variedad de bibliotecas (como Backbone.js) que proporcionan herramientas (como modelos) para que pueda trabajar. Esto le permitiría escribir una aplicación que tenga mucha funcionalidad sin necesidad de un servidor. Gran parte de WebOS se construye utilizando estas tecnologías y creo que esto es lo que estás preguntando

Dicho esto, esto hace una aplicación que puede obtener de la web, pero tal vez no sea una “aplicación web”. Si no está usando la web después de descargarlo, es igual que cualquier otra aplicación que pueda descargar. Si ve una aplicación web como algo que necesita conectarse a la web (es decir, un servidor) todavía puede hacerlo con Javascript, pero escribirá código del lado del servidor usando algo como Node.js.

Como dicen las otras respuestas, sí, pero es posible que deba hacer algunas cosas básicas, como guardar datos.

Aquí es donde entra en juego Backend-as-a-Service, como Parse, Cloud Save de Google Cloud Platform y algunas características de Amazon Web Services como la API de Amazon DynamoDB para aplicaciones web.