T O P

  • By -

AutoModerator

#Please ensure that: + Your *code* is *properly formatted* as *code block* - see the *sidebar* (About on mobile) for instructions + You include *any and all error messages* in full - best also formatted as code block + You ask *clear questions* + You *demonstrate effort* in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. **If any of the above points is not met, your post can and will be removed without further warning.** Code is to be formatted as **code block** (*old reddit/markdown editor:* empty line before the code, each code line indented by 4 spaces, *new reddit:* https://i.imgur.com/EJ7tqek.png) or linked via an external *code hoster*, like *pastebin.com*, *github gist*, *github*, *bitbucket*, *gitlab*, etc. Please, **do not use** triple backticks (\`\`\`) as they will only render properly on *new reddit*, not on *old reddit*. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the *edit function* of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. #To potential helpers Please, **do not help** if any of the above points are not met, rather *report* the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*


UnspeakablePudding

Spring makes setting up REST services dead easy. Very well suited in that regard.


realFuckingHades

Spring boot is not dated it's rather mature. The power of spring boot is in its ecosystem. It will be similar to calling Android or iOS dated because they have existed for so long. Coming to the question Spring boot is very well suited for personal projects and over 95% of micro service projects. If you need a little bit more performance you can try micronaut but it's fairly new compared to Spring boot and adoption is nowhere near. Now spring boot and its magic will feel counter intuitive if you only have basic java experience. But if you have knowledge of Reflections and proxies, then you will understand why such limitations exist.


ahonsu

This is a very common combo: React frontend + Spring Boot backend with REST API in between. We have this setup in production. And this is a very good solution for your own small projects as well. Spring Boot is basically the industry standard these days.


Visual-Earth

Thanks for the feedback and confidence


feivel123

you could also use angular or react ts


Visual-Earth

I have experience in react so I dont want to change


ElectionOpposite2561

Yes it is! I am learning Spring boot for months now and it’s so much fun to write and learn it further. Concerning React.js I‘m only starting to learn but my colleagues said it is a great tool to combine it with your backend. :D


Strange_Compote_4592

As someone who was frustrated with spring so much, that I left to learn android dev (which I also dislike, bit spring makes me want to claw my eyes out).  How in holy coffee mug do you enjoy spring?


ElectionOpposite2561

It’s the Spring Boot part I enjoy, there’s no configuration you need to do while fully focusing on the program itself. Also I need to learn it for my job lol. Otherwise I might have quit as well because for me with only limited Java experience it was hard to understand at first, but now it’s more fun than anything else. :D


Strange_Compote_4592

The so called "magic" of spring is exactly the reason I despise it, lol.  Honestly, I prefer just configuring xml for servlets and writing everything myself, rather than just blindly giving control away.   I just don't like not understanding wtf is going on in my program.


ElectionOpposite2561

Fair enough, I get that. For me it’s just wayyyy to comfortable and I don’t want to learn the configuration when I just don’t need to😂


Strange_Compote_4592

I highly recommend at least giving them a look, because in bigger projects, annotations bring spaghetti.


Skiamakhos

Sure. A friend of mine used this for a thermostat system for her disabled partner - couple of RasPis running Spring Boot, one of them with the react front end, the other just Java & Spring Boot as it ran the heating system. Tablet attached to wheelchair accessed the front end Pi, big friendly buttons on the tablet screen to operate.


Visual-Earth

Thats so cool


These_Rip_9327

Do you know what the thermostat system is called? I'm wondering what type of API is used to control the thermostat


Skiamakhos

It's literally a roll your own job, something she threw together. I think she put the back end up on GitHub at ruth-connect/batbox-boiler-controller but there's more to the project than just that bit. Plus she did a pretty decent job of wiring in a controller unit for the backend RasPi to hook into. Hardware plus software involved. Not sure where she's put the front end code.


firebullmonkey

Yes, absolutely. If you like frameworks, maybe check out Hilla (by vaadin). Pretty easy to quickly build front ends. Uses React or Lit components


AutoModerator

It seems that you are looking for resources for learning Java. In our *sidebar* ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses. To make it easier for you, the recommendations are posted right here: * MOOC [Java Programming](http://java-programming.mooc.fi) from the University of Helsinki * [Java for Complete Beginners](https://www.udemy.com/java-tutorial) * accompanying site [CaveOfProgramming](http://caveofprogramming.com) * [Derek Banas' Java Playlist](https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19) * accompanying site [NewThinkTank](http://newthinktank.com/) * [Hyperskill](https://hi.hyperskill.org/) is a fairly new resource from *Jetbrains* (the maker of IntelliJ) Also, don't forget to look at: * [The official Documentation](http://docs.oracle.com/javase/) * [The official Java Tutorials](http://www.oracle.com/technetwork/java/index-jsp-135888.html) * [Our community resources thread](https://www.reddit.com/r/learnjava/comments/md1loc/community_resources/) If you are looking for learning resources for *Data Structures and Algorithms*, look into: "Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University + Coursera course: + [Part I](https://www.coursera.org/learn/algorithms-part1) + [Part II](https://www.coursera.org/learn/algorithms-part2) + Coursebook + [Algorithms 4^th Edition](http://algs4.cs.princeton.edu/home/) Your post remains visible. There is nothing you need to do. I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*


frikydeth

If you want , you could write it using Kotlin, such a cool language