With the increased power that is now on the client side, more and more of the functionality that used to be run on the server side is now being offloaded to the desktops and handhelds.
So, today you’re going to learn a little bit about what the front end does as well as the back end.
We’re going to first look at the main differences between them, then we will discussthe back end and let you know what languages are needed to support it, will finish by looking at the front end and the various languages used to create the GUI’s that you see on your screen and that let you talk to the applications and web pages by a mouse and keyboard.
Main differences
Criteria | Back end | Front end |
---|---|---|
Where the code runs | In the server | in the user’s computer |
Have access to database | Yes | no |
Speed | Depend on the network speed but relatively slow | Fast |
Markup Language | none | HTML |
Presentation language | none | CSS |
Programming languages | mainly PHP, ASP, RUBY and PYTHON | JAVASCRIPT |
Query language | SQL | none |
Back end development
The back and is where the server lives. Here you can find the programs the code and all the mechanisms that make the magic happen. The server processes the request from the client side (i.e. the users) and replies to them. This means that when a user is doing something on a website like pressing a button, this action sends a request to the server. Depending on what the button is supposed to do, the server takes appropriate action and sends the appropriate responses and screenshots.
For example, the user wishes to click to the “Contact Us” page on a website. To do so he uses his mouse and clicks on the link. The user’s computer sends it as a request to the server, which basically says, “Show me the ‘Contact Us’ page”. The server responds by sending the web page that was requested. This actually may be many transactions to perform the operation. But, all we need to know is that the page appears as requested.
To create a back end that runs on the server-side, you need to use one of the languages designed for this.
- Creates and runs the code for the server itself – PHP, ASP, RUBY
- For talking with databases – SQL
Your Dream Website Awaits!
Front end development
Now let’s talk a little bit about the front end (also referred to as the client side) we need to talk about the interface that the user sees. (i.e. the GUI)
The front end collects information that the user inputs via keyboard or mouse and sends it to the server for the back and to process. When the server-side code is sending information to the user’s computer, it is also sending the code needed to perform various functions on the client-side as well.
So, some of the actions are being done on the server as well as being down on the client itself. This separates today’s handhelds, laptops, and desktops from the days of the dumb terminals where everything had to be processed on the server-side.
This cuts down on response time and gets your job done faster. Today’s programmers are attempting to offload to the clients, as they become more powerful, more of the activities that used to be done exclusively on the server-side. They now are now being done on the client-side.
This is why you see a proliferation of apps appearing, as the servers are becoming more of a repository of information rather than execution of code. This improves the user’s experience and makes everything happen faster. The latest generation of iPhones is an example of where the majority of processing is being done at the handheld level rather than on the server itself.
Unfortunately, we are not there yet and work goes on, as the more that you can offload the server to the client-side the happier everyone will be. Currently, there are three main Client-side languages in use today: HTML, CSS, and JavaScript.
Final Thoughts
You now are aware of the difference between the front end and the back end of today’s Internet-based applications. We have identified for you the various languages that are used to develop on each. Finally, we have provided you with a link to another article that allows you to learn more about these different languages. It then, in turn, can point you in the right direction of how to learn more about each as well as use them yourself. So, in this way we have built for you a structure that lets you learn what you need, to be successful as a web developer. That’s the purpose of this website, which is to provide you with the information you need to become a better web developer, whether you choose to work on the client-side, the server-side, and possibly both.