Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Quickest framework to develop a Facebook App - CakePHP vs. Ruby on Rails

So I know this has been asked before here: How to start facebook app?

But I am banking on it being a little old and also hoping I have something slightly more specific to ask. So here goes:

I want to build a basic Facebook app, that would require a basic database, a simple front page, and obviously the ability to share/Like over the feed. Now my main concern is I want to do this quickly and easily, without having to deal with as many mundane details as I can avoid.

I was thus looking at CakePHP and Ruby on Rails as frameworks. However, I am not familiar with either of these technologies (I do have a software background, but it is mostly C/C++/Java). So which do you think would be best for me to pick up for this project that will enable me to quickly and easily just 'build' something like this for Facebook?

(Also note that I need a free hosting provider as I don't have money to finance this hobby now, so I'll need to know which hosting companies support these frameworks for free).

Any help is appreciated!

like image 825
Pratik Thaker Avatar asked Jul 22 '11 21:07

Pratik Thaker


People also ask

Is Ruby on Rails faster than PHP?

PHP is not always object-oriented, so coding can be laborious and time-consuming. Applications can be built and tested in Ruby on Rails much faster than in PHP, so even if there is some debugging involved, Ruby on Rails dramatically reduces the time to deployment.

Why use Ruby on Rails vs PHP?

Ruby on Rails is fast and has good performance. This framework provides good and readable code based on best programming practices and reliable architecture. PHP is a programming language where there is the opportunity and freedom to deliver the code that the developer wants.

Should I learn PHP or Ruby first?

Originally Answered: Should I learn PHP or Ruby on Rails? Don't overthink it, just learn PHP. It's easy and fun, and you can build glorious web applications with it! Forget everything you've heard about the technology, just keep in mind that using PHP on the basic level is surprisingly easy by design.

Is Ruby better than PHP?

Ruby is more powerful than PHP. It has been popular with the Rails framework, which makes the language more versatile and adaptable. Ruby is difficult to learn as compared to PHP. Ruby has a good online community to provide support and becoming popular with developers.


2 Answers

Rails, definitely, there are infinitely more and better resources available to learn from and you can get fantastic free hosting (for small scale apps, plus easily scale for cheap) on Heroku.

To get started, see:

  • Rails for Zombies (free)
  • Rails 3 Tutorial
  • Railscasts

I was in the same situation as you last fall, I knew a fair amount of PHP but had never worked with an MVC web framework before. I tried to learn CakePHP, struggled for a while, then thought I'd spend just one weekend giving Rails a chance. I had never touched Ruby before, but I was so curious about Rails that I picked up a copy of Beginning Rails 3, and I figured I would just take one weekend and see how hard it was to learn some basic Ruby and get an idea for how Rails works.

I thought going into that weekend that there was really no way learning a whole new language could be worth it, even if the framework suited me better. I'm so, so glad I gave it a chance. Ruby is awesome, the community behind it is phenomenal, and the amount of documentation, screencasts, tutorials, etc. are out of this world. Ruby is also a lot of fun to work with, and very easy to learn. Try for yourself and see what you think.

Rails is definitely the way to go (vs CakePHP at least).

like image 182
Andrew Avatar answered Oct 22 '22 09:10

Andrew


The answers so far only scratch the surface!

CakePHP is to PHP what Rails is to Ruby. From the onset, CakePHP was developed to mimic the "Rails" way on things, and has done really well so far; but if you're starting from scratch; you need to remember you have to:

  • Set up a development environment, which in turn involves
    • Install the language (PHP / Ruby) and Database (MySQL?)
    • Learning some basic server configuration(s)
    • Choosing which one is right for you, and setting it up (Apache, Nginx, Passenger etc)
    • Get the framework up and running
  • Learn the underlying language
  • Learn the framework
  • Learn the Facebook API, and their developer guidelines
  • Actually Build the application
  • Test it, debug and submit for approval
  • Launch it

Having developed in both CakePHP and RoR - if you're coming with no web development background and you're looking to start; dive in with either. Honestly, it'll be the same learning curve for you! You will find the setup, learning, development and deployment easier in CakePHP - PHP is one of the most popular languages. If you want to learn a language and framework also to improve your skills as a programmer and developer, then you want RoR - it's got strict conventions that do twist your mind but once you get the hang of it, there's no looking back (and these are the same conventions that CakePHP is trying to bring to the PHP world!).

The official documentation for both is excellent, they have amazing (and very active!) communities where even the silliest question is answered. There are also excellent (free) hosting platforms available, that make use of Git and make deployment a snap (PHPFog and Heroku).

It might be worth mentioning that RoR is considered the new boy on the scene, the trendy framework thats bringing with it a lot of rapid changes in development methodologies, and that RoR developers also are in very high demand.

Also - considering the simplicity of the App - have you considered using Sinatra (a very minimal framework for Ruby)? You may find that the easiest, and it'll be an excellent stepping stone if you later wanted to get into Ruby on Rails.

like image 24
Shaz Amjad Avatar answered Oct 22 '22 09:10

Shaz Amjad