 What's up team, it is your biggest fan, The Real Casadero and in this video we're exploring the differences between front end and back end web development so you can make an informed decision when you decide what path you want to take when it comes to web development. Do you want to be a front end developer? Do you want to be a back end developer? Or maybe you will determine that there is really no difference. I just want to build something and I'm going to go out there and learn. So team, let's get to it. Alright team, again I'm your biggest fan, The Real Casadero and if you want this hat check out writecodedrinkcoffee.com where you can find this hat, other hats like it as well as mugs and stickers that are going to keep you motivated and inspired on your journey to becoming the person you were meant to become so you can do the things you were meant to do and live the life you were meant to live. Now let's get into it, the difference between front end and back end development and what's best for you and how to choose. In the early days of websites it all went down like this, someone had some information or something that they wanted to put on the internet and so they put it in a text document and they took that and they put it on a piece of software, they put it on a computer that had a piece of software that just listened for connections on a particular port. That computer is called a web server. A web server is literally just a computer that is connected to the internet 24 hours a day, 7 days a week and it is programmed to send information to other computers that request that information. So in the context of a website when we open up our web browser or our computing device and we type in an address what we're saying is send me some information from this address. Using these complex mechanisms that we have set up right now what will happen is our request will go to a server, that server will look up the name and the index, it will see what the address is and then it will make the connection and that server when it receives that connection it will go oh gotta send this back and what it will do is it will take the html file and it will send it back and it will come back to our browser and we can see it. Whenever we wanted to change something on a web page like maybe we wanted to be a different color or we wanted to log in or log out we would have to send another request to the server and we may have to append some information to that request. Maybe we append a username or we append a password or whatever. When the server receives that request with this special information that information tells the server to send a different type of information back to the client or the requester. Well what happens on the server is some sort of computation is performed. Maybe data has to be taken from a database and that data is sent back to the client or maybe the server performs some sort of calculation and that's sent back or maybe the server goes out to another server that serves up some sort of other information and when it gets that information back it sends it back to the client. Well the problem is is that as servers as more and more people are using the internet and these servers are getting more and more requests things start to slow down and when we send a request to a web server what will happen is is we would see like a blank screen and then the page would load. What we were waiting on is the server to process our request and then send us a response. This is called the request and response cycle. At some point somebody said well in order to let people know that the web page is still working we'll just put an animation here. So we send a request to the server and then the animation starts to play or the server sends back this animation file immediately. Boom sends the animation file and it says I'm going to send the rest of this information when I get it and the browser plays this animation until the server sends this other information that we requested and then the browser goes oh we got a new page and it just reloads the page the animation goes away and we see the new page. Well things became more complex. Now we have social media networks and we have YouTube and we have you know image sharing sites like Imgur and you know we got all these different things out here going on on the internet. Well what would happen is that every time we click the button or we wanted to change something on the website we would have to send another request. So this would be multiple requests. Now we have multiple requests for multiple people 24 hours a day seven days a week and the servers they're getting slower and slower because they have to process all of this information. It was one thing to have 10 people sending 10 requests but now we have 10 people and combined they're all sending a hundred requests and maybe they're all doing this a hundred requests a second. If we get more people this number could grow exponentially and this is where things get real computer science but we're going to back up from that and we're just going to stick to front end development and back end development. So in the beginning a friend and developer just wrote HTML CSS. That's all they did right. They just took some information that somebody had and they put it in a form that a web browser could understand and then they would take that form they would put it on a server and the server just show people that that that information that document that form whatever it is and then we wanted to add functionality to it. But things got slow when we did. So somebody said hey there's got to be a better way. We've got this language called JavaScript that we use to animate things and move things around and this is a programming language just like any other programming language. So why can't we use JavaScript in order to just update certain portions of a web page in that way. We don't have to send an entire web page back every time. We don't have to wait for the server to send us an entire web page every time we request some new information. Typically what would happen is we would send a request to the server and it would gather all of the information that it had already sent before and it would send that back. Well on the server side somebody said well we could cache this information so if we get multiple requests that are exactly the same why don't we just cache this stuff and then we can just send them that page whenever that request comes. So that's where server side caching comes from. But server side caching was still slow because if you changed one thing the whole page would have to change. But somebody said hey we can use JavaScript to do this right. If we break the web page up into a series of objects then we can just manipulate these objects. We can update this piece of data without changing any of this data which means when we send a request to the server the request is smaller and the response that the server has to send back can be smaller. And that's where the current version of front end and back end development that is the genesis of it all. But at the core of it right now today as it stands is everything is pretty similar. All programming languages have pretty much the same mechanism. And now that people are learning to program on the front end so they can do all these complex computations and make games and all these other things those same people can operate on the back end. And as well the people who operate on the back end they can operate on the front end. Now typically it was sort of a one sided deal because what we would have to do is if we were on the front end and we're doing all this complex computation using JavaScript we weren't able to use JavaScript on the server. We would have to use some other programming language like PHP which is the most popular server side programming languages language known to man right now. So we would go off and we will learn PHP and then we would build all these things. And now we have to know HTML CSS JavaScript PHP the server software how to communicate with the database you got to know a bunch of stuff. Well companies understand and people understand this too right we just don't have the resources all the time is that if we have eight different things we have to do if we hire eight different people then we can do all eight of those things in the same amount of time it would take one person to do everything so that's what companies started to do they realized that they can make a lot more money if they just hired more people and had those people work at a faster pace than just one person or maybe one person was doing everything and they were like dude I can't do this anymore right and so they found somebody to help them and this person said hey what I'll do is I'll manage all of the queries coming from the database and I will manage how this information is sent back to the client and they were labeled a back end developer and then the other person said hey I'll focus on how this stuff looks on the screen and looks to the user I'll make sure it works in all the web browsers and that person was called a front end developer and then you had somebody who said hey I'll handle all the graphics I'll make sure all the pictures are pretty and optimized and the way they need to be and that person became a graphic designer and a UX designer that is how it all fits together so if you want to work with images if you want to work with the actual look and have control over the aesthetics in the field of the website then you would start out in UX and then when you wanted to turn that look into something that people could use where they could click buttons and things will move around then you would become a front end developer and if you wanted to actually set up the server and perform all of the programming logic and writing the applications that gather the information or put together whatever it is that the server needs to send back to the user then you would be a back end developer or you like all of these things and you can just do them all there's no reason why you can't do them all this is why web development is so powerful because you have this one set standard right that encompasses the ability to build anything you want HTML CSS JavaScript and now that we have no you can use JavaScript on the back end so your journey can end at JavaScript but if you want it can go into C sharp C plus plus whatever other programming language you want and when you know how all of these things work and how they all fit together and you have a good understanding of it you basically have an understanding of how all software is built it's just that the mechanisms are slightly different so that is the difference between everything team I hope that answers your questions about front end and back end and is able to help you decide which one you want to focus on why you move down your path to becoming the person you want to become and doing the things you want to do so you're able to live the life you want to live and again if you want a hat like this or mug or sticker to keep you inspired while you're on that journey to becoming the person you want to become so you can live the life you want to live the life you deserve to live the life you were meant to live then check out write code drink coffee dot com our team that is it if you have any questions concerns whatever leave a comment below be sure to click the thumbs up on this video so YouTube knows that it was inspirational and helpful and it shows it to other people and if you want more content like this all you got to do is subscribe and you'll be notified if you click the notification bell whenever I upload a new video until next time team it is me the real castadero your biggest fan I'm out here rooting for you and I'll see you in the next video