I'm a newbie trying to make his very first web application. What I have in mind right now is a notification system similar to that of Facebook. I did a quick search to see what other people have talked about the subject, and saw many different opinions on how to approach the problem: some people recommend doing the process in the background using Resque/Delayed Job/Beanstalkd while others point to gems like Mailboxer.

Why is there a need to process the job in the background? Is it only for incoming messages? Also, would Delayed Job suffice for a simple notification system? I've heard beanstalkd is the fastest but has no support for Windows. 

Any help/advice/answer would be greatly appreciated.