Comecei a fazer curso técnico e estou estudando Java por conta própria. Qual projeto seria mais fácil para um iniciante (com conhecimentos em lógica de programação e orientação a objetos) fazer: em Desktop ou em Web?
Eu estava pensando em fazer algo em Desktop usando JavaFX ou Swing. Essas tecnologias são bastante usadas por iniciantes para adquirirem conhecimento na linguagem, conexão com banco, etc ou são obsoletas?
As duas tem suas complicações.
Pra fazer desktop, você vai precisar entender como funciona algum framework de interface gráfica (swing ou javafx). Pra fazer web, tem que aprender como funciona http e como construir interfaces gráficas com html, javascript e css.
Fazer código de UI não é trivial, principalmente para um iniciante. Se for pra começar, eu iria de interfaces bem simples no terminal mesmo. Se você quiser mesmo fazer uma interface gráfica, eu acho que é mais fácil aprender html e um pouco de javascript do que swing ou javafx.
Para iniciante: aplicação console.
Depois: mobile ou web.
Com o Swing e JavaFX você pode utilizar um editor Drag And Drop (bem facil) para gerar a interface, para fazer coisas mais “complexas” você terá que mexer no código.
Se eu recomendo Swing e JavaFX? Não, não há mercado para isso, hoje é web e mobile e então eu nem perderia tempo estudando isso. Não que seja perda de tempo, mas se você pode estudar algo mais recente, mais moderno, algo que ta esta em uso, pq estudar Swing e JavaFX?
Se eu fosse você, aprenderia HTML e CSS, depois Bootstrap pois ja da para fazer umas coisas bem bacanas, lógico que sem lógica de negocio.
Depois eu estudaria JS para manipular comportamentos da página.
Como você já estuda Java, eu integraria ele depois de tudo
Boa sorte!
Qual é mais moderno: Swing ou JavaFX?
JavaFX
JavaFX é bacana, porém o forte é web.
Mas pra tu aprender, fazer algo no console já ajuda muito. Daí tu te concentra mais nos conceitos de orientação à objetos e nas regras de sintaxe da linguagem. Isso na minha opinião. Até hoje no trabalho uso aplicações só de console para resolver alguns problemas.
O tempo que vai perder com essas tecnologias fora de cogitação, poderia investir em mobile ou web.