Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Jeff Hoffman
Jeff Hoffman
6,196 Points

Considering Switching Tracks

I am a newbie, and I just finished the ten sections of How to Create a Website because I originally selected the web design path. However, the type of website I am interested in creating is something mostly interactive (an idea I came up with a little while ago). Would I be better off with this Ruby Rails path?

4 Answers

Bob Sutherton
Bob Sutherton
20,160 Points

Hey Jeff,

I haven't learned the first thing about Ruby yet, but I do know that Javascript can add interactivity to your website. So maybe the Web Developer track is worthy of your consideration.

Also, AJAX loads new data into your page without refreshing the page. And J in AJAX stands for Javascript.

Dustin Matlock just posted this diagram in another thread and it gives you a kind of birds-eye view of how all of these languages fit together in web development.

Jeff Hoffman
Jeff Hoffman
6,196 Points

What I am looking to create is a web application that is basically a forum with a couple other features and some really simple social networking aspects. I am wondering which path would get me there fastest.

Bob Sutherton
Bob Sutherton
20,160 Points

Sorry, i'm not sure Jeff. I would modify your original post with these extra specifics so that you are more likely to draw an answer. People will likely read your original post first and then scroll down if they are interested in answering. The extra details will make it more likely that someone will answer but they might not scroll down this far.

Jeff, it sounds like you could benefit from the PHP Development track. That would provide you with a good foundation, and then you could move onto ways in how to integrate certain aspects into social features. Facebook is built with PHP and Hack. What you want to do might be advanced depending on what exactly. Anyhow that should be a good start for you. Keep an eye out for some node.js and angularJS material in the near future.

If you're new and you're looking to build a web based application of any kind, you're going to want to have a solid understanding of basic web technologies first, so HTML and CSS primarily, and JavaScript at some point.

PHP and Ruby are going to let you code application logic that will run on the server and ultimately dynamically generate the HTML/CSS files that the web server will serve up to your clients, so it's in your best interest to understand what you're asking your application code to serve first before you tackle the application itself. Often building a dynamic application involves prototyping screens in static HTML/CSS first, and then rewriting the dynamic parts of those files in PHP or Ruby (or Python or some other language).

As to which is the best technology, it may be PHP or Ruby, or something else, and the best way to determine that is to run through each track, gain some experience and then decide which is best suited to your task.

If you're going to be building something that requires storing and retrieving data, then you should consider running through the database track as well.

Don't be in a rush - get a good grounding in a number of different technologies first and then tackle your application from there. The courses here are excellent, and you can get a lot of knowledge quickly. The more you learn upfront, the better informed your platform decision will be and the more easily you're going to be able to build your application without struggling to implement things you haven't learned how to do yet.