Como empezar con Struts

Soy nuevo en el tema de Struts, me podrian recomendar un buen manual, libro, o algo por el estilo.
Qué necesito descargar, y cual es el IDE mas recomendado para este tema.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Depende

¿Qué versión de Struts, para proyectos grandes, medios o pequeños, lo haces por que te lo piden en el trabajo o porqué quieres aprender un framework web, tienes experiencia en un ide (de ser la respuesta si, en cual)?

Imagen de francisco.santiagoj

@wishmaster77

Hola @wishmaster77, yo también estoy interesado en aprender Struts, yo en especial no tengo una versión de Struts en especial, quiero aprender este framework web pues se que es muy usado y solicitado en vacantes de trabajo, en especial uso Eclipse como IDE, pero eso creo que esta de mas.
Espero me puedas asesorar.

Saludos

Imagen de ezamudio

Lo primero

Lo primero que debes hacer para aprender Struts (sobre todo struts 1.x), es aplicarte una lobotomía, o cuando menos terapia de electroshock, para no querer suicidarte cuando lo empieces a manejar.

Imagen de francisco.santiagoj

@ezamudio

JAJAJA, pero que pasa si muchas veces te piden saber Struts y Spring, por lo que he visto en tus comentarios, tu sugieres que nos pasemos directo a Trapestry, que sugieres?

Saludos

Imagen de ezamudio

opciones

Pues tal vez no Tapestry, pero hay otras opciones. Struts 2 sería la más jodida de todas, pero también está JSF en sus diversas variantes que si ICEFaces, RichFaces, etc, tienes Wicket, Click, Play!, el mismo SpringMVC y Spring Webflow... si tienes más libertad puedes ver otras alternativas como Grails, que es principalmente desarrollo en Groovy pero por lo mismo puedes reutilizar cosas que ya tengas hechas en Java, o Lift que es para Scala (ahí sí no sé qué tanto puedas reutilizar de lo que tengas en Java, tengo entendido que la integración Scala-Java no es tan fácil/transparente/fuerte/comoquierasllamarle como Groovy-Java).

La verdad es que Struts 1 ya es completamente obsoleto, es un pasito arriba de usar JSP's pelones, es difícil de desarrollar aplicaciones con eso (es todo un rollo estar pasando de una página a otra, el manejo de las acciones, los objetos que capturan datos de las formas, etc), mantenerlas, entenderlas, etc. En su momento fue bueno porque era prácticamente lo único que había, pero hoy que la queja es que hay demasiadas alternativas, la verdad es que no hay razón para usar Struts 1 en un desarrollo nuevo. Incluso para agregarle cosas a desarrollos existentes, yo preferiría buscar algo que pueda coexistir con Struts 1 en vez de seguir usándolo (tal vez SpringMVC sea buen candidato para eso).

Imagen de francisco.santiagoj

@ezamudio

Entendido, me voy a saltar directo a Spring MVC, mi duda es si sabiendo SpringMVC me puedo postular para una vacante como las que piden tener conocimientos en Struts, Spring y Hibernate?

Saludos

Sabiendo SpringMVC te permite

Sabiendo SpringMVC te permite ser elegido en vacantes que soliciten SpringMVC... pero puedes postularte en lo que quieras.

Te aconsejo que aprendas por convicción mas que por obligación, no siempre vas a usar las herramientas que todos usan... por ejemplo yo no uso Eclipse y todos me ven rete feo, nomas les echo ojitos de "muere!" pues el hecho de que no use XX cosa no significa que no sepa hacer lo que me pidan... a lo que voy es que hasta la fecha sigo usando Netbeans y YO NO ME IRIA A UN LUGAR DONDE ME LO PROHIBAN porque a mi me gusta y aunque también le hago al eclipse no me siento tan cómodo como con Ntebeans (esa es otra historia) El punto es que si yo usara algo porque el promedio de personas lo usan puede que afecte mi productividad y si trabajas lento viene mas problemas.

Cual es tu interes?
Sabes para que sirve cada uno?
Has comparado con alternativas?

Un maestro me habia dicho cuando le preguntaba si era mejor aprender XX o ZZ:
- Sabes para que sirve cada uno?
# no
- Entonces no sabes ni lo que preguntas, estudialo y respondete tu!
# :S

senti gacho pero tenia razon: si me hubiera dicho por ejemplo .NET es la onda, ahorita estaria escribiendo en .NETmexico y no en JavaMexico jajajaja pero quizas estaria quejandome que por esto, por el otro... porque no fue desicion mia.

Yo si te recomendara algo para empezar a aprender frameworks web para MVC te recomendaria Wicket por ser muy facil y poco enredado (PARA MI) pero eso no es garantia de que encuentres la super chamba

Aportacion: opciones

Lift que es para Scala (ahí sí no sé qué tanto puedas reutilizar de lo que tengas en Java, tengo entendido que la integración Scala-Java no es tan fácil/transparente/fuerte/comoquierasllamarle como Groovy-Java)

En lo que estoy jugando con Scala parece ser que la integración Java-Scala es sencilla. Sin embargo a nivel Lift puedes utilizar el software disponible en Java más la filosofía es algo diferente (es parecido a Play! en el aspecto que puedes usar cosas de Java; pero la filosofía es algo diferente a la filosofía javalística convencional).

La verdad es que Struts 1 ya es completamente obsoleto, es un pasito arriba de usar JSP's pelones, es difícil de desarrollar aplicaciones con eso (es todo un rollo estar pasando de una página a otra, el manejo de las acciones, los objetos que capturan datos de las formas, etc), mantenerlas, entenderlas, etc. En su momento fue bueno porque era prácticamente lo único que había, pero hoy que la queja es que hay demasiadas alternativas, la verdad es que no hay razón para usar Struts 1 en un desarrollo nuevo. Incluso para agregarle cosas a desarrollos existentes, yo preferiría buscar algo que pueda coexistir con Struts 1 en vez de seguir usándolo (tal vez SpringMVC sea buen candidato para eso).

+100000000^(10x500). Struts 1 y 2 son pesados. Y en general Struts 2 no lo veo como un gran avance; es básicamente un esfuerzo en quitarle el XML a Struts 1, en otras palabras "Struts via annotations". El problema cómo bien comenta @fransico.santiagoj, Struts 1 sigue siendo usado para los proyectos grandes de empresas grandes que comenzaron a tener sistemas hace más de 6 años; y pues cómo por lo general "sólo hay que agregarle muy poco ya todo está hecho", comentan los jefes del departamento de desarrollo o los jefes.

Recomendación: Pues ahorita la cosa está muy muy variada y depende que quieras ser. Si lo que te interesa por ahora es buscar un trabajo rápido y medio pagado, pues en lugar de aprender Struts, te recomendaría aprender PHP (si lo que buscas es colocarte rápido, la mejor opción es PHP o VB); pero si le quieres seguir en Java te recomendaría mirar otras opciones; de momento el stack más usado en la industria tiene que ver con JSF, Weld/Seam, Spring, Hibernate y otras cosas.
En cambio si tienes tu propia empresa y vas a ofrecer capacitaciones o desarrollo mi recomendación sería Spring MVC (cómo opción para proyectos grandes), Lift (Scala, que Scala es un lenguaje sobre JVM; este para proyectos tanto grandes cómo pequeños) y Play! (para proyectos que necesitas para ayer a las 9:00 AM).

Java de verdad que lo que tiene son opciones, yo que tu vería cual me sienta mejor con mi manera de pensar y las cosas que quiero hacer. Saludos.

Re: Sabiendo SpringMVC te permite

Pues de hecho ya nada es garantía. Que hay más gente que pide X o Y cosa es cierto y siguiendo esa lógica di mi recomendación hacia PHP y VB (que en OCC por ejemplo hay miles de ofertas que piden desarrolladores en dichos lenguajes). Encontré hace poco un vídeo muy interesante (pongo lo liga si lo encuentro) sobre la educación y cómo antes con tener un título universitario podías ser millonario y exitoso; en cambio ahora la gente dice: "Puta, ese wey se quemó el cerebro y las pestañas 5 años y ve, terminó manejando un taxi".

Si bien es cierto también que para ser exitoso hay que tener pasión y gusto por lo que haces y no una obligación.

Imagen de luxspes

Nada esta garantizado

Pues de hecho ya nada es garantía.

"ya" nada es garantia? por que antes si lo era? cuando? cuando no habia antibioticos y una simple cortada en el pie o una gripa apenas complicada podia facilmente matarte? cuando podian acusarte de brujeria sobre la evidencia de que si te sumergian en un pozo y no te ahogabas eras bruja? o cuando el gobierno podria ordenar que "mataran en caliente" a los huelguistas?... cuando fue este maravilloso pasado que yo simplemente no puedo encontrar en los libros de historia?...

En otras palabras: nunca nada ha sido, ni sera, garantia, pero las cosas van mejorando...

Que hay más gente que pide X o Y cosa es cierto y siguiendo esa lógica di mi recomendación hacia PHP y VB (que en OCC por ejemplo hay miles de ofertas que piden desarrolladores en dichos lenguajes).

Por ley de oferta y demanda, si sabes lo que muchos saben, tu conocimiento vale poco, pudiendo llegar, de ser muy grande el numero de los que lo saben, a casi no valer nada.

Encontré hace poco un vídeo muy interesante (pongo lo liga si lo encuentro) sobre la educación y cómo antes con tener un título universitario podías ser millonario y exitoso;

Si si, "todo tiempo pasado fue mejor" si tan solo fuera cierto

en cambio ahora la gente dice: "Puta, ese wey se quemó el cerebro y las pestañas 5 años y ve, terminó manejando un taxi".

No es lo que yo he observado... aunque si he oido a mucha gente decirlo.... y aunque es posible que mi percepcion sea survivor bias... apostaria a que mirando con cuidado, aquellos que despues de obtener un titulo universitario terminan manejando un taxi no eran muy buenos estudiantes (o no les gustaba mucho su carrera) desde un principio.

Por supuesto puedo equivocarme... me encantaria escuchar un caso de primera mano de un excelente estudiante, apasionado de su carrera, que termino de taxista (sin factores externos a la carrera que lo llevaran a esa situacion), pero sospecho que un caso asi seguira siendo una leyenda urbana del estilo "el primo de un amigo era un excelente estudiante pero termino de taxista"

Si bien es cierto también que para ser exitoso hay que tener pasión y gusto por lo que haces y no una obligación

No es condicion suficiente, pero en mi opinion si necesaria para ser verdaderamente exitoso.

Imagen de francisco.santiagoj

SpringMVC

Que tal,

Estuve dando una leída rápida a Strust y SpringMVC, y definitivamente creo que para SpringMCV la curva de aprendizaje para mi y en base a los que ya he practicado es menor.
Con Jsp y Servlets me apegue mucho al patrón MVC y ahora viéndolo con Spring es "lo mismo pero mas fácil :)".

Referente a si mi intención de aprender es por "obligación", no es asi, se y he visto proyectos en PHP y ASP, y con lo que hasta ahora he hecho en Java definitivamente me quedo con JAVA, solo que le pregunto a los expertos de este lenguaje que es más poderoso, escalable y con futuro para dedicarle tiempo, (con un hijo y esposa, realmente es muy difícil, pero la pasión por el conocimiento es enorme) y que por supuesto en el mercado este bien remunerado, a quien no le gustaría darle un mejor futuro a los suyos?.

Saludos

Imagen de bferro

Struts sigue siendo muy pero muy usado

A algunos les puede parecer "extraño", pero en México abundan los proyectos que se hicieron con Struts 1.x y siguen existiendo y se siguen haciendo y dan de comer a mucha gente. Puede que a muchos no les guste. A mi en lo personal me gusta con independencia de la comparación que pueda hacer con SpringMVC y otros marcos de trabajo para el Web tier.

De hecho, algunos exestudiantes que trabajan en empresas "grandes" siguen usando Struts 1.x ( ni tan siquiera la versión actual) y no tienen planes inmediatos en esas empresas de pasar a otro framework.

Struts es uno de los pioneros en el campo y estableció muchas de las cosas que otros marcos MVC hicieron. JSF tiene una tremenda influencia de Struts. Los hizo ambos la misma persona: Craig R. McClanahan, quien también metió sus manos en Tomcat.

Spring MVC copió muchas ideas de Struts, y creo que para bien por dos cosas: porque se trataban de buenas ideas y porque permitió que los que usábamos Struts entendiéramos sin dificultad Spring MVC.
Los marcos de trabajo MVC que existen para Flex también están basados en las ideas de Struts. El patrón de diseño de J2EE "Service to Worker" está muy bien implementado en Struts, con una separación muy clara entre el Front controller y el Application Controller lo que no sucede en Spring MVC.

Con esto no quiero decir que Struts 1 sea mejor que SpringMVC. Sería algo ilógico. Lo que sí pienso es que no conviene sentenciar a muerte a Struts y convertirse en su enemigo. Puede que te toque "dormir" con él.

Imagen de luxspes

Muerte a Struts 1! Corta vida a Struts 2! Bienvenido Struts Next

Struts sigue siendo muy pero muy usado

Cierto.

A algunos les puede parecer "extraño", pero en México abundan los proyectos que se hicieron con Struts 1.x y siguen existiendo y se siguen haciendo y dan de comer a mucha gente.

No solo en Mexico.

Puede que a muchos no les guste.

En mi opinion Struts 2 tiene cosas bonitas... Struts 1... para estos tiempos... yo lo siento horrendo.

A mi en lo personal me gusta con independencia de la comparación que pueda hacer con SpringMVC y otros marcos de trabajo para el Web tier.

Mmmm, gustarte con independencia de comparacion me suena a sinsentido... sin comparación, cual es la diferencia entre lo que te gusta y lo que no te gusta? (ninguna)

De hecho, algunos exestudiantes que trabajan en empresas "grandes" siguen usando Struts 1.x ( ni tan siquiera la versión actual) y no tienen planes inmediatos en esas empresas de pasar a otro framework.

Triste situacion la que sigan trabajando en algo tan obsoleto... y mas triste aun si no piensan mejorar...

Struts es uno de los pioneros en el campo y estableció muchas de las cosas que otros marcos MVC hicieron.

Si restringimos el campo a "Java mainstream de facto standard", si, fue pionero. (ya habia cosas como WebObjects como mejor diseño antes que Struts, pero desafortunadamente, todavia hoy, no son muy conocidas).

JSF tiene una tremenda influencia de Struts. Los hizo ambos la misma persona: Craig R. McClanahan, quien también metió sus manos en Tomcat.

Curiosamente JSF 1 tampoco se considera precisamente uno de los frameworks mas amados en Java... en mi opinion (despues de usarlo por 3 años) es uno de los peores ejemplos de overengineering que se ha visto en Java hasta el momento. Se concibio del modo mas anti-restful posible, con llamadas post y dependencias con javascript a grados insospechados.... archivos de configuracion del tamaño del mundo y sin un motor para templating incluido... ya hubiera muerto si no fuera por que los Facelets (templating para JSF) y Seam (soporte RESTful para JSF, reduccion de rollo de configuracion al 75%) lo mantuvieron a flote... la version 2 de JSF ya es algo de lo que se puede hablar con respeto, pero lo unico que quisiera ver morir mas rapido que Struts 1 es JSF 1.

Tomcat por otro lado, es la simplicidad encarnada... por eso me encanta. Por mas que quise pasarme a JBoss, Glassfish, Geronimo, JoNas, etc,siempre volvia a Tomcat (lo unico que quiza algun dia me haga dejar a Tomcat sera quiza Jetty). Pero tambien peca por siemple, y si tienes que hacer proyectos grandes te hace vivir los horreres del ClasspathHell del modo mas sadico posible (lo triste es que los otros "mas grandes y podersoso" no hacen mucho por resolver la situación, o tienen mala integracion con los IDE, o adolecen de los bugs de file locking de java de formas mas perjudiciales, haciendolo a Tomcat mejor opcion).

Spring MVC copió muchas ideas de Struts, y creo que para bien por dos cosas: porque se trataban de buenas ideas y porque permitió que los que usábamos Struts entendiéramos sin dificultad Spring MVC.

De acuerdo, Struts fue una gran idea, de la que cual derivando aun mejores ideas... lo triste es que la gente siga atrapada en Struts 1 tantos años despues.

Los marcos de trabajo MVC que existen para Flex también están basados en las ideas de Struts.

Mmmm, me cuesta trabajo ver la relacion, sobretodo por que Struts se ejecuta dentro del ciclo peticion respuesta de los servlets y Flex es todo en el cliente... o te refieres mas bien a la arquitectura de Flex Data Services? tal ves podrias ofrecer mas informacion? alguna liga tal vez?

El patrón de diseño de J2EE "Service to Worker" está muy bien implementado en Struts, con una separación muy clara entre el Front controller y el Application Controller lo que no sucede en Spring MVC

No me he metido mucho con las tripas de Struts, pero el uso "dia a dia" de una tecnlogia como Struts 1, sin convention over configuration, sin annotations, seguramente usando Tiles aun cuando ya JSP 2.0 ofrece mejores mecanismos para templating, etc, etc, es defintivamente mucho mas fastidiosa de usar que algo como Spring MVC 3. Si el diseño interno es en algun aspecto particular mejor... al final es como tener un excelente motor dentro un automovil que es ya una chatarra... te llevara a donde quieras, pero el viaje sera una monserga (y si el resto del carro se te desarma, tener un motor en excelentes condiciones no te servira de mucho para viajar).

Con esto no quiero decir que Struts 1 sea mejor que SpringMVC. Sería algo ilógico.

Sobretodo seria ilogico si compararas Struts 1 con SpringMVC 3.

Lo que sí pienso es que no conviene sentenciar a muerte a Struts y convertirse en su enemigo.

Sentenciar a muerte a Struts? No. Sentenciar a muerte a Struts 1? Inmediatamente, si lo matamos hoy, ya nos tardamos mucho en hacerlo. Debería haber muerto hace años. Y permitir a los desarrolladores en las empresas utlizar tecnologias mas productivas. (Notese que no tengo nada en contra de Struts 2, ni nada en contra de que aparezca una version 3, no me molesta Struts en si, lo que me molesta (bastante) es el estancamiento en la version 1 del mismo)

Puede que te toque "dormir" con él.

Tanto mas razones para hacer lo posible por matarlo antes. Nadie en su sano juicio deberia verse forzado a usar Struts 1 para nuevos proyectos.
Por supuesto, si a lo que te refieres es que para acabar con un determinado enemigo, es importante conocerlo, coincido contigo completamente. Pero no hay que olvidar que el objetivo de conocerlo es acabar con el.

Struts fue una gran idea, de

Struts fue una gran idea, de la que cual derivando aun mejores ideas... lo triste es que la gente siga atrapada en Struts 1 tantos años despues.

Seguramente tu tienes un empleo donde puedas hacer lo que mas te parezca, hay mucha gente que tiene que hacer lo que le mandan (y bueno me incluyo). Habemos personas que nos gustaria usar lo mas novedoso, lo mas actual pero lamentablemente no en todos lados se permite pues porque salirte de las normas simplemente termina generando un despapaye... imaginate que tu trabajas digamos en la empresa XX donde usan Struts 1 y a ti porque no te gusta quieres usar Spring MVC para las nuevas funcionalidades,,, total lo terminas t¡y lo entregas y si bien va todo "no tiene bugs" pero y que con el mantenimiento? y que con las actualizaciones... etc... ahora necesitan alguien que sepa Struts 1 y Spring MVC (que no es cosa de otro mundo) pero para mantener un sistema necesitas cubrir esos dos perfiles y ahora depende tambien la forma en que hayas trabajado cada framework para hacerlos convivir... NO LO VEO VIABLE... Que se haga todo en SpringMVC Pffffts, no ves que las empresas ya gastaron por un sistema que les costo no se cuantos cientos mil de pesos? Me gustaria ver las caras de los dueños cuando les digas "Tienes que cambiar a SprimgMVC porque es lo mas uufff" No quiero pensar lo que te dirian...

Si no malentendi a @bferro es que el nos explica que "EN SU MOMENTO" fue algo genial, y que gracias a esto han surgido nuevas herramientas y como en un comentario dijo @oscarRys "No hay que patear el pesebre" y el hecho de que exista XX, YY, ZZ en la version supermejorada creo quees bueno mirar abajo y ver el origen de ellos porque por ejemplo me ha tocado ver quienes usan anotaciones y no supieron por que demonios estan ahi, nunca conocieron el struts.xml "Gracias" a la configuracion cero

En el trabajo actualmente estoy usando Struts 2, en proyectos personales uso Spring MVC, le he hecho al struts 1, Wicket, Tapestry ah y JSF por supuesto pero pues en el trabajo tienes que adaptarte a lo que te pidan... El viernes me emocionaba porque tuve la oportunidad de introducir Maven al trabajo y @ezamudio me dijo "mejor usa Gradle" pero pues no es lo que yo quiera para empezar!

El resago tecnologico en el empleo puede provocar frustraciones profesionales jajajaja por eso al llegar enciendo mi computadora y vacio mis frustraciones en mis proyectos!

(si asi fuer

Struts fue una gran idea, de

Struts fue una gran idea, de la que cual derivando aun mejores ideas... lo triste es que la gente siga atrapada en Struts 1 tantos años despues.

Seguramente tu tienes un empleo donde puedas hacer lo que mas te parezca, hay mucha gente que tiene que hacer lo que le mandan (y bueno me incluyo). Habemos personas que nos gustaria usar lo mas novedoso, lo mas actual pero lamentablemente no en todos lados se permite pues porque salirte de las normas simplemente termina generando un despapaye... imaginate que tu trabajas digamos en la empresa XX donde usan Struts 1 y a ti porque no te gusta quieres usar Spring MVC para las nuevas funcionalidades,,, total lo terminas t¡y lo entregas y si bien va todo "no tiene bugs" pero y que con el mantenimiento? y que con las actualizaciones... etc... ahora necesitan alguien que sepa Struts 1 y Spring MVC (que no es cosa de otro mundo) pero para mantener un sistema necesitas cubrir esos dos perfiles y ahora depende tambien la forma en que hayas trabajado cada framework para hacerlos convivir... NO LO VEO VIABLE... Que se haga todo en SpringMVC Pffffts, no ves que las empresas ya gastaron por un sistema que les costo no se cuantos cientos mil de pesos? Me gustaria ver las caras de los dueños cuando les digas "Tienes que cambiar a SprimgMVC porque es lo mas uufff" No quiero pensar lo que te dirian...

Si no malentendi a @bferro es que el nos explica que "EN SU MOMENTO" fue algo genial, y que gracias a esto han surgido nuevas herramientas y como en un comentario dijo @oscarRys "No hay que patear el pesebre" y el hecho de que exista XX, YY, ZZ en la version supermejorada creo quees bueno mirar abajo y ver el origen de ellos porque por ejemplo me ha tocado ver quienes usan anotaciones y no supieron por que demonios estan ahi, nunca conocieron el struts.xml "Gracias" a la configuracion cero

En el trabajo actualmente estoy usando Struts 2, en proyectos personales uso Spring MVC, le he hecho al struts 1, Wicket, Tapestry ah y JSF por supuesto pero pues en el trabajo tienes que adaptarte a lo que te pidan... El viernes me emocionaba porque tuve la oportunidad de introducir Maven al trabajo y @ezamudio me dijo "mejor usa Gradle" pero pues no es lo que yo quiera para empezar!

El rezago tecnologico en el empleo puede provocar frustraciones profesionales jajajaja por eso al llegar enciendo mi computadora y vacio mis frustraciones en mis proyectos!

(si asi fuer

Imagen de luxspes

Lo único que se necesita para que triunfe el Struts...

Seguramente tu tienes un empleo donde puedas hacer lo que mas te parezca, hay mucha gente que tiene que hacer lo que le mandan (y bueno me incluyo).

Tengo mas libertades que en otros ocasiones, pero si un cliente llega a pedirme algo en Struts 1, hare todo en lo que este en mi mano para hacerlo cambiar de opinion. Si al final no lo logro, pues apechugare con la pena y programare con Struts 1 sobre el JDK 1.2 y Tomcat 4.0 contra Oracle 7.

Habemos personas que nos gustaria usar lo mas novedoso, lo mas actual pero lamentablemente no en todos lados se permite pues porque salirte de las normas simplemente termina generando un despapaye... imaginate que tu trabajas digamos en la empresa XX donde usan Struts 1 y a ti porque no te gusta quieres usar Spring MVC para las nuevas funcionalidades,,, total lo terminas t¡y lo entregas y si bien va todo "no tiene bugs" pero y que con el mantenimiento? y que con las actualizaciones... etc... ahora necesitan alguien que sepa Struts 1 y Spring MVC (que no es cosa de otro mundo) pero para mantener un sistema necesitas cubrir esos dos perfiles y ahora depende tambien la forma en que hayas trabajado cada framework para hacerlos convivir... NO LO VEO VIABLE..

Si... argumentos similares se usaron para no migrar de DOS a Windows, para no implementar Linux donde NT 4.0 era rey, pera no introducir automobiles si los caballos ya hacian la chamba, para no operar con asepsia (que lata lavarse las manos y lavar los instrumentos antes de abrirle las tripas a alguien), para no introducir SQL por que COBOL era suficiente, para seguir programando en C++ y no usar Java... y sobretodo para meter todo en scriptlets dentro del JSP y no usar Struts.

Afortunadamente, quienes sostienen esos puntos de vista poco a poco pierden la batalla.

Que se haga todo en SpringMVC Pffffts, no ves que las empresas ya gastaron por un sistema que les costo no se cuantos cientos mil de pesos? Me gustaria ver las caras de los dueños cuando les digas "Tienes que cambiar a SprimgMVC porque es lo mas uufff" No quiero pensar lo que te dirian...

Supongo que lo mismo que dijeron las empresas cuando les dijeron que pusieran focos en vez de usar lamparas de aceite de ballena... ves a mucha gente usando aceite de ballena para iluminar sus empresas hoy en dia?

Si no malentendi a @bferro es que el nos explica que "EN SU MOMENTO" fue algo genial, y que gracias a esto han surgido nuevas herramientas

Si les con cuidad mi respuesta, notaras que no tengo nada en contra de los honorables origenes de Struts. Ni tengo nada en contra de que aparezcan nuevas versiones... lo que me molesta es que la gente se estanque en la version 1. Y me molesta aun mas que alguien diga que "esta bien"y "es mejor aprender a vivir con ello" con una filosofia asi, seguiriamos en las cavernas.

y como en un comentario dijo @oscarRys "No hay que patear el pesebre"

No, no hay que patearlo (pobre de mi pie) hay que darle de machetazos, o destruirlo con motosierra.

y el hecho de que exista XX, YY, ZZ en la version supermejorada creo quees bueno mirar abajo y ver el origen de ellos porque por ejemplo me ha tocado ver quienes usan anotaciones y no supieron por que demonios estan ahi, nunca conocieron el struts.xml "Gracias" a la configuracion cero

Afortunados aquellos que nunca conocieron el struts.xml.

En el trabajo actualmente estoy usando Struts 2,

Bien por ti, sigue asi, espero que cuando salga Struts 3, brinques hacia adelante como se ve que ya lo hiciste

en proyectos personales uso Spring MVC, le he hecho al struts 1, Wicket, Tapestry ah y JSF por supuesto pero pues en el trabajo tienes que adaptarte a lo que te pidan...

De nuevo, totalmente de acuerdo con "en el trabajo tienes que adaptarte a lo que te pidan", pero eso no quiere decir que no intentes primero cambiar las cosas.

El viernes me emocionaba porque tuve la oportunidad de introducir Maven al trabajo y @ezamudio me dijo "mejor usa Gradle" pero pues no es lo que yo quiera para empezar!

Maven es una monserga tal, que hasta me hace ver con buenos ojos a Struts... definitivamente si puedes huir hacia Ant Ivy o a Gradle, sera lo mejor... si no, pues entonces... trabaja con Maven, pero sigue luchando, tomate un rato para traducir tu configuracion de Maven al equivalente en Gradle y sube un blog post al respecto, advierteles a los demas del horror que Maven significa, muestrale a tus compañeros de trabajo, tal ves alguno de ellos logre convencer a tu jefe donde tu fallaste... tal ves el jefe se de cuenta de su error al ver la diferencia...

Recuerda: Lo único que se necesita para que triunfe el mal es que los hombres buenos no hagan nada

Imagen de bferro

La gente no está atrapada por propia voluntad

La mayoría de los programadores en el mundo trabajan en dar mantenimiento a sistemas que ya funcionan desde hace años, y en los cuales las empresas han gastado fortunas, y no están dispuestas a rehacer lo que funciona por el gusto de algunos de usar lo último. Estarán de acuerdo contigo en que esa tecnología que propones es mejor, pero eso es otro boleto.
Son muchos los ejemplos, sea cual sea el sistema de software que se trate. La versión de Windows que domina aun el mercado de PC de escritorio en las empresas e instituciones es Windows XP, no porque sea mejor que Windows 7. La razón es puramente de dinero invertido.
Si llegas a un banco a querer cambiar los sistemas heredados que funcionan a la perfección con COBOL por alguna otra tecnología actual, es muy probable que te apliquen el Principio de Hollywood. Eso no significa que el Banco, al proyectar nuevos sistemas no tenga en cuenta la tecnología actual.
Así sucede con cosas escritas en Fortran, que valen cientos de millones de dólares y puede que si entras a algún lugar de los que se dedican al cálculo científico tengas que entrarle, y si tu idea es usar los nuevos lenguajes te van a aplicar nuevamente el susodicho principio.

Es trivial lo que @luxspes dice acerca de que si alguien quiere acometer un proyecto, y como requisito establece usar Struts, no le propongas las nuevas versiones. Por supuesto que debes proponerla, siempre y cuando lo que propones vaya bien con las restricciones que te imponen, las cuales por supuesto puedes analizar de conjunto con el cliente para quizá buscar mejores soluciones.

Sería totalmente irracional defender a Struts 1 frente a sus nuevas versiones, pero también sería irracional pedirle a un empresa que rehaga un sistema que funciona realizado con el primero por el mero hecho de que lo nuevo es lo cool. Y si por alguna razón esa sistema requiere de mantenimiento, pues no te queda otra que entrarle, o no aceptar el trabajo.

La gente inteligente no se estanca en versiones anteriores por mero placer, pero la gente inteligente reconoce que en ocasiones es necesario continuar con versiones anteriores. Ese fue el espíritu de mi aporte al comentario sobre el uso de Struts 1. La versión 6 de Java es muy poco usada en la industria por razones similares.

Con respecto al comentario sobre C++ y Java de @luxspes, esa es otra historia. El mundo de C++ sigue siendo tan fuerte como el mundo de Java y tiene tantos amigos y enemigos como los tiene Java y seguro que no es por el mero gusto. Las discusiones técnicas C++ vs. Java no tienen vencedor ni derrotado. Cada uno de ellos tiene muy bien establecido su tajada en el mercado.

Ah bueno y nos hemos salido

Ah bueno y nos hemos salido del contexto (atacando y defendiendo a Struts), lo que se pide es una recomendacion

Pues en su momento cuando aprendi Struts 2 me avente el de "Struts 2 in Action" o digo que sea lo mejor porque nomas he leido ese y de ahi me salte a preguntarle cosas a Google, pero puedo decirte que si vienen muchisimas cosas de funcionamiento de Struts 2

Si les con cuidad mi

Si les con cuidad mi respuesta, notaras que no tengo nada en contra de los honorables origenes de Struts

mas adelante dices:

No, no hay que patearlo (pobre de mi pie) hay que darle de machetazos, o destruirlo con motosierra.

Eres muy dinamico!

Re: SpringMVC

Pues que bien que has decidido una opción, ahora pues a darle por ahí.

Con lo de aprender por obligación; pues no queríamos darnos a entender (o al menos yo no) de esa forma y todos queremos algo mejor para los nuestros o para nosotros mismos. Sin embargo considero que el éxito y el dinero no llegan por saber X o Y cosas, tengo conocidos que son meseros y ganan mejor que muchos desarrolladores; de hecho hasta hay gente que gana dinero por cosas TAN ordinarias cómo cocinar. Por lo que sigo diciendo, no importa a lo que te dediques mientras lo hagas con gusto y pasión y no por imposición.

Y con respecto a lo de Java el más poderoso, escalable, etc. Pues no creo que sea "el más" pero si es bastante escalable, aunque eso ya cae en un debate. Muchas veces se dice que Python o Ruby no escalan, pero siendo objetivos, muchas veces hablamos sin saber. Hay gente que dice que Rails no es escalable; pero a esa gente se le olvida que estás escalando un sitio no un framework. Es lo mismo cuando escuchas que Java es el más poderoso, cuando prestaciones "poderosas" (o ventajosas) no están presentes en Java (ni en ninguno de sus mágicos frameworks), cómo ejemplo: Closures.

Y pues cómo a todo mundo, éxito y pasión por lo que hagas.

Imagen de luxspes

If you meet the Buddha, kill him

No, no hay que patearlo (pobre de mi pie) hay que darle de machetazos, o destruirlo con motosierra.

Eres muy dinamico!

Tomalo como una parabola Zen, al estilo de "If you meet the Buddha, kill him" el origen de Struts es respetable, pero el respeto en mi opinon no deber ir mas alla de las consideraciones historicas. Respetarlo por lo que fue, no quiere decir que haya que darle un lugar entre los frameworks modernos solo por su antiguedad: Si Struts 1 ya no esta a la altura de competir con cosas como Spring MVC 3, hay que hacer lo que este en nuestras manos por evitar que se siga usando (y no darle un lugar que ya no le corresponde solo por "haber sido de los primeros").

Re: Nada está garantizado

El problema con el "ya nada es garantía" es que existen opiniones divididas. Desde mi espectro de visión, veo cómo hay mercados saturados, estadísticas que dicen que el mercado laboral no tiene suficientes puestos para los egresados (y egresados que no son capacitados, ni tienen las ganas para entrar al mercado). Incluso hay facultades en mi localidad que se han planteado la idea de cerrar algunas carreras un par de años porqué simplemente sería gastar recursos de gobierno para personas que no aportarán al país. En cambio hace unos años casi cualquier persona egresada conseguía empleo relacionado con su carrera, ahora conozco muchos egresados que nunca han tenido un trabajo en su carrera.

Oferta y demanda también dice: "Ofrece lo que te pidan"...Si tienes un conocimiento que piden mucho es muy probable que consigas un empleo en ello. Puedo saber Perl, quizás por ello sea un conocimiento muy valioso; pero si mi mercado no pide Perl ¿de qué me sirve tener algo valioso?...Razón por la cual en México no hay agencias Ferrari ni Lamborghini ;) (por ejemplo).

Lo del taxista, yo lo vi con un tio mio. Egresado de electrónica no recuerdo si en el 98 o 97; años en los cuales el mercado de la electrónica estaba saturado por acá, desafortunadamente sólo tuvo trabajos cómo técnico en electrónica y no cómo ingeniero; cuando iba a ascender de puesto cerró la maquiladora que lo empleaba y no volvió a participar cómo electrónico...desesperado buscó alternativas, entre esas el taxi y duró algunos años hasta ahora que se dedica a algo no relacionado. Y así hay muchos casos de compañeros de mi tío que cursaron con él en el tec.

Y comparto tu opinión: "Is not enough but a must".

Complementando el comentario con:
Para algo más dinámico:

Imagen de luxspes

Casi de acuerdo.

La mayoría de los programadores en el mundo trabajan en dar mantenimiento a sistemas que ya funcionan desde hace años, y en los cuales las empresas han gastado fortunas, y no están dispuestas a rehacer lo que funciona por el gusto de algunos de usar lo último. Estarán de acuerdo contigo en que esa tecnología que propones es mejor, pero eso es otro boleto.

De acuerdo.

Son muchos los ejemplos, sea cual sea el sistema de software que se trate. La versión de Windows que domina aun el mercado de PC de escritorio en las empresas e instituciones es Windows XP, no porque sea mejor que Windows 7. La razón es puramente de dinero invertido.

Igual de acuerdo... pero esta restricciones no las menciona en tu post.

Si llegas a un banco a querer cambiar los sistemas heredados que funcionan a la perfección con COBOL por alguna otra tecnología actual, es muy probable que te apliquen el Principio de Hollywood. Eso no significa que el Banco, al proyectar nuevos sistemas no tenga en cuenta la tecnología actual.
Así sucede con cosas escritas en Fortran, que valen cientos de millones de dólares y puede que si entras a algún lugar de los que se dedican al cálculo científico tengas que entrarle, y si tu idea es usar los nuevos lenguajes te van a aplicar nuevamente el susodicho principio.

No lo dudo, pero tu escribiste: "Lo que sí pienso es que no conviene sentenciar a muerte a Struts y convertirse en su enemigo. Puede que te toque "dormir" con él." Nada de lo que dices ahora apoya esa idea. Ciertamente, esta atrapado en una situacion en la que usar Struts 1 es tu unica opcion, pues eso es lo que tendras que hacer, pero definitivamente si deberias ser su enemigo y hacer lo que puedas por matarlo. (Que tal ves no puedas hacer mucho no quiere decir que no debas intentarlo)

Es trivial lo que @luxspes dice acerca de que si alguien quiere acometer un proyecto, y como requisito establece usar Struts, no le propongas las nuevas versiones.

No entiendo bien el sentido de esa oracion...

Por supuesto que debes proponerla, siempre y cuando lo que propones vaya bien con las restricciones que te imponen, las cuales por supuesto puedes analizar de conjunto con el cliente para quizá buscar mejores soluciones.

De nuevo de acuerdo... si puedes matar a Struts 1, matalo... si esta en tu mano, entonces es una irresponsabilidad no hacerlo. Si no esta en tu mano, pues no.

Sería totalmente irracional defender a Struts 1 frente a sus nuevas versiones, pero también sería irracional pedirle a un empresa que rehaga un sistema que funciona realizado con el primero por el mero hecho de que lo nuevo es lo cool. Y si por alguna razón esa sistema requiere de mantenimiento, pues no te queda otra que entrarle, o no aceptar el trabajo.

Por supuesto que si lo nuevo no trae ningun beneficio, pues no hay razon para cambiar. Por otro lado, si puedes "votar con tus pies" y alejarte de los lugares que usan tecnologia obsoleta... pues que mejor (la clave, de nuevo, esta en el "si puedes")

La gente inteligente no se estanca en versiones anteriores por mero placer,

Tu fuiste el que dijo: "A mi en lo personal me gusta [Struts] con independencia de la comparación que pueda hacer con SpringMVC y otros marcos de trabajo para el Web tier".

pero la gente inteligente reconoce que en ocasiones es necesario continuar con versiones anteriores.

De acuerdo

Ese fue el espíritu de mi aporte al comentario sobre el uso de Struts 1. La versión 6 de Java es muy poco usada en la industria por razones similares.

Bueno, las diferencias entre el JDK 5 y JDK 6 son (en mi opinion) bastante menores que las diferencias entre Struts 1 y Spring MVC 3 (basta con simplemente ver la diferencia en años)

Con respecto al comentario sobre C++ y Java de @luxspes, esa es otra historia. El mundo de C++ sigue siendo tan fuerte como el mundo de Java y tiene tantos amigos y enemigos como los tiene Java y seguro que no es por el mero gusto. Las discusiones técnicas C++ vs. Java no tienen vencedor ni derrotado. Cada uno de ellos tiene muy bien establecido su tajada en el mercado.

De acuerdo.

Imagen de luxspes

Solo la muerte esta garantizada.

El problema con el "ya nada es garantía" es que existen opiniones divididas.

Ciertamente, pero eso no quita que nunca, nada, ha sido jamas, garantia... excepto la muerte.

Desde mi espectro de visión, veo cómo hay mercados saturados, estadísticas que dicen que el mercado laboral no tiene suficientes puestos para los egresados (y egresados que no son capacitados, ni tienen las ganas para entrar al mercado). Incluso hay facultades en mi localidad que se han planteado la idea de cerrar algunas carreras un par de años porqué simplemente sería gastar recursos de gobierno para personas que no aportarán al país. En cambio hace unos años casi cualquier persona egresada conseguía empleo relacionado con su carrera, ahora conozco muchos egresados que nunca han tenido un trabajo en su carrera.

Mmmm, cuando saliste de la carrera? por que yo eso de "antes casi cualquier persona egresada conseguía empleo relacionado con su carrera" escuchaba que lo decian hace 10 años.... y sospecho que hace 20 años habia gente que tambien oia lo mismo...

Oferta y demanda también dice: "Ofrece lo que te pidan"...

Claro, pero tienes que tomar en cuenta la saturacion, si aprendes lo basico de PHP seguro que encuentras chamba, pero muy probablmente con un sueldo de hambre... si por otro lado aprendes JEE para WebSphere, es posible que te cueste mas trabajo encontrar chamba, pero si la consigues, casi seguro que el sueldo no sera de hambre.

Razón por la cual en México no hay agencias Ferrari ni Lamborghini ;) (por ejemplo).

Si hay

Lo del taxista, yo lo vi con un tio mio. Egresado de electrónica no recuerdo si en el 98 o 97; años en los cuales el mercado de la electrónica estaba saturado por acá, desafortunadamente sólo tuvo trabajos cómo técnico en electrónica y no cómo ingeniero; cuando iba a ascender de puesto cerró la maquiladora que lo empleaba y no volvió a participar cómo electrónico...desesperado buscó alternativas, entre esas el taxi y duró algunos años hasta ahora que se dedica a algo no relacionado. Y así hay muchos casos de compañeros de mi tío que cursaron con él en el tec.

Y supongo claro, que tu tio saco promedio arriba de 8.75 en su carrera, sin examenes extraordinarios en ninguna materia... y siendo tan buen estudiante le fue facil obtener recomendaciones de sus profesores de nivel licenciatura, por lo que decidio no aplicar para una beca CONACYT para una maestria por que....??? (Note se que si por ejemplo, tuvo que meterse de taxista por problemas familiares (deudas, enfermedades, manutencion de hijos, etc), eso es muy noble, pero el suyo deja ser un caso en el lo que lo hace terminar de taxista son solo las fuerzas relacionadas con la saturación de su carrera)

Para algo más dinámico:

Muy interesante, no estoy de acuerdo en todo, pero toca muy buenos puntos...

Re: Solo la muerte está garantizada

Ja!...no sabía que había agencias ferrari. En fin.

Y pues si mi tio te digo fue bueno en su carrera, de promedio salió con 9.3. Y por lo mismo en las universidades extendieron un poco la carrera de electrónica y ahora se imparte Mecatrónica y se ha visto que siguen habiendo personas sin empleos, pero muy poco (creo la última estadística oficial fue de 14/20 alumnos de mecatrónica trabajaban en algo relacionado con su carrera). Siguiendo, pues no era muy "amigo" de los profes, y es que en el Tec de por acá los profes son chidos mientras no se hable de negocios o escuela; es raro aquel que te llega a recomendar. Por eso no pudo y pues exactamente, tuvo que mantener familia y ya no le siguió; pero igual tampoco consiguió ofertas de empleo y fue por lo mismo que te digo incluso las universidades extendieron y cambiaron un buen el plan de estudios y la carrera ahora es Mecatrónica y automatización, cosas relacionadas con electrónica, pero no electrónica en sí.

Ya por ejemplo sistemas lo están dividiendo en software y telecomunicaciones, porqué hardware es algo que saben los mecatrónicos y así. O sea, para que las mismas universidades quieran cambiar los planes/carreras creo debe haber algo de problemas con la oferta y demanda, el sector laboral demanda cosas que el plan educativo no ofrece, de hecho lo que ofrecen las entidades educativas es lo que el mercado laboral pedía hace algunos ayeres. Razón por la cual se quiere hacer una reforma en donde se adopte la filosofía de las UT en cambiar el plan educativo cada 4 años, pero cambiando el plan en una mesa redonda con diferentes representantes de empresas (que quieran participar) donde especifiquen requisitos.

En fin, es un tema largo que nos podemos echar mucho...La opinión está dividida, pero lo que veo en mi localidad es que de verdad hace poco estaba más fácil para los egresados. Por ejemplo bastaba con ver número de despachos de abogados, antes había uno en cada esquina; ahora son pocos los despachos de abogados; y ese mismo caso pasa con los contadores, la gente que se dedica a soporte y mantenimiento de compus y otros mercados. Claro, quizás en otras partes habrá cosas mejor ahora que antes; o las que están por venir son mejores.

Imagen de ezamudio

Buen ejemplo: Ferrari

Me parece un buen ejemplo lo de las agencias de Ferrari. Por qué? Pues porque por ejemplo wishmaster77 no sabía que sí hay agencias de Ferrari en México. Luxspes puede que ya lo supiera desde antes o tal vez se echó un clavado en Google y encontró la página y se dio cuenta que sí hay. En cualquier caso, me ganó a corregir a wishmaster77. Yo iba a escribir que sí hay agencias aunque no conocía la página.

De hecho yo sé que hay agencias de Ferrari en México porque un amigo mío de la prepa, se dedicó a estudiar IME y su pasión siempre fueron los coches. Empezó a pasantear en General Motors y de ahí se fue moviendo, y ahora es mecánico... en la Ferrari de México. Un mercado muy especializado, para el que hay muy poca demanda, pero que para conseguir un puesto ahí (aparte de la poca demanda) se requiere tener un alto grado de conocimiento muy especializado, conseguir varias certificaciones, hacer muchos exámenes y después para conservar la chamba hay que realmente ponerle mucho empeño. Y podrán imaginarse que su sueldo no está en el mismo rango de sueldos de los mecánicos de talleres "genéricos" con calendario de bikinudas y oyendo la última compilación de nalgas arenosas a todo volumen. Tal vez el volumen de trabajo que reciben estos talleres mucho, mucho mayor, pero yo creo que ni así pueden ganar lo que este cuate por hacer 3 chambas en un mes.

Saliendo de la analogía y regresando al comentario original, pues tal vez el mercado en general no pide Perl, pero si sabes Perl y resulta que hay una empresa desesperada ya por conseguir a alguien que sepa Perl, te pueden pagar muy bien. Un ejemplo más directo es de una persona que conocí hace varios años, que sabía programar en RPG, para AS/400, y no era un rucazo de generaciones arriba de mi, era un chavo un poquito mayor que yo, tendría unos 30 años por ahí de 2002. Al saber de su especialidad algunos nos burlamos de que para qué quería saber esas cosas arcaicas... y luego me voy enterando que el cuate consiguió una chamba donde le pagaban (en esa época) $70mil pesos mensuales, porque pues encontrar a un programador de RPG está muy difícil y todavía más uno que sea bueno y que no esté a 2 meses de jubilarse. Todavía un par de años después alguien me preguntó si conocía a un programador de AS/400, conseguí los datos de este cuate y lo recomendé, y creo que lo contrataron, esta vez para una reaseguradora donde seguramente iba a ganar todavía más.

En fin. Si tienes conocimiento altamente especializado y con muy poca demanda en el mercado, es difícil encontrar chamba, pero cuando la encuentras, será muy bien remunerada. Si se fijan bien, casi todas las series de TV que no son de superhéroes o extraterrestres, tienen protagonistas que son especialistas en algo, una verdadera eminencia y a la vez rareza en su área.

Re: Buen ejemplo: Ferrari

De acuerdo. Sin embargo agregaría que si bien es cierto, es bueno ser especialista en algo raro, pero también uno tiene que tener el dinamismo para conseguir algo de momento. Bueno al menos yo no podría dejar de trabajar ni siquiera un mes =$ (razón por lo que aprendí -o quiero aprender bien- Java, y por la cual hace 3 años aprendí .NET, y razón por la cual hace 5 años aprendí VB 6); simplemente porqué por estas aguas la gente no se mueve mucho en Ruby, Python o Scala ;). Pero el día en que encuentre una vacante de eso seguro me quedo con el puesto porqué son pocos, de eso no me queda duda que tengo mayores posibilidades.

Muerte? Ferrari? Struts?

Muerte? Ferrari? Struts? Achis!!! pues de que se trata este tema??? Lo voy a leer todo.... mhhh ¬¬ quizá mañana...

Alguién quiere hacer un resumen?

Imagen de VictorManuel

Struts 2

Dios mio, yo probe struts2 y de verdad desde el hola mundo lo termine odiando... :'( por el tema que ni sabía que versión de java ocupar.. no sabía que pedo con los jars, cuales son pa cuales, después tenía un problema bien raro con mi struts.xml.. me salia un error que no sabía que era, porque no reconocia la gramatica xD... prefiero groovy <3.... y como dicen no aprendas por obligación... yo lo quise aprender porque todos saben y quise ver que onda, pero naa que hueva. xD

Imagen de ezamudio

jajajaj

sí, Struts apesta.

Imagen de Cid

Algo así pasa o pasó con Cobol

Yo me entere de historias parecidas en algunos bancos que usan o usaban Cobol (refiriendome a los buenos salarios pero pocos programdores de Cobol)