

Ask HN: Wordpress, custom PHP or Rails/Django for a simple Web app? - signal

I'd like to build a web app (with help) with hopes of it becoming a FB and mobile app in the long run.<p>The structure is basically HotorNot/FaceMash to start. That will be the minimum functionality. From there I'd like to improve it and add the features that will actually make it wicked fun but at the very least a HotorNot that people can contribute to is the immediate goal.<p>Is it a waste of time to build that into Wordpress to use all of the user, db and registration framework but have to build a plugin for the whole purpose of the site?<p>Would it be better as a dead simple app built from scratch on a more modern framework?<p>Should I go with PHP so I can get cheap coding help or man up and learn a big boy language so I can finish it myself in 10 years or go broke trying?<p>Thanks for reading =)<p>UPDATE: Thanks for the wicked response, it's great to be able to 'talk' this out with the HN crowd!
======
rickr
If you're not looking to do something super complicated maybe you can look
into Sinatra (ruby). I'm not sure if python has something similar if that's
your language of choice.

<http://www.sinatrarb.com/>

~~~
justinxreese
Sinatra is what I came here to suggest when I read "simple" and "rails" used
together. So I'll just give your reply a point instead.

In addition to web.py (mentioned below), there is also cherrypy. There are a
lot of great lightweight frameworks that still give you some of the benefits
you get from something robust like rails or django.

~~~
signal
Pardon my ignorance, but Rails and Django seem pretty lightweight as they
are... How are sinatra etc lighter (and thus easier to use somehow)?

~~~
notahacker
As a simple indication, Sinatra allows you to create an entire site by editing
one (logically structured) file if you want.

Rails and Django make a few more assumptions about what you're going to do (eg
creating a directory structure and giving you easy shortcuts to create forms
to edit pages) that are pretty useful when you're building a webapp and want
to create multiple reusable parts, but may be overkill for a simple HotorNot
type page.

------
lhorie
>> Should I go with PHP so I can get cheap coding help or man up and learn a
big boy language

Facebook was written in PHP...

Re: language choice, pick whichever you are comfortable with, they all kinda
do the same thing and you can mix/switch to other languages if the need for
them arises later. If you go with PHP, better to go with a MVC framework like
Cake or CodeIgniter or whatever, rather than Wordpress, because the Wordpress
codebase is famous for being a mess.

Re: ambitions: I'd suggest doing some reading on angel investing etc before
assuming you can make a "FB and mobile app" with merely some "cheap coding
help".

~~~
signal
Thanks, the 'Facebook was written in PHP' is probably the best argument for
PHP there is. It makes a lot of sense.

As for ambitions, I don't see an investment need any time soon but the FB and
mobile apps are where the real user base (and money) is for this thing, so I'd
like that to not require a full recode or a lot of pain.

------
anthonycerra
If you start learning to develop today it won't take you 10 years to do it
yourself. I'm teaching myself Rails to build an app and it's not taking nearly
as long as I thought it would.

This is not to say the whole thing has to be done by yourself, but it's best
that you try it alone first. This way you'll know what to look for when you're
bringing someone else on.

I really like Ruby and the Rails framework so that's all I can recommend based
off of experience.

There are a ton of free resources to check out and the premium resources are
definitely worth it too.

    
    
      www.railsforzombies.org
      www.tryruby.org
      www.railscasts.com
      www.railstutorials.org
      www.css-tricks.com (CSS and HTML)
      www.pragprog.com  (premium)

------
byoung2
Personally, I'd go with a php framework like Zend, Symfony, or Cake. It's php,
so you'll have an easy time finding low cost developers (you'll have to filter
out the bad ones). These frameworks have tools built in or easy to find for
things like Ajax, user management, etc.

------
knieveltech
You've overlooked an option: use Drupal as a development framework. You get
core security updates and huge chunks of functionality basically for free,
freeing up you or your hired gun developer to crank on the guts of your
application. Wheel reinvention is minimized.

~~~
signal
Yeah that seems like a good option for the PHP route... Anyone second that? Is
it reasonably to think that a good PHP dev could work well with Drupal?

~~~
x0ner
See my comment above.

------
_neil
This won't be the popular answer, but Wordpress is actually pretty good for
prototyping things like this. The plugin hooks system makes it easy to try
things out quickly. There is already a plugin for just about everything, so
adding Facebook Connect, etc. can be done in a couple minutes.

I actually gave a talk at a local WordCamp about this. I built a couple
prototypes that had APIs via simple plugins and leveraged WP users and posts
(with custom post types) for content. And nearly everything can be abstracted
out to the point that users won't know it's running on Wordpress.

As far as what YOU should use, the correct answer will always be "whatever
you're comfortable with."

------
canada420
Don't use Wordpress for things that are not blog-related. Use tools that are
_meant_ for the job. It doesn't matter what language you use, they're all the
same. PHP 5 has good OOP support and isn't a "small boy" language.

------
x0ner
I did something similar and was able to roll the whole thing on Wordpress in
an hour or two. For something as simple as this I would say you just stick
with a framework that handles mostly everything for you.

------
taphangum
You can do it in all of the above. In a relatively similar amount of time if
your starting from zero.

What you should do is first try the base language of each and see which one is
easiest to work with. Then you can go from there.

Honestly the most important thing is that you ship.

------
AdamN
Disregard the 'whichever one is best for you' answers - those aren't helpful.
The only hard and fast rule is to use a framework. WordPress, Drupal, Rails,
Django are all frameworks.

I personally use Django and I think it has the most power per unit of work -
this is mostly because the documentation is so good.

Rails is a totally valid option also.

I don't know anybody working on a PHP framework right now who is happy about
it, whereas I meet plenty of happy Rails and Django people. There are a bunch
of cool looking frameworks like Lift, web2py, etc... but stick with Django or
Rails if you're not sure what to do.

Also, nobody ever wants to put their neck out and say it, but MySQL is easier
than Postgres to use and manage IMHO.

~~~
rjbond3rd
Using a framework is a hard and fast rule for a custom web app? I disagree.

------
f1gm3nt
Wordpress is a no. It would not be easily maintained in the long run. If you
want to use a CMS type deal then check out Drupal. I'm not an expert on Drupal
and have only been playing with it for a very short time, but you could create
your own module to do this and then take advantage of the other features.

If you want to make sure something is more custom I would look at using
symfony PHP framework, Ruby on Rails, or Django.

My personal favorite is symfony. You can also add the Zend Library to that
framework. Most of my framework experience has been with symfony.

Keep in mind there will be pros/cons to any framework you use.

~~~
x0ner
I wouldn't discredit wordpress right away. I will agree that it gets tough to
maintain (one of my current sites is tangled in the Wordpress framework), but
if you look at blogs he is trying to replicate then you can see their all
Wordpress based.

Check out these: <http://www.peopleofwalmart.com/>
<http://www.beachcreeps.com/> <http://latenightmistakes.com/>
<http://whitetrashrepairs.com/>

The list goes on. The area he is stepping into is ran by non-techies who churn
and burn. I have spoke and pitched ideas with them. Their usually later 30
year olds who have latched on to a cookie cutter framework template
(Wordpress) and pump out ideas with little or no care if they fail.

Investing a lot of time in this strictly from a goal of making money is not
worth it. If the goal is to learn, maybe make money then I say you choose
something that you are really interested in and could see yourself using
later.

~~~
signal
I disagree about the blog similarity. I'd really like it to be a one page app
to start. Emphasis on app. The idea is not to compile a blog full of images
but to compare and play with the idea of comparison in a quick, addictive way.

A blog I would make on Wordpress in a heartbeat, I wouldn't bother you guys
about a blog =)

------
x0ner
Shoot me an email (in the profile) and I will just send you my Wordpress
installation from one of my sites that sounds close to what you are doing.

~~~
signal
Thanks!

