Stando a quello che hai espresso, non so se Java sia il linguaggio giusto.
Se ti focalizzi sul frontend web, temo che Java sia un po' ostico. Ultimamente quasi tutti usano HTML5 + JavaScript (che è diverso da Java) ed eventuali framework che si appogiano a questi linguaggi (Angular, React, ...)
Non vedo in quale modo Java possa aiutarti da questo punto di vista
Forse per il mobile può essere comodo, poichè credo che su Android si programmi in Java. Però anche qui resto dubbioso, ci sono diverse opzioni per scrivere in altri linguaggi e quindi compilare sia per Android che per iOS (vedi Xamarin)
Personalmente, dovessi studiare qualcosa oggi a riguardo, mi focalizzerei sulle nuove proposte Microsoft: Blazor (web) e MAUI
(app)
Pro:
- Entrambi lavorano con C#, quindi sei costretta ad imparare un linguaggio che comunque è molto utilizzato in ambito lavorativo
- Sempre con C# potrai sviluppare il backend in futuro: stesso linguaggio lato client e server (tieni anche presente che col .NET core il backend sarà multipiattaforma)
- Puoi usare qualsiasi OS per sviluppare
Contro:
- Sono prodotti nuovi ed interessanti... Però Microsoft non è nuova a chiudere progetti che non decollano (vedi Silverlight)
- Essendo nuovi, i corsi sono meno rispetto a prodotti più maturi
Ovviamente poi devi farci tutte le considerazioni del caso:
- Sono prodotti nuovi, ne vale la pena? Da una parte, se le aziende vogliono migrare, allora sarai appetibile... Quante però saranno disposte a riscrivere il proprio prodotto solo per lavorare con queste tecnologie?
- Concentrarti contemporaneamente su sviluppo Web e App mobile mi sembra esagerato, poichè sono tecnologie molto diverse fra loro. Può aver senso usare solo il Web (Blazor o altro) e sviluppare le app native sfruttando Progressive Web App (PWA)? In pratica fai una progetto web con certe caratteristiche che ti consente di aggiungerla al dispositivo (mobile ma anche PC) come se fosse un'app nativa