Tech 101: Client-Side vs. Server-side
Client-side means that the action takes place on the user’s (the client’s) computer. Server-side means that the action takes place on a web server.
So what do we mean by action? And why does some action take place on your computer and some on a server?
When we say action we mean all that work that programming languages do. You will remember from our term about programming languages that they are the doers of the web.
Programming languages like Ruby, Python, and JavaScript do things like: send an email, ask the bank how much money you have in your account, or tell a photo slideshow to advance to the next image.
In order for a programming language to do its job, the computer has to understand the language its speaking.
Almost every computer in the world understands one programming language: JavaScript. For this reason, most things that can be accomplished using JavaScript can be done without needing access to a web server. Thus, though you are usually connected to the Internet when you run JavaScript scripts, you could just as easily disconnect from the Internet and run those same scripts on your computer (the client-side).
On the other hand, if you want to use a programming language (Ruby, PHP, and Python, etc) you need access to a server that understands the language. Tasks that need to be accomplished with those languages happen on that server, meaning they are done server-side.
But can’t I just install a programming language on my computer?
Yes, you can install programming languages on your computer but that still won’t let you find out your bank account balance without being connect to your bank’s servers.
The reason for this is databases. Data storage is the other thing that is usually handled server-side. If data was stored client-side, your bank would have to keep track of thousands if not millions of user databases all over the world. Instead, they keep all their user data in one centralized database where they have easy access to it, and you do too via the Internet.
Cocktail Party Fact
Alright, so I understand client-side vs. server-side, what I don’t understand is how that is any different than frontend vs. backend development!
Very good call! It’s really not that different.
The difference between client-side vs. server-side, and frontend vs. backend programming is really a difference in semantics. Client-side vs. server-side describes where the action takes place (literally on your computer vs. a server). Frontend vs. backend refers to what kind of action is taking place (the kind the user sees vs. the kind a user does not).
At the end of the day, everyone is really talking about the same set of technologies.
Category: Blog, For Beginners, Front End Developer, Learn to Code