Marco moderno de desarrollo web front-end

Soy un desarrollador web de pila completa (principalmente JavaEE con algo de Ruby y un poco de experiencia en Clojure) de profesión y planeo construir un sitio web con un amigo para un conocido mutuo.

¿Cuál sería un buen marco front-end de última generación para aprender y se vería sexy en el CV?

planes

  • Comience de manera simple con una galería de imágenes, un blog, un calendario de próximos eventos, compatibilidad con CMS y la posibilidad de que los visitantes agreguen comentarios (y se registren).
  • construya una solución REST de back-end con Sinatra (mi amigo está entusiasmado con eso) y una base de datos
  • use HTML5 para hacer un sitio que sea escalable para diferentes dispositivos y tamaños de pantalla

Requisitos

  1. Soporta TDD o BDD.
  2. No es de última generación, por lo que se ha estabilizado y tiene una comunidad activa (bonificación si se manifiesta en SO), por lo que podemos consultar a otros, si tenemos problemas.
  3. Lo último en lo que queremos gastar nuestro tiempo es en depurar la magia dentro del marco, por lo que estamos dispuestos a sacrificar la facilidad de la sintaxis por una herramienta bien documentada y funcional.
  4. Personalmente, prefiero no elegir nada que requiera PHP, si puedo evitarlo.
¿Desea quedarse con los idiomas que nombró o está abierto a aprender, por ejemplo, Python?
Aprender Python también funcionaría, si abre posibilidades.
Sugerencia: Java (especialmente para el desarrollo web) ya no se ve "sexy" en un CV (solo digo) Tal vez AngularJs y NodeJs, para que solo tenga que aprender un nuevo idioma. AngularJs es "sexy", demandado, potente y bastante fácil de aprender. Del lado del servidor, aunque NodeJs está en auge, el 85% de los sitios web del mundo se ejecutan en PHP (y la gran mayoría de ellos en WordPress :-( Si está utilizando esto para fines profesionales, busque qué idiomas tienen más demanda/ que pagan más. Si quieres usar una base de datos "sexy", prueba Mongo o Couch. Si quieres un empleo, prueba MySql u Oracle.
Sugerencia adicional, busque sitios de trabajo populares en su país (o mire los trabajos en este sitio) y encuentre las habilidades que 1) tienen más demanda (¿cuántos trabajos de Sinatra hay por ahí?) y 2) ¿cuánto cuesta? diferentes habilidades pagan y luego averígualo. Tenga en cuenta que, si bien tener un portafolio ayuda, es posible que no consiga un trabajo en la parte posterior de "Hice un sitio web para mi amigo". Sigo recomendando AngularJs y NodeJs, pero señalo que probablemente haya diez veces más trabajos de PHP que Node.Js Python y Django también son divertidos y demandados.
Ya han pasado cuatro años. ¿Alguna vez elegiste un marco? Si es así, háganos saber cuál, para ayudar a otros en el futuro.
Por cierto, optaría por algo basado en NodeJs, si también desea desarrollar para el lado del cliente. De esa manera, solo necesitas aprender un idioma. Veo bastantes vacantes para NodeJs.
Bueno, como dije, elegir a Sinatra no fue mi elección. La pregunta no es realmente sobre back-end. Terminé optando por AngularJS + Bootstrap, pero no encontré ninguna opción decente de CMS, así que omití esa parte.

Respuestas (2)

Mi recomendación es simplemente aprender Angular o React , como mencionaste en los comentarios. Ambos son maduros y populares, por lo que puede encontrar fácilmente la documentación.

Entonces, ¿hay alguna herramienta que ayude a desarrollar las capacidades de CMS con estos dos o hay que escribirlo todo desde cero?
No que yo sepa; Lo hice desde cero. Sin embargo, no esperaría uno: podría ser difícil hacer coincidir automáticamente la API entre el marco frontend y el servidor backend.
No estoy realmente preocupado por la API, más por la creación de componentes de interfaz de usuario que permitan a la persona propietaria del sitio escribir historias WYSIWYG, decir dónde colocar imágenes entre el texto y qué tamaño de imágenes, etc.

Iba a decir WordPress Codeception , re "¿Cuál sería un buen marco de interfaz de usuario de última generación para aprender y se vería sexy en el CV?" WordPress DOMINA el desarrollo de software, y nadie sabe cómo hacer BDD o TDD. Océano azul. wordpress-bdd.com . ¡Pero entonces la última oración no fue PHP! ¡buuuu!

¿Hay realmente mucha llamada profesional para los chicos de WordPress? Incluso si es así, no puedo verlo pagando mucho
Bueno, es un lugar extraño. Es el fondo absoluto del barril para algunos programadores [no hay ninguna barrera de entrada], pero al mismo tiempo es el mercado de software más grande por un margen enorme. Es un lugar donde la habilidad realmente determina cuánto ganas. Los mejores desarrolladores están creando sus propios mercados. WordPress, al ser la plataforma de software más omnipresente que existe, brinda la mayor cantidad de oportunidades y los mercados más grandes. ¡Pregunte a los desarrolladores de e-com de WooCommerce si hay demanda de sus servicios!
Suena como HTML y desarrollo de sitios web :-) Ciertamente sé lo extendido que está. Siendo un tipo incrustado en tiempo real, obviamente no sé sobre el mercado, así que gracias y +1 por ayudar a otros. ¿ Quizás artículos como este podrían ayudar al OP y a otros a leer esta pregunta?
Sin duda, una buena revelación, yo era un poco elitista contra PHP en ese momento. Dicho esto, actualmente trabajo en el sector financiero y no veo, por ejemplo, que ningún banco importante abandone su configuración actual solo para reconstruir toda su pila de código con PHP/WordPress, porque significaría una revisión total de sus antiguas aplicaciones y costaría décadas. Elegir algo como Angular o React, por otro lado, encajaría fácilmente para desarrollar nuevas aplicaciones de una sola página, independientemente de las soluciones de back-end.
Estoy totalmente de acuerdo. El mejor caso de uso para PHP es la creación de scripts para pequeñas empresas. En otras palabras, "enviar un correo electrónico a todos mis clientes" o "encontrar el artículo con el precio más bajo". Tecnología dura, redes, gráficos, aprendizaje automático: no. Automatización del comportamiento de pequeñas empresas: ¡SÍ! Es una gran plataforma para consultores que desean especializarse en pequeñas y medianas empresas.