¿Qué idioma / marco debo usar para mi nuevo inicio web? Estoy buscando un marco que tenga recursos para aprender, que sea fácil de comenzar e iterar, y que sea elegante.

Use el lenguaje que lo lleve más rápido y le permita a usted / a su equipo iterar fácilmente.

Eso generalmente significa lo que sabes ahora . Pasar unas semanas para descubrir un nuevo idioma es algunas semanas en las que podría haber verificado la viabilidad de su negocio.

Cuando tenga su MVP y algunos comentarios / tracción del mercado, vuelva a evaluar. (por ejemplo, digamos, dentro de 1 mes)

En general, en ese momento tendrá una idea mucho mejor de lo que necesita, las limitaciones de espacio de su aplicación, las herramientas disponibles, etc.

Siendo realistas, a menos que esté haciendo un inicio de un idioma específico como say, phpfog o say una tecnología de cómputo intensivo de big data, casi cualquier lenguaje debería llevarlo a una serie A. Está probando el ajuste del mercado de productos, y eso generalmente no implica ningún lenguaje de programación en particular.

Una nota, las startups generalmente juzgan mal lo difícil que es obtener un buen talento para el desarrollo. Entonces, una vez que esté sentado en su MVP y algunos fondos en la cartera, puede hacer 1 de 3 cosas.

a. el último y mejor, que atrae a las personas de vanguardia (que también son proporcionalmente más duras y más caras de contratar). leer: es posible que no obtengas tu superestrella de Rails.

si. el más común disponible (para su ubicación / sus amigos o si subcontrata, su ubicación subcontratada, piense fundamental)

do. ve por lo que sabes (si eres un chico de tecnología), imaginando que puedes entrenar a la gente en el futuro.

YMMV. Su situación específica tendrá diferentes compensaciones.

Siendo Rubiest, habría votado por RoR, pero respondería de la siguiente manera:
Backend:
– node.js. Casi nada nuevo para aprender y un rendimiento relativamente bueno, especialmente para operaciones intensivas de E / S asíncronas y concurrencia.
– MySQL. Aunque mongodb es una tendencia y rápida en inserción y recuperación, no es tan bueno en las actualizaciones. Además, MySQL está funcionando bien, nada nuevo que aprender y tener una comunidad gigante. Postgresql también es una buena opción.
– Delegue cualquier proceso de backend que pueda a otro idioma si necesita más rendimiento.

Interfaz:
– Columna vertebral. Nuevamente, nada nuevo que aprender y buena modularidad.
– html5 y bootstrap. Si se utilizan correctamente, pueden darle un aspecto profesional a bajo costo.
– Si necesita gráficos o grandes visualizaciones, use d3.js.

Aunque esta respuesta parece muy típica / cliché, esta es una buena receta.

Desarrollado por buenas herramientas de monitoreo posteriores a la implementación, como newrelic y google analytics, está listo para rockear.

PD: mantén las cosas simples. “La optimización prematura es la raíz de todo mal”, Donald Knuth.

Una respuesta precisa realmente depende de lo que esté haciendo con su “inicio web”. Si está creando un sitio complejo como Quora o Facebook, necesitará un conjunto completamente diferente de herramientas que si está haciendo algo simple.

Si su sitio web es tan simple como lo que representa su negocio, puede hacer algo tan fácil como usar WordPress o Ruby on Rails y terminar con eso.

Si el sitio web es su producto, entonces probablemente esté en la categoría de “sitio complejo” y no quiera meterse con sistemas o lenguajes que no son muy compatibles, no se usan ampliamente o no se han enfrentado a rigurosos pruebas de fuego. En este caso, Python es casi seguro su mejor opción para abordar 1, 2 y 3.

Algunas razones a favor de Python:

  • Es muy conocido, fácil de aprender y se enseña en muchos programas de CS, por lo que será más fácil contratar personas.
  • Hay muchos marcos para la construcción de sitios, incluidos Pylons y Django, que utilizan muchos sitios web grandes, incluido este. (Quora usa pilones, Python y AWS ¿Qué lenguajes y marcos se usan para codificar Quora?)
  • Es un lenguaje de programación muy elegante y consistente.
  • Tiene documentación excepcional y excelentes recursos de aprendizaje como http://learnpythonthehardway.org/

Algunas razones contra otras opciones:

  • PHP : tiene muchas inconsistencias como lenguaje que resultan en errores sutiles y difíciles en bases de código maduras.
  • PHP : es realmente difícil mantener una base de código madura rápidamente. Es rápido si tienes mucho cuidado o usas algo como HipHop para PHP ( https://developers.facebook.com/ …).
  • Rails hace demasiado trabajo por ti. Esto puede parecer extraño, pero una vez que pasa las etapas iniciales de un sitio web, Rails puede detenerlo fácilmente.
  • Javascript es necesario en el navegador e interesante en el servidor, pero no es un lenguaje fácil de entender para muchos programadores.

EDITAR: Estoy de acuerdo con la respuesta de Janssen Choong también. Solo abordaba algunos de los aspectos técnicos de esta elección y no los aspectos comerciales muy importantes.