Dúvidas básicas de um novato

Bom dia,

Ao contrário de qualquer ser humano normal, resolvi aprender Java/JSF na marra, passei o dia de ontem inteiro lendo sobre isso, pesquisando, perguntando e como sempre, restaram mais dúvidas do que soluções.

Queria adiantar que não ligo de ler, mas estou tão confuso que não sei por onde começar.

Um pouco do porque estou fazendo isso: Após passar 3 anos pensando num jeito de desenhar/modelar um sistema para minha empresa, cheguei a conclusão que talvez fosse mais fácil pegar meus rascunhos e começar a fazer, assim ia vendo na prática que conceito funciona ou não. Vou apanhar bastante, tenho consciência disso, é como tentar fazer uma casa sem saber misturar o cimento.

O que eu já tenho:

Glassfish 3.1.2.2 funcionando no Linux
IntelliJ IDEA 11.1.3 (Windows)

Sessão perguntas:

1- Pelo que vi, esse IDE não tem suporte a JSF na versão gratuita. O consenso entre as pessoas que me ajudaram é que um IDE não precisa ter esse suporte, que mais atrapalha do que ajuda um novato e que seria mais fácil configurar os XML manualmente, é verdade?

2- O Maven é um “compilador”?

Basicamente o que eu queria era entender essas estruturas, para focar na programação. Conto com a ajuda de vocês!

PS: Podem xingar a vontade, desde que deixem um link ou texto para que eu possa avançar e ser menos xingado :slight_smile:

Bom dia,

é meu amigo, vc esta realmente muito confuso.

vamos começar esclarecendo.

Glassfish é um servidor de aplicação usado pra hospedar aplicações java EE ela funciona tanto no windows quanto no linux.

IntelliJ IDEA é uma IDE utilizada programar em java não tenho certeza mas acho que tem versão tanto pra windows quanto pra linux.

Maven é uma ferramenta de controle de dependências e tambem é usado pra controlar o ciclo de vida aplicação. essa é uma definição grosseira que fiz agora, rsrs

agora vamos as perguntas.

Vc já conhece logica de programação?

Vc já conhece Orientação a Objetos?

O que vc já conhece sobre java?

agora uma piadinha.

sem saber misturar o cimento direito, provavelmente sua casa vai cair.

srsrsrs

vamos pelo básico, aprenda a misturar o cimento primeiro

DaniloAndrade, muito obrigado pelos esclarecimentos!

Eu tenho um servidor Linux em casa, por isso instalei o Glassfish nele, assim já vou aprendendo essa parte.

Essa IDE foi recomendada pelo pessoal que me ajudou no IRC (Freenode), achei que poderia desenvolver as coisas nela e depois testar diretamente no Glassfish do Linux, mas achei meio complicado, porque nos tutoriais que vi, principalmente com Eclipse, no passo a passo a pessoa escolhe o servidor de aplicação, depois escolhe o JSF e nessa não tem nada disso.

Quanto ao Maven, eu usei ele pra “compilar” (mvn package) um exemplo de Hello World que eu peguei, simplesmente pra entender o básico e também para testar o Glassfish.

Respondendo:

1- Eu não tenho nenhum curso de programação em termos de certificado, mas entendo como sendo uma receita de bolo.

2- Eu fiz 3 meses de C# durante uma faculdade que comecei, se não estou enganado existe Classe, Método e Evento, seria isso?

3- Quanto ao Java, fiz 3 exercícios da apostila 1 da Caelum, parei por não ter um ambiente onde pudesse praticar. Depois num outro momento comecei a ler “Use a cabeça: Java”, em inglês, fiz alguns exercícios e também parei pelo mesmo motivo.

Faça piadas à vontade, se você não fizer eu faço! Mas é basicamente isso que eu quero mesmo, fiz uma parede, caiu? Estudo mais, me informo mais, tento denovo, mas pelo menos já é algo mais na prática, costumo enxergar melhor as coisas assim, não é produtivo mas depois que pego o jeito a coisa anda.

Agradeço de coração sua rápida resposta!

  1. Se a solução a ser desenvolvida for para aprender…beleza!! Nada melhor que a pratica para aprender. Não existem requisitos funcionais, de qualidades, de tempo, de orçamento, etc…

  2. Se a solução a ser desenvolvida for real para ser usada em produção…todos que fizeram isso terminaram com um produto bem ruim, sem condições de ser usado por uma empresa e fora do prazo e orçamento. Nesse caso aconselhamos vc a contratar uma consultoria e desenvolver junto com eles. Se quiser arriscar…boa aventura!!

gostei do seu bom humor.

mas na minha opinião vc ta indo pra coisa muito avançada antes de aprender o fundamento.

como vc ta querendo fazer um projeto pra sua empresa, acho que seu conhecimento é pouco pra fazer algo com qualidade pra sua empresa.

meu conselho estude a apostila fj 11 até o final, entenda o todos os conceitos de orientação a objeto, segundo passo entenda o funcionamento das servlets e seu ciclo de vida, tente aprender um framework mvc action based primeiro, esse segundo passa vc pode conseguir estudando a fj21.

isso é opinião minha, acho que quando vc conhecer bem OO e seus fundamentos vc vai conseguir fazer coisas legais e com qualidade.

e so depois começa o projeto pra sua empresa.

se vc ta com pressa pra desenvolver o projeto da sua empresa contrata um programador experiente e vai participando do projeto, fazendo as coisas mais básicas e pegando coisas mais complexas quando vc for ganhado experiencia e habilidades, vai ser mais produtivo que subir a parede desmanchar e subir a parede novamente

@FernandoFranzini, muito obrigado pela resposta!

Minha ideia era fazer os dois, aprender e usar em produção, mas vou considerar suas ponderações. É que como estou com dificuldade de modelar, pensei em ir fazendo, ajustando e implementando coisas aos poucos, quando eu tiver algo “formatado”, posso até contratar e passar os conceitos prontos, no sentido “copie isso com um código limpo”, sei também que a maioria dos programadores não gosta de copiar ou nem analisar código fonte e sim começar do zero.

@DaniloAndrade, não é má ideia, afinal já tenho um IDE instalado e fica fácil fazer e testar, na minha outra tentativa eu usava o bloco de notas e o JSDK no Prompt de Comando, sou meio old school, penso que quanto menos auxilio a coisa fixa mais, aquela coisa de experiência traumática, sabe? hahahaha

A ideia inicial era fazer a tela de login, já brincando um pouco com PostgreSQL e condição, e o primeiro formulário. Feito isso, fazer o segundo formulário e começar a ver se fica prático ou não, se tem todos os dados interessantes e aos poucos ir acrescentando elementos, listbox aqui, checkbox ali, só coisas visuais, pra depois pensar em implementações propriamente ditas.

Mas não sei, talvez vocês tenham razão e não seja a maneira correta. Durante esses 3 anos eu tentei fazer fluxogramas, diagramas de tudo quanto é jeito, achei que era a hora de colocar as mãos na massa de uma vez!