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

troy beckett
troy beckett
12,035 Points

understanding web development more?

Since I started learning on treehouse I sort of did it in a aimless way. I literally learnt whatever video interested me. However, what I've noticed recently is that I don't understand the bigger picture or the whole process of web development.

What I mean is how does everything sit in web development. Everyday I'm reading something new but I'm quite confused on how it sits together. So I was wondering if someone could point me maybe to an article or post that explains this to me.

So if you broke down web development as a whole, how does it look. I read things like frontend, backend, server side, ui and so on.

If you broke down web development into categories or sections what would they be and what things are in each section. So where does ruby or rails, or my sql or javascript go.

Does anyone know any great articles that can explain this?

2 Answers

Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 91,253 Points

Have a look at this video from Ryan Carson who gives a high level overview of what happens in the tech industry.

https://www.youtube.com/watch?v=i5qpS_D8Law

When you've given it a good look, have a look at the range of Tracks Treehouse offers. What interests you the most? What do you think suits your goals.

I recommend starting from the Web Design Track. and going from there. Whatever route you choose, learning Web Design will give you the foundations you need to start from.

troy beckett
troy beckett
12,035 Points

hey thanks that video really helped. Is it possible you could explain simply how a language like ruby or python works with a database. Plus is AJAX and important thing I should be considering learning.

Jonathan Grieve
Jonathan Grieve
Treehouse Moderator 91,253 Points

Hi Try,

I'm not sure I can personally, as I've not worked with those languages yet.

I believe these languages work with mySQL to "talk" to databases and that's how websites like e-commerce sites and indeed like Treehouse are powered.

If you want to do this on a front end scale then learning AJAX will be very useful.

Kevin Korte
Kevin Korte
28,149 Points

It's probably easiest at this point to think of a web site as a stack, with it's various layers.

At the base layer is your database. This could be mysql, postgresql, sqlite, etc. There are more options here, and they have their differences, but generally they accomplish the same goal, they store data.

Than you have your back end, or server side language. This is the code the server interprets, and it's job is to handle a request from the user, process it, ask the database for any info it needs, and than return the information to be viewed in the browser. These are your langagues like PHP, Python, Ruby, and more recently, we know have server side javascript like Node.js, which is javascript that runs on the server, not the client's browser.

Not requrired, but there are MVC frameworks (Model - View - Controller) that are built in these back end languages. Php has Laravel, Ruby has Rails, and Python has Django. There are more. But all a MVC really is is a structure to organize your code. You can learn more about MVCs in blogs and here at Treehouse.

Next you have your HTML, CSS, and javascript, that run in the client's browser. The browser gets this code from the server, and is responsible to parse it into what you see on the monitor.

Ajax blends from end and back end by being able to send data to the server, and get a response without a whole page refresh. Usually you have to refresh the page to create a new request from the server for information, but with ajax you can do that without refreshing the page. It is a great way to update portions of the ui (user interface) Ajax is client side javascript. While you can build anything you want without ajax, it does significantly help ux (user experience) when used correctly.

Which leads to ux and ui. Two terms not to be confused. Ui is an important part of UX. The user interface is the layout, design, colors, etc. A good ui helps with a great ux, which is user experience. UX includes a bigger picture like how fast the site loads, how easy it is to use, ect. It's a full picture deal.

Hopefully that helps, if you start from the beginning here, there are a lot of courses that start to explain this better than I can how thing start to fit together.

troy beckett
troy beckett
12,035 Points

thank that is a great response really helped me, is it a matter of just choosing what you like or is there specific reasons of choosing between ruby, python or php

Kevin Korte
Kevin Korte
28,149 Points

All the back end languages are largely the same, but with their own differences, so it largely is what you like. You'll find super biased devs who make outlandish claims like php is dead, or ruby is the best. If it's a solo project, than it largely comes down to what syntax do you like the best? If you're using an API in your website, you may want to look and see if that API has library in a certain language or not. Maybe they have an API for Ruby, but not for Python...that might matter to you. Also, all 3 languages have their own MVC frameworks, (each language has multiple MVC frameworks), if you were going to use a MVC framework, you might want to look what features each framework has already rolled in, and that might sway you to go with one language over another.

For instance I started an API site for internal use at my work, to sync with our task manager Asana. I started in Ruby, but realized Node could give me more of the auto-update and auto-refresh features for less overhead than Ruby could, so I switch the entire project to Node.

But I'm building a custom website for myself and am using Ruby (and Rails), for that still.

There is ultimately no wrong answer. Facebook was started in php. Twitter was started in Ruby, Youtube was started in Python.