¿Qué idiomas debo aprender para poder codificar mi propio sitio web interactivo?

Ya sabes HTML, CSS y JavaScript. jQuery sería tan fácil como tomar una taza de té para ti, pero es posible que no necesites jQuery.
También necesitarías aprender una de las siguientes tecnologías de back-end,

  1. PHP
  2. Rubí
  3. Pitón
  4. NodeJs
  5. Java
  6. Scala
  7. Ir

etc.

PHP será lo más fácil para una persona como usted que recién comienza con los idiomas del lado del servidor. Pero sería mejor aprender un marco, lo que facilitará su trabajo y también crearía algo que sea seguro, fácil de mantener y extender.

Los siguientes son algunos marcos para los idiomas anteriores,

  1. PHP -> Laravel, Symfony, Yii, CakePHP, CodeIgniter, Phalcon, Slim, Kohana
  2. Ruby -> Ruby on Rails, Sinatra, Cramp, Volt
  3. Python -> Django, Flask, Pyramid, Web2Py
  4. NodeJs -> Express, Meteor, SailsJs
  5. Java -> Spring, Play Framework para Java
  6. Scala -> Play Framework para Scala, Scalatra
  7. Ir -> Beego, Martini, Revel

Si está comenzando con PHP, CodeIgniter es el marco con la curva de aprendizaje más corta y amigable para principiantes.

Edición: si estás empezando con Ruby, ve a Ruby on Rails, encontrarás una gran capacitación interactiva de ruby ​​and ruby ​​on rails en CodeCademy (más adelante podrás saltar a otros frameworks Ruby Life Beyond Rails).

Quien quiera desarrollar su propio sitio web interactivo debe tener conocimientos de Desarrollo de front-end, Middle ware y Back-end.

Parte frontal: Para dar apariencia y tacto.
HTML
CSS
JavaScript
Jquery
Ajax
Angular js
Bootstrap (Cualquier marco de diseño web sensible)
continúa …
Middle Ware: Para proporcionar datos dinámicos a su sitio web.
Java
PHP
ROR
.RED
continúa …
Back End: Para almacenar datos.
Oráculo
MySQL
MongoDB
Redis
Dependiendo del alcance y uso de su sistema.
Servidor web:
Apache tomcat
JBoss
Pescador de pescado
continúa …

Las tecnologías pueden variar, pero todo lo que desee puede hacer conociendo las tecnologías anteriores mientras desarrolla el sitio web.

Bueno, la respuesta no es tan sencilla.
Dependo en gran medida de la cantidad de trabajo que desee realizar y de si está dispuesto a usar cosas que ya existen.

La forma ‘fácil’ sería obtener la instalación de un foro phpbb3 (o software similar) e ir desde allí.
Tal vez combine eso con una página de WordPress y un complemento que une estas dos cuentas, de modo que una de ellas funcione en la otra.

Si quieres hacer todo el trabajo por ti mismo, tendré que avisarte. Pasará horas de trabajo y el resultado final probablemente estará por debajo de las capacidades de los sistemas existentes que son de uso gratuito.
Por otro lado, puede aprender mucho, obtener una gran satisfacción al crear sus propias cosas que funcionan (y ver cómo otras personas lo usan) e incluir características que los otros sistemas pueden carecer de una manera bastante sencilla.

Para hacerlo usted mismo, deberá poder crear las tres ‘partes’ de un sitio web complejo.

1. Las cosas visibles para el usuario
Esto será en gran parte HTML y CSS con aspersiones de JavaScript para algunas de las características más complejas.
Hay muchos marcos de JavaScript (como jQuery) que te facilitarán la creación de esta parte.
Alternativamente, puede utilizar Flash o un applet de Java.

2. Las cosas que hacen el trabajo.
Este es el código que realmente comprueba si un usuario ha iniciado sesión, decide qué mostrar, administra las publicaciones del foro, etc. Lo ideal es que el usuario nunca vea esta parte (incluso los errores creados o generados por ella deben convertirse en un formato fácil de usar usando las cosas de 1.)
La forma más común de hacer esto es PHP.
Es posible que desee combinar JavaScript con PHP para actualizar el contenido de su página sin volver a cargar toda la página. (por ejemplo, mensajes de chat, o notificaciones de mensajes privados).
Aunque hay otras opciones. Java también puede manejar esto bastante bien. (Mira las otras respuestas para más sugerencias.)

3. Las cosas que manejan los datos
Necesitarás algo para almacenar y recuperar datos. De las cuentas de usuario a los mensajes del foro.
La respuesta típica es algún tipo de base de datos, generalmente utilizando mySQL o alguna otra versión “abierta” de SQL.
Sin embargo, existen otras opciones. El más conocido de estos es XML.
Sin embargo, no puedo recomendar un método de almacenamiento basado en archivos. Por lo general, será significativamente más lento, menos flexible, menos capaz y tendrá una mayor carga de servidores que casi cualquier servidor de bases de datos (incluso el más simple).
Muchas personas han pasado mucho tiempo optimizando servidores de bases de datos. Le será difícil hacer coincidir sus resultados por su cuenta dentro de un período de tiempo razonable. Simplemente no puedo recomendarlo para más que propósitos académicos / de estudio.

En general, diría que la forma más utilizada y, por lo tanto, la mejor documentada sería:
+ HTML, CSS y JavaScript (utilizando marcos como jQuery) para el ‘frontend’ (las cosas visibles para el usuario)
+ PHP para el código ‘de trabajo’ real (potencialmente utilizando JavaScript para la comunicación en tiempo real con la interfaz)
+ SQL para el manejo de datos (ejecutando consultas SQL en la base de datos desde PHP)

Hay muchas maneras y todas ellas dependen de cuánto tiempo y esfuerzo quiera dedicar a aprenderlas y aplicarlas.

Examine brevemente todas las respuestas que recibió, decida cuál de las opciones propuestas le parece buena y realista para su conjunto de habilidades y su objetivo, y luego deje de preocuparse y comience a hacerlo ^^

Atentamente
Raszul

Gracias por A2A

Además de HTML y CSS necesitará Javascript por supuesto (incluido jQuery). El marco de bibliotecas adicionales que desee utilizar depende de usted, pero ser bueno en Javascript es realmente una necesidad. Entonces necesitas un lenguaje de fondo. Yo no miento PHP. Hay idiomas más modernos con grandes marcos como Ruby, Scala, Clojure, Python, Erlang, Elixir … solo para nombrar algunos. Si necesita aprender un nuevo lenguaje backend, tomaría uno de ellos en lugar de PHP. Si necesita un webframework para los idiomas, simplemente busque en google language + webframework y encontrará más que suficiente para cada idioma. Con respecto a los marcos frontales, ya trabajé con Backbone y Ember y con la biblioteca de vistas React. Personalmente no me gustaba Ember porque se sentía demasiado pesado. Mi favorito actual es React (React no es un marco, sino una biblioteca de vistas). No puedo decir nada sobre angular, pero tal vez también echar un vistazo a eso.

Yo diría DEFINITIVAMENTE Javascript. Y como alguien que ha hecho perl (y php) o muchos años. ¿Por qué no usar simplemente el mismo idioma, javascript con angular para el navegador y node.js para el back-end? HTML y CSS llenan el vacío de presentación, javascript en ambos lados para las cosas dinámicas. La pieza que podría quedar es un almacén de datos, probablemente debería usar un almacén de documentos como MongoDB para eso. Lo que es extraordinario porque almacena efectivamente objetos javascript. Es una gran familia feliz de aplicaciones de estructuras y código javascript.

Elegir qué tecnología utilizar puede ser el problema más difícil que enfrenta. Lo que haría es ver qué tan lejos llegas con lo que sabes (en tu caso, JavaScript). Luego, al enfrentar un problema concreto, volvería a mirar mis opciones.

Si está interesado en comprender lo que está haciendo, le aconsejaría no utilizar marcos. Aprendes más al pasar por los detalles tú mismo. Javascript y un poco de PHP para el servidor deberían ser suficientes.

Si no está tan interesado en comprender, pero solo quiere que el sitio web esté en funcionamiento, puede consultar los tutoriales de algunos de los marcos populares y verificar si algunos de los ejemplos están cerca de lo que desea y tomarlo desde allí.

He probado varios marcos, pero como trabajo solo esporádicamente en interfaces web, me resulta más fácil limitarme a JavaScript y PHP (o Python).

Sólo quiero responder a la pregunta del lado del servidor.
Necesitas un lenguaje de servidor y quizás un framework.
Como un sitio más personal (“mi sitio”), creo que no debes usar java / scala (to fat) o go (muy nuevo y compilado),
Recomiendo elegir entre:
PHP (con quizás Yii o partes de Symfony), Ruby on Rails (3 o 4), Python / django, Node.Js pero Sails no es muy estable, así que quizás busque otros paquetes de Node en Google para su problema

Para sitios web interactivos y hermosos debes aprender:

  • HTML5
  • CSS3
  • JavaScript