

Ask HN: Single person working on a web app. What platform to use? - shashinmishra

I can code in three languages/platforms: Java (its been long time), ruby on rails (beginner) and Drupal/PHP (beginner). This app is a pet project I really want to complete and involves some good business logic as well as need to have nice front end.<p>Really cannot decide which platform to chose. I have some work started in RoR and some in Drupal and I have not been able to make up my mind about what is the way to go.<p>What do you suggest?
======
savant
I agree with this sentiment completely. 12 months ago, I can safely say that
my experience with PHP had been a simple modification of an ExtJS application
and me screwing around with my Delicious bookmarks and the Yahoo BOSS API
(both of these took more than a day to complete and I was very upset with
life).

I decided that I should learn how to actually create working websites and over
the Winter Intercession, I looked at the various frameworks. Being on a Mac, I
looked long and hard at Ruby on Rails, but something about it's syntax irked
me. In hindsight, it shouldn't have as my only experience had been with Java
and other related OOP languages, but oh well.

I next looked at Zend, as many of the apps I developed for (Joomla, WordPress
etc) were PHP apps, and therefore it made sense to go with what the Zend
Engine people created. It took all of 2 minutes to realize that it would take
me HOURS to figure out how to setup a basic MVC package. Not to mention a
friend had used Zend in a previous project of ours - I developed the frontend
in ExtJS, he the backend API - and was thoroughly upset with it.

I moved on to CodeIgniter and Kohana and thought it was great... except that
it required that I specify a lot. I hate specifying things. Love automagic.

From there, it was Symfony, but it's application tutorial was too big and
confusing for a PHP-noob like me (<http://www.symfony-
project.org/jobeet/1_4/Doctrine/en/>). I think I just didn't give it enough of
a chance.

Then I read about the recently released 1.2 release of CakePHP. Loved the
name, thought the documentation and community names were funny - The Cookbook
and The Bakery, respectively - and I was able to do the blog tutorial in less
than 30 minutes (to their credit, I'm an idiot). I was happy enough then to
start thinking about more complex applications and start to do something about
them. I'm here almost 12 months later with around 30 or so active, open source
projects on Github, 4 or 5 deployed websites, a few web applications puttering
around on my machine, and quite a few in planning.

I'm of the opinion that you shouldn't limit yourself two a choice of two, but
try several frameworks and languages. Try languages you don't know at all
(Chicago Boss looked nice, but development has slowed. You could try using
NodeJS! Django is cool too.) and try frameworks in languages you are familiar
with (Someone mentioned Play Framework, which I think is the best RAD
framework in Java, and PHP has CakePHP/CodeIgniter/Zend/Symfony/Lithium).

Choosing a language and a framework isn't about what excites other people, but
what excites you. Find a combination that excites you and do it.

------
Scott_MacGregor
Personally, compared to PHP and RoR, I am not a big fan of JAVA as far as
loading speed for the user on big sites.

PHP is said to be more scaleable than RoR, (we use PHP with Zend Framework)
and like Eclipse/Zend Studio, but many say RoR is easier to learn.

If it is not something that needs to be scaleable RoR seems like an
intelligent choice, but if you are looking to build industry skills too, you
might want to figure out where the demand for coders is greatest.

PHP has been around for quite a while, RoR is more of the new kid on the
block. Either will produce a fine user experience for the customer.

------
tsestrich
Might not be an expert, but I'm in a similar boat in that I have a firm
footing in PHP and want to develop a web app on my own. I chose to go with PHP
and Symfony, as it seems to be a pretty powerful framework with great
documentation (they have a complete guide on how to set up a job posting
board, for instance).

I had started out with raw PHP, and I'm pretty much scrapping my initial work
since it can be done so many times faster and with better quality using
Symfony

------
sidmitra
I'm not from a serious Java background but have you tried
<http://www.playframework.org/>

I would recommend Rails too than Drupal/PHP. Since you're a beginner on Rails,
i would recommend you try out Django/Python too. It won't require much effort
to catch up to speed on the basics and maybe you can use those skills to run
the application on Google App Engine for free too.

------
RobGR2
I have been doing my pet projects in Drupal. I don't have much experience in
the other options you mention, however.

One thing I consider, is that side projects tend to die from lack of interest.
If there is a person who might also work on it as a side project with you,
using what they are willing to learn or already know might trump technical
considerations.

------
weaksauce
If it is for a pet project I'd go with rails. It should be quicker to finish
the project in that. Don't worry about scaling from the outset as if you get
that big you can scale it when you need to.

