Passar de PHP para Java, acertado?

Boas,

Tenho desenvolvido WebApps ao longo de 1 ano em PHP usando a Framework CodeIgniter, no entanto no contexto empresarial PHP é olhado um pouco de lado… dai cada vez mais olhar para o Java e .NET como linguagem alternativa a aprender.

Como o que tenho desenvolvido são sobretudo WebApps, que Framework Java aconselham para desenvolver WebApps? Em relação ao PHP, que dificuldades adicionais irei ter no deploy das aplicações?

E em relação á aprendizagem? Como devo começar a desenvolver WebApps em Java? Deverei começar logo com uma Framework ou deverei perder uns meses aprendendo Java básico?

Desde já obrigado.

Eu também venho do PHP, e como você disse, aqui no Brasil essa linguagem é um pouco esquecida no meio corporativo(infelizmente)…

Antes de você começar a estudar um framework Java, acho que é importante aprender o básico da linguagem(OO), servlets e jsp…

Dá uma olhada nas apostilas que a Caelum disponibiliza(FJ11 e FJ21)… acredito que irão ajudar bastante…

até mais…

O PHP é uma linguagem de script server-side. Somente isso. É uma linguagem muito fácil de aprender e presente na maioria dos servidores com Linux, Apache e MySQL. E é ótima no que se propõe a fazer.

Com relação ao JAVA, podemos fazer inúmeras coisas com a plataforma. Por isso estou a dois anos passando gradativamente daquela para essa.

Não acho que o fato do PHP “ser olhado meio de lado”, como você diz, deva pesar na sua escolha. Concordo que atualmente é assim, mas vejo isso de pessoas que, na maioria dos casos, não conhecem as linguagens que criticam e não tem parâmetros suficientes para analisar no todo a situação.

Com o PHP eu consigo fazer uma coisa. Com o JAVA muitas. Essa foi a minha decisão para mudar.

Você não deve pensar dessa maneira não. Tudo o que você conseguiria com java pode conseguir com php também, então não entendo porque o meio corporativo o tem olhado de lado. São conceitos diferentes, mas enfim são todas ferramentas.

Eu aprenderia java para obter mais conhecimento, e não porque alguém ditou que algo é ruim ou bom.

Se você quer fazer WebApps uma opção para a interface seria o Adobe Flex, e ele tem integração tanto com o PHP quanto com o Java.Outra opção seria o JQuery ou ExtJS, no qual também acredito que seja possível integrar com o PHP.
Resumindo: O seu usuário irá ver a mesma aplicação independente se você estiver usando Java ou PHP. (acredito que a perfomance talvez seja a mesma).
Então, para seu cliente acredito que não faz muita diferença se você utiliza PHP ou Java (desde que entregue um produto de qualidade), ou você iria preferir uma aplicação em Java mesmo ela sendo inferior em qualidade a uma em PHP (tudo pode acontecer, depende muito de quem fez)

[quote=RafaelViana]Se você quer fazer WebApps uma opção para a interface seria o Adobe Flex, e ele tem integração tanto com o PHP quanto com o Java.Outra opção seria o JQuery ou ExtJS, no qual também acredito que seja possível integrar com o PHP.
Resumindo: O seu usuário irá ver a mesma aplicação independente se você estiver usando Java ou PHP. (acredito que a perfomance talvez seja a mesma).
Então, para seu cliente acredito que não faz muita diferença se você utiliza PHP ou Java (desde que entregue um produto de qualidade), ou você iria preferir uma aplicação em Java mesmo ela sendo inferior em qualidade a uma em PHP (tudo pode acontecer, depende muito de quem fez)[/quote]

Isso mesmo, despois que a aplicação estiver rodando vai ser um monte de zeros e uns, e o que ditou o produto final foi a qualidade do desenvolvimento. Se codificar em java será mais produtivo que php ou vice - versa, isso é uma questão de engenharia.

Desde já obrigado pelas respostas.

A questão de passar de PHP para Java é no contexto corporativo. Neste momento trabalho maioritariamente com bases de dados, mas quero alargar as minhas possibilidades no contexto corporativo. E PHP para grandes projectos ainda não é visto como uma real alternativa. Talvez não me tivesse explicado bem.

[quote=lopes_andre]Desde já obrigado pelas respostas.

A questão de passar de PHP para Java é no contexto corporativo. Neste momento trabalho maioritariamente com bases de dados, mas quero alargar as minhas possibilidades no contexto corporativo. E PHP para grandes projectos ainda não é visto como uma real alternativa. Talvez não me tivesse explicado bem.[/quote]

As pessoas que vêem dessa maneira possuem uma visão porca do contexto. Talvez você possa mudar isso nelas apresentando um bom produto, ou um ótimo modelo de projeto.

As vagas de trabalho para projetos em Java são claramente superiores as de PHP em termos de salário e complexidade do projeto. Comecei com PHP também, depois passei um bom tempo trabalhando apenas com Java e agora uso os dois(PHP como freela). Em 2004 abandonei o PHP não só por questão de mercado, mas por achar a linguagem ultrapassada comparada com Java. Porém as coisas estão mudando. Hoje os especialistas dizem que Java é a linguagem ultrapassada (o mercado ainda não acredita nisso). E o PHP evoluiu a tal ponto de ser comparável com o Ruby(a atual modinha). Como o mercado caminha mais lentamente do que a percepção dos especialistas, se hoje você quiser trabalhar numa grande corporação e/ou num grande projeto dificilmente conseguirá com PHP. Java ou .Net são as melhores opções, podendo o cenário mudar num futuro próximo.
Por outro lado, se você fala inglês a coisa muda de figura. Empresas como a thoughtworks ou a IBM devem valorizar sua experiência sim, mesmo que você não trabalhe lá com PHP.

[quote=juliocbq]Você não deve pensar dessa maneira não. Tudo o que você conseguiria com java pode conseguir com php também, então não entendo porque o meio corporativo o tem olhado de lado. São conceitos diferentes, mas enfim são todas ferramentas.

Eu aprenderia java para obter mais conhecimento, e não porque alguém ditou que algo é ruim ou bom.[/quote]

Bom, não diria tudo, isso seria um exagero.
Adoro php, acho uma linguagem super fácil de aprender e extremamente poderosa se for considerar a simplicidade.

Mas há coisas que se faz em java que não tenho a menor idéia de como fazê-las em php, situações de sistemas distribuidos, por exemplo, que passo por aqui onde trabalho, entre outros cenários (não estou falando de balanceamento de carga, o apache faz isso de letra).

Enfim, para começar com java para web, lógico é bom ter boas noções de orientação a objetos e a API básica de java SE. Tendo isso em mente parta para servlets e JSP (JSTL, etc…) antes de pegar qualquer framework mvc web. É sempre bom saber as bases antes de partir para algo mais avançado, garanto que o aproveitamento será ainda maior.

Depois disso pode-se escolher entre o famigerado struts, polêmico JSF , não tão popular (ainda) GWT, entre outros mvcs web…
Atualmente estou usando GWT e gostando muito, apesar de não ter muitos componentes há bibliotecas imensas dsponíveis, o único problema é que elas não costumam ser tão bem feitas quanto o GWT é.

É bom ter conhecimentos em servidores de aplicação, como jboss e glassfish, lógico que apenas depois de ter passado por conteiners web simples como jetty e tomcat. Saber diferenciar um servidor de aplicações de um conteiner web a essa altura é algo essencial e por incrível que pareça é uma dúvida pra muita gente (e pior, muita gente ACHA que sabe).

JEE é um passo natural a essa altura, na verdade o primeiro passo em direção a JEE já foi dado quando começar a investigar servidores de aplicação e seus recursos, spec, etc…

É um longo caminho, meses de estudo e preparo, mas garanto que será um avanço enorme em sua carreira e que você não se arrependerá.

É válido que eu faça um alerta, não confie em “tutoriais” de sites e blogs, geralmente são uma m*, apenas código copiado e cospido (nem colado…) num post genérico. Filtre muito bem o conteúdo, tente entender passo a passo e só siga adiante quando os tiver realmente consolidados.

Do mais, conte conosco para quaisquer dúvidas que tiver postando aqui no forum.

Bem vindo ao mundo Java =D

Abraços.

[quote=fabiocsilva]As vagas de trabalho para projetos em Java são claramente superiores as de PHP em termos de salário e complexidade do projeto. Comecei com PHP também, depois passei um bom tempo trabalhando apenas com Java e agora uso os dois(PHP como freela). Em 2004 abandonei o PHP não só por questão de mercado, mas por achar a linguagem ultrapassada comparada com Java. Porém as coisas estão mudando. Hoje os especialistas dizem que Java é a linguagem ultrapassada (o mercado ainda não acredita nisso). E o PHP evoluiu a tal ponto de ser comparável com o Ruby(a atual modinha). Como o mercado caminha mais lentamente do que a percepção dos especialistas, se hoje você quiser trabalhar numa grande corporação e/ou num grande projeto dificilmente conseguirá com PHP. Java ou .Net são as melhores opções, podendo o cenário mudar num futuro próximo.
Por outro lado, se você fala inglês a coisa muda de figura. Empresas como a thoughtworks ou a IBM devem valorizar sua experiência sim, mesmo que você não trabalhe lá com PHP. [/quote]

Sim, você tem razão, levando em conta o mercado. Como você diz, existe uma modinha em se dizer o que é pop na atualidade. Esse é o ponto onde a gente deveria chegar. O php não é inferior ao java nem a qualquer outra tecnologia presente hoje no mercado. Apesar de eu não trabalhar com ela.

Dizer que um projeto desenvolvido em linguagem x pode ser melhor que outro desenvolvido em y é ilusão. O que importa é como o projeto é desenvolvido.

Para o profissional realmente deve-se usar o que está posto no mercado atualmente, mas isso não quer dizer que outras opções não existam.

juliocbq concordo contigo…

há um certo modismo quando se pensa que porque uma tecnologia é boa ou a mais usada, as outras sejam inferiores…

vejo que os gestores vêem php como inferior por causa de alguns “profissionais” que lêem uma apostila e já acham que sabem tudo… é preciso se atualizar constantemente, até porque a tecnologia é dinâmica…

php é fácil sim, isso é bom, mas com essa facilidade o pessoal consegue “kgar” naturalmente… se for analisar a versão 5.3, o php tá bem próximo do java(em termos de linguagem), mas grande parte dos códigos que vejo é o famoso “macarrâozinho”…

não adianta só conhecer uma tecnologia, mas sim saber utilizá-la da melhor maneira, potencializando-a…

Mais uma vez obrigado pelas respostas.

Tem razão quando dizem que em grande parte quem desenvolve em PHP é menos profissional que o pessoal que usa outras ferramentas empresariais. Noto isso no caso da modelagem de aplicações, no mundo PHP pelo que vejo não é sentida grande necessidade de modelar uma aplicação por exemplo com diagramas de classes…

Tentei investigar mais sobre modelação de applicações web usando MVC, mas não encontrei grande coisa. A questão: Como modelar uma aplicação assente no padrão MVC, existem exemplos com diagramas de classes?

Desde já obrigado.

PS: Desculpem, ser um pouco mais técnico, a curiosidade leva-me a isto…