Question

I'm new to RoR and I'm trying to create a web application that acts like a web desktop. The 'desktop' will be something similar like iGoogle, where you can drag and drop the blocks.

In this project, I will definitely have to connect with other service providers such as Facebook, Twitter with OAuth. The goal is to let users access their 'desktop' from multiple devices (mobiles, tablets, laptops) using web browsers, and users can use their desire services(Facebook, Twitter) on the 'desktop' after the authentication process.

So my question is: Is MVC applicable in this project? Because generally the database only for storing user's information and the iGoogle-like blocks. If yes, would RoR be a good solution for this? Thanks for your advises.

Was it helpful?

Solution

MVC give you the advantage of dealing with the database and complex data and table relationships in an (relatively) easy way. This comes with the cost of having a big framework that has not the lightest memory footprint.

If all you want to do is store a handful of key/value information in the database and have some basic user information stored, there are no complex relationships required. I'd recommend trying your idea with a micro framework like Sinatra (which is Rack-based like Rails) and see if it is enough for your needs. However, if you already have extension plans for more complexity, RoR is maybe a better choice.

I'd say MVC applicable because you want to store and access data in a controlled and maintainable way. RoR might be too much overhead for your purposes. If –say– memory footprint isn't that important to you for a small app like this, Rails will do the job but you will definitely just need to use a tiny subset of it.

OTHER TIPS

It will probably do the job for you. There are a lots of "gems" that can do the OAuth for you. That will probably save you time on development. MVC will probably do the job for you since you want to store and access data. You can also make controllers / views without a model. Or models separate, depending on what you need! Additional, making ajax calls in rails is easy as can be, this will probably be a good fit for your iGoogle like application.

But this all shouldn't be the main point for using rails or any other language. Use a language you are familiar with. Learning a new language/framework/... can be a bad choice if you are on a tight schedule. My suggestion is, try to make a easy application for example a blog in rails and see if this language works for you! (search the internet for examples)

You can use JQuery well on the client side. You might also want to consider looking at Jquery Mobile, depending on what you want to do. http://jquerymobile.com/

There are a loat of websites to get you started. I suggest watching video's and tutorials on railscast.com to see if rails works for you.

Here are some links http://railscasts.com/episodes/310-getting-started-with-rails and http://rubyonrails.org/screencasts

Good luck!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top