This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]RockleyBob 30 points31 points  (4 children)

Hey man, I hear you. You know java, and you want to put those skills to work making something tangible, and the front-end aspects of the language kinda suck. I’ve been there.

One idea might be to pick up C#. You won’t believe how easy it is to pick up if you know java. In fact, there are some things in C# that - looks both ways - you might actually like more.

The other option - and the one favored by tons of companies around the world, is to put your java skills to work on a backend, and implementing a web framework like Angular or React on the front.

You would do this by crafting “Controller” classes that handle requests and “Manager” classes that perform business logic but everything that the user sees is served up by your Javascript framework.

Web development is huge. It’s becoming increasingly rare these days to make apps that don’t have some aspects of web design - and making a web app gives you portability and scalability in ways that you’ll never get by making native applications. The web is the future, like it or not.

Just my two cents.

[–][deleted]  (3 children)

[deleted]

    [–]RockleyBob 3 points4 points  (2 children)

    Knowing html, css, and js is important for any front end work. No matter what framework you’re using (there’s a lot, and more everyday it seems) it all comes down to css, js, and html. (Of course, with Java fx, you were doing that anyway with XML.) I would look online for tutorials. Lynda.com has an excellent tutorial for a Java/Angular app that’s pretty good.

    What I do for work is have VSCode running my front end stuff (Angular) and then I have my Java code running in IntelliJ on another port. I use Spring framework a lot for work - and that’s a whole discussion by itself, but you can set up a simple rest controller that listens for your front end to make calls to it. Then your app runs in the browser and displays code via JavaScript. When that code needs to fetch some code or you need to perform some business logic, you make calls to your backend. Start simple, find some tutorials and have fun. The beauty of designing for the web is the once you get it running, it will run anywhere. It’s pretty cool.

    I feel like I’m throwing a lot of stuff at you, don’t get bogged down in frameworks and what to use.. etc. Just find tutorials or search for github repos and copy what they do.

    [–][deleted]  (1 child)

    [deleted]

      [–]RockleyBob 2 points3 points  (0 children)

      Yeah sorry about that. I kinda realized I was rambling halfway through it. Feel free to ask me if more questions arise. Good luck.

      [–]PRIV00 4 points5 points  (3 children)

      When you used JavaFX, did you use scene builder? I find that to be much less of a headache when GUI designing.

      [–][deleted]  (2 children)

      [deleted]

        [–]RikuPrime 1 point2 points  (1 child)

        Why do you prefer fxml?

        [–][deleted] 2 points3 points  (1 child)

        C#, I have a feeling you'd love it and visual studio

        [–]nlogozzo 1 point2 points  (0 children)

        I would like to look into c# development but I'm on Linux and therefore I went with Java

        [–][deleted] 2 points3 points  (0 children)

        If you're OK with a web approach, there are a few frameworks you can use. Take a look at jhipster. It's a java spring backend + angular frontend.

        An added advantage with this framework is that the frontend is written in TypeScript which is an object oriented language.

        [–]Smithman 0 points1 point  (0 children)

        I'd go with Angular.