Bom, discutindo com um amigo que está procurando uma oportunidade no mercado, chegamos a essa discussão.
Hoje, soltos no mercado, temos Struts 1 e 2, JSF 1 e 2, Spring MVC, VRaptor…
Vocês não ficam um pouco “perdidos” com tantas soluções web espalhadas? Porque a verdade é que, claro, mesmo conhecendo o ambiente web, leva-se um tempo para se atingir um nível de maturidade em um determinado framework.
Vou dar o meu próprio exemplo: hoje eu trabalho com JSF 2. Mas digamos que apareça uma oportunidade de trabalho na “Melhor Empresa do Mundo”, para ganhar o 3º maior salario do mundo. Eu me encaixo no perfil, etc, mas opa, como eu estou acostumado com JSF 2 e lá eles possuem o Struts 1 como legado, não vai ser possível a contratação. Certo, eu vou argumentar que sou um profissional certificado, possuo a OCWCD e conheço como trabalhar na web, e que pelo fato dos frameworks serem apenas uma ferramenta de abstração e que sabendo como o desenvolvimento web realmente funciona, a questão de adaptação ao Struts 1 é apenas uma questão de tempo. Mas todos sabem que é raro que o empregador pense dessa maneira.
Bom, qual é a opinião de vocês nesse tópico? Essa situação que encaramos hoje, mais ajuda do que atrapalha ou mais atrapalha do que ajuda?
E como vocês encaram ou encarariam essa situação no mercado?
Eu sempre achei isso uma porcaria. Mas o que eu faço antes de começar algum projeto: pesquisar a FUNDO todas as tecnologias disponiveis para fazer algo, as mais usadas, e olhando principalmente para “padroes” de mercado, o que o pessoal fala, etc. Agora do ponto de vista do empregado, eu sempre escolho a que vai ter o aprendizado mais rapido.
Acho que o numero de frameworks existentes atrapalha quando a gente começa a estudar um novo assunto, como MVC, WebService ou Persistencia. Mas acho que esses frameworks são importantes pois cada um trás uma novidade diferente que faz com que todos crescam juntos.
A concorrência entre os frameworks faz com que todos evoluam e eu acho que isso ajuda muito.
Não concordo com esse exemplo, não acho válido. Pois pode aparecer a melhor vaga do mundo pra você e ela ser em .Net, não Java. Aí a gente entra em outro ponto…
Realmente seria ideal pro desenvolvedor se só existisse uma linguagem de programação com uma API completa, apenas um CHARSET (Deus! isso seria uma maravilha!), um banco de dados, um SO… Mas olhando do ponto de vista evolutivo, é melhor ter vários, pois a partir do ponto que fica só um, sem concorrência, este se acomoda e não procura novos horizontes…
[quote=Guilherme Gomes]Acho que o numero de frameworks existentes atrapalha quando a gente começa a estudar um novo assunto, como MVC, WebService ou Persistencia. Mas acho que esses frameworks são importantes pois cada um trás uma novidade diferente que faz com que todos crescam juntos.
A concorrência entre os frameworks faz com que todos evoluam e eu acho que isso ajuda muito.
Não concordo com esse exemplo, não acho válido. Pois pode aparecer a melhor vaga do mundo pra você e ela ser em .Net, não Java. Aí a gente entra em outro ponto…
Realmente seria ideal pro desenvolvedor se só existisse uma linguagem de programação com uma API completa, apenas um CHARSET (Deus! isso seria uma maravilha!), um banco de dados, um SO… Mas olhando do ponto de vista evolutivo, é melhor ter vários, pois a partir do ponto que fica só um, sem concorrência, este se acomoda e não procura novos horizontes…[/quote]
Ideias de funcionalidades / votacao eh uma forma de garantir justamente isso.
É uma forma de contornar o problema, mas não significa que os encarregados pelo framework queiram faze-lo ou que farão direito.
O que estou dizendo é que sem concorrência as pessoas perdem o porque de evoluir, se não tem pelo o que brigar.[/quote]
Se eu ainda tivesse desenvolvendo como fazia antes, eu brigaria por nao ter que usar milhoes de frameworks. Isso eh uma forma de briga sim. E nao eh uma forma de “contornar” o problema (isso da a impressao de bad workaround), mas o Java mesmo eh uma prova disso.
Acredito que seja um problema para quem busca uma nova colocação.
O problema é que quem contrata sempre terá uma visão de que struts 1 é a oitava maravilha ou que jsf2 com primefaces é o que há, então, as coisas vão afunilando.
[quote=Guilherme Gomes][QUOTE=AUser]
Se eu ainda tivesse desenvolvendo como fazia antes, eu brigaria por nao ter que usar milhoes de frameworks.
[/QUOTE]
Concordo. Mas não acho que todo mundo seguiria isso. E como um framework costuma ser suportado por vários, poderia ter uma falha aí.
Eu acho que é um bad workaround mesmo. E não acho que o Java seja exemplo disso pois ele tem concorrência.[/quote]
Com certeza atrapalha. Compare com Ruby por exemplo que você só tem o Rails como mainstream (Sinatra é outro nicho). A melhor coisa que aconteceu foi o Merb se fundir com o Rails, evitando fragmentação
Mas não é por isso que lá todo mundo usa a mesma coisa. As gems vivem mudando pq sempre vai surgindo umas melhores que as outras. É impossível parar a fragmentação, faz parte da evolução. E eu nem culpo quem tenta reinventar a roda (as vezes melhor) porque convenhamos, todo mundo quer a fama pra si e é bem mais divertido criar do zero do que ter que aprender o código gigante dos outros
Bom, discutindo com um amigo que está procurando uma oportunidade no mercado, chegamos a essa discussão.
Hoje, soltos no mercado, temos Struts 1 e 2, JSF 1 e 2, Spring MVC, VRaptor…
Vocês não ficam um pouco “perdidos” com tantas soluções web espalhadas? Porque a verdade é que, claro, mesmo conhecendo o ambiente web, leva-se um tempo para se atingir um nível de maturidade em um determinado framework.
[/quote]
Eu acho que essa é a corda que vc pode usar tanto pra subir como pra se enforcar com ela.
Realmente essa variedade tão grande de ferramentas/frameworks confunde o iniciante,pois precisa de maturidade pra decidir o que usar e quando usar.
Com certeza atrapalha demais. Eu tive a sorte de achar vaga em uma empresa que não usa nenhum framework de mercado, e demonstrando bons conhecimentos de JSE e OO eu consegui a vaga de júnior na época. Mas com certeza, se eu tivesse que aprender toda a pilha Java até conseguir usar um framework teríamos aí pelo menos + 1 ano de desempregado. Java é uma ótima plataforma, mas a quantidade/complexidade dos frameworks atrapalha bastante o profissional. Nesse ponto, dou razão para profissionais de PHP, Python e Ruby.
Achei interessante esse seu comentário. Porque esse ponto de vista?[/quote]
É como eu complementei na minha resposta.O iniciante geralmente fica perdido,mas o sujeito que sabe tirar proveito desse
leque de opções,ou seja,usa a ferramenta certa pro problema certo e não reiventa a roda,consegue ter um ganho de produtividade e conhecimento bastante significativo.
[quote=raf4ever]
Eu acho que essa é a corda que vc pode usar tanto pra subir como pra se enforcar com ela.[/quote]
Concordo, se vc ñ sabe utilizar a ferramente q tem corretamente possivelmente ela te prejudicará ao invés de ajudar.
[quote=raf4ever]
Realmente essa variedade tão grande de ferramentas/frameworks confunde o iniciante,pois precisa de maturidade pra decidir o que usar e quando usar.[/quote]
Concordo novamente, por isso acho importante fóruns e lista de discussões para os novatos poderem ter orientações.
Penso que essa variedade é uma característica de “ferramentas” como o Java. Essa variedade é um trunfo do Java. Veja se num plataforma proprietária tem tais caracteristicas.
O surgimento de novos modelos, ideias, ferramentes faz parte do crescimento de uma maneira geral. Os padrões de desenvolvimento surgiram assim e estes são utilizados em todos os casos.
[quote=rafael_jesus]Eu sou iniciante e estou completamente perdido,
Eu trabalho com J2ME e o mercado pede android,
No meu trabalho eles usam Struts2.0, o mercado pede JSF, o VRaptor dizem que é mais fácil “rápido”, etc…sem contar SpringMVC da vida…
Iae, qual mergulhar de cabeça, qual escolher para varar noites estudando?
É ossoooo…não consigo ir a fundo nem em um, nem em outro…[/quote]
O importante pra vc q tá começando é ter uma base sólida(OOP,Padrões etc),se vc tiver isso,acredite,tua vida com qualquer framework será bem mais fácil.
Trabalhei em uma empresa que por causa dessa de querer usar uma montanha de frameworks, dos 10 projetos que tinham em desenvolvimento, foi entregue somente um e logo fechou as porta por causa das multas que teve que pagar!!
O problema é que os donos caíram na labia de um louco que só era bom de papo e queria garantir o próprio emprego. Inclusive isso vem acontecendo muito em nossa área, tem neguinho por ai que se diz consultor e acaba ferrando com a empresa. Os sistemas eram simples e poderiam ter sidos modelos da forma mais simples possível com: html,jquery, servlet e jdbc e bons padrões de projeto, os projetos teriam sido entregue.
Por isso que PHP e Ruby vem ganhando terreno, desenvolver Java Hoje é como dizem por ai, é ser um bom configurador de ambiente!!! :lol:
[quote=raf4ever]É como eu complementei na minha resposta.O iniciante geralmente fica perdido,mas o sujeito que sabe tirar proveito desse
leque de opções,ou seja,usa a ferramenta certa pro problema certo e não reiventa a roda,consegue ter um ganho de produtividade e conhecimento bastante significativo.[/quote]
Acho que o problema não seria nem o leque de opções, mas sim o leque que o mercado abre e fecha ao mesmo tempo.
Por exemplo o meu amigo que eu citei: po!@#, da pra perceber que o cara manja pra cacete de Struts 2, mas só acha vagas assim por dizer “decentes” em JSF 1.2, e de vez em quando em Struts 1. Então, o cara provavelmente vai ter que ficar 1,2 meses estudando pra “aprender” outro framework ou esperar pela sorte de achar uma boa vaga no framework que ele se encontra maduro.