Eu odeio, mas estou tentando aprender um pouco de front-end web, e sei o básico de Spring quanto JSF
Quando tenho que fazer um front web vou de JSF e uso o primefaces pra fazer a view, e quando não precisa ser uma solução totalmente web eu costumo optar pelo Spring pra RestFul + JavaFX pra front.
Mas estou muito limitado e quero entrar mais a fundo em Web e resolvi aprender a usar “bootstrap, materialize, etc…” já que javascript é um bicho de 7 cabeças pra mim por enquanto.
Toda essa história é pra ilustrar minha duvida. Em JSF é tão inviável assim usar Bootstrap? Em Spring o Thymeleaf tem seu proprio CSS?
Eu tentei usar o bootstrap com essas duas tecnologias, mas nunca funciona como deveria, tem uma maneira mais viável para construir front pra eles?
Eu vi em algum outro lugar que Java web se resume a RestFul é isso mesmo? Porque front está sendo algo muito nebuloso de aprender usando esses frameworks.
Isso se chama pular etapas. Se vai trabalhar com front-end web, comece estudando pelo básico: HTML, CSS e JavaScript. Depois que estiver apto você usa ferramentas, se for necessário.
Bootstrap é um .css pronto. Se usar sem entender CSS, em algum momento vai passar por apertos para ajustes finos ou algo fora do básico.
JSF/Primefaces é tudo amarrado, vai se complicar se misturar, mas tem um tema que copia o visual do Bootstrap.
Thymeleaf é um template engine, pra processar HTML do lado servidor, não tem CSS amarrado.
Basico, bem basico eu sei, inclusive eu construi uma pagina sem back-end só com bootstrap, e ajustes em CSS e JS, estava visualmente como eu queria, e quando tento transportar isso que eu criei pra um projeto JSF é uma zorra, nada funciona inclusive as tags são outras =(…
E quando tento levar pro Spring algumas coisas funcionam mas em tabelas por exemplo o layout quebra todo… por isso achei que o thymeleaf tivesse seu proprio CSS… Realmente JS é um monstro pra mim, mas com o pouco que sei consigo fazer o que eu quero (bem básico) sem implementar um back-end,
Eu to é apanhando em integrar essas tecnologias, acho que se eu achasse um código com uma tabela html (bootstrap) sendo gerada pelo controller do Spring eu já estaria feito
Isso é fácil de resolver, deixe somente o css do Bootstrap. O framework web da Spring e o engine thymeleaf não dependem e nem geram css por conta própria, mesmo se vier algum css de exemplo apague todos os arquivos e referencias, faz um projeto limpo sob seu controle.
Nunca recomendo JSF, mas se for usar, use os próprios temas/css do Primefaces, senão vai se complicar, pois JSF é muito amarrado.
Fora a dica que te passei, investigue o problema a partir do código que o navegador recebeu, é isso que vale. Voce pode postar aqui o código completo dessa página recebida no navegador com problema. Só um trecho não tem como identificar o problema, principalmente sem as referências dos css e js.
Meu problema parecia ser minha referencia ao JavaScript do bootstrap, não entendi o porque, e nem consegui resolver usando o código compilado dele, mas sei que era isso pois quando fiz a importação por CDN funcionou:
Mas eu não gostaria de depender de internet nem de servidor de terceiros pra minha página funcionar, então depois de muito bater cabeça, me dei por vencido (apesar de já ter descoberto meu erro) e parti pro Materializecss que baixei o código compilado fiz a referencia e Tcharan! funcionou perfeitamente.
Estou testando e aprendendo essas tecnologias que sei que são basicamente equivalentes então tanto faz por hora, vou brincar de criar coisas e personalizar agora. Obrigado pelo apoio.
@ardenghe eu até já vi essa parte de responsive do primefaces, mas o primefaces me parece tão engessado que me dá medo, fora que já tenho trauma quando penso em fazer uma simples troca de cor de algum componente, se o tema não resolve já nem tento mais kkkkkk e isso foi o que mais me puxou pra fora da caixa.
E sinceramente, adoro a forma como o JSF trabalha, inclusive o ciclo de vida (que todo mundo odeia), mas vou te falar uma coisa… Quando eu conheci o Spring boot eu quase tive um orgasmo, então se eu quero continuar trilhando esse caminho vou ter que aprender alguma coisa dos responsives front-end. Mas agradeço muito sua opinião, obrigado.
Basicamente é um tema que vem com Bootstrap e muda o estilo dos componentes do PrimeFaces para se parecer com os componentes do template AdminLTE (também baseado em Bootstrap)
Também dá pra fazer algumas mudanças CSS, no primefaces, inline. <p:component style = “color: red; background: black”/>.
Existem algumas propriedades CSS, que não estão disponíveis em alguns components, mas com o que já tem, acredito que já vá atender a maioria das demandas internas de empresas e industrias no geral.