views:

91

answers:

4

Hey guys,

I'm primarily a front end developer and I've been meaning to get into server side development. I'm not new to programming per se [I've been doing a fair bit of programming for the past couple years] but I'm fairly new to server side development.

I've dabbled with PHP in the past and have used it to construct spartan websites but never web applications. Is PHP still the recommended port of call for a beginner? I've been hearing a lot about frameworks like Rails, Django and CodeIgniter. Should I start with them or is it better if I skipped this part? I'm also new to the MVC architecture for the record.

As you can see, I'm fairly off my comfort zone here and not sure where or how to start. I really appreciate any and all inputs/comments.

+1  A: 

Hello,

Just to see how easy it is to start with them I tried Joomla (as framework), Drupal (as framework), CodeIgniter, ZF and Symfony. I liked CodeIgniter best.

Hope this helps you, Alin

Alin Purcaru
+3  A: 

Two points that I see, that you are asking about:

  • Getting into the server side development
  • Learning a new language

If you'd start both at the same time. You will have to deal with the language barrier as well as the hows/whats of server side development.

So, I would start with server side development using PHP; learn how it works. Since you will not have to concentrate on the language.

And then, when you know how server side development works, if you must, move on to Ruby/etc. By then you will be having fair idea of whats/hows of server side development; and would require most time learning the language.

Following might help:

KMan
I'm assuming the language barrier shouldn't be much of an issue since I have a fairly strong grasp of programming in general. Sure, learning a language is more than just remembering the syntax but I think you know what I mean.
Newbie Coder
Ugh. Enter button. Essentially, all I'm interested in is the 'flow' of a web application: how it's constructed. As a front end developer, I'm only exposed to how a view is constructed and all the assosiated behaviors, never a full application. MVC is the way to go moving forward, yeah?
Newbie Coder
MVC is an excellent *framework*; google would reveal several *to-start-with* articles.
KMan
A: 

Being an ASP.NET developer, I might be a bit biased but I actually believe ASP.NET is a great platform and you should give it a try. C# is a great and very powerful language and is not hard to learn esp. if you have previous experience with programming.

Also, if you're interested in the MVC architecture you should learn ASP.NET MVC (which Stackoverflow is built with, BTW). But I recommend you get comfortable with C# first before trying to learn ASP.NET.

Waleed Eissa
A: 

PHP is a weird beast, on the one hand it is supported pretty much everywhere. On the other hand, the language is quirky and it makes it easy to do the wrong thing. I constantly come across PHP applications that mix business logic with HTML. It is also trivially easy to write insecure applications in PHP. If you are going to go for PHP I would recommend using a framework, however I haven't investigated enough of them to recommend one over any other.

I have no experience with CodeIgniter, but a lot with Rails (for a busy invite-only social network) and Django (for a community based site w/ integrated shop).

Out of these frameworks, I would recommend Django. The approach to Models is more clearly defined, the URL mapping is (imho) much nicer than Rails routes, the form handling is nice too. Off the top of my head, I can't think of anything that Rails does that I wish Django could do the same way.

However, if you are looking for jobs, their usage is pretty much in this order:

  1. PHP
  2. Rails
  3. Django

PHP has been around for ever, Rails was a bit before Django and got a lot of mindshare, Django is used in quite a few places, but isn't advertised for as often.

Both Python and Ruby are easy to learn, and you can pick them up as you learn the framework. Generally Django and Rails don't require you to know too much of the language to use the framework. I find them a good introduction to the language as a whole.

You will find learning any of these languages/frameworks fun and rewarding.

Anthony Batchelor