What is back-end?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone my name is Carlos I'm a web developer based from Boca New York and today I want to talk a little bit about what bad candies now if you're new to the industry or experienced in the industry you might have heard this term but not a lot along with the front and you might have heard back and being described as what happens under the hood or all the functionality that makes a website work but there's a lot more to it than that so today I want to go a little in-depth into what exactly is back in and what entails making a website work in the web industry a lot of terms can be thrown out of you web developer DevOps UX designer UI designer but two terms that are thrown out on our front end and back in however in order to understand what back-end is we must first have an idea what front-end is and how they communicate with each other now the fronton which is also called the client-side is basically what happens in the browser and this everything the end-user sees and interacts words so this could be a login page a sign-up page a page listing products from a shop or a site for a restaurant or a hair salon now the back end on the other hand this is what happens on the server and the database we also call this server-side programming and there's also the machinery that works behind the scenes it's basically everything the end user doesn't see or directly interact with but that power is what's happening now to actually understand how they interact with each other we can look at an analogy called the restaurant analogy ok so I want you to picture yourself walking into a restaurant you're created by a hostess and then you're sat down on the table and given a menu and the menu itself will have maybe a picture of the dish they have and maybe the title of the restaurant and inside the menu you're gonna have pictures of items and descriptions of what the dishes are maybe also the prices of them so this is basically a static piece of content that should make it easy for customers to understand their options and then from here you can pick and select what you like and request an item with certain specifications and this to be a hamburger with no onions or extra ketchup for example so I want you to picture this as a front end so all the static content that's displayed under website will be made up out of CSS HTML and then some type of JavaScript so now let's look at the backend side of this picture so just like in the front that in back-end the kitchen and chef are in a separate environment and it's hidden from the customers the kitchen and chef can take the order that received from the waiter and then from there he can go into the cooler or the fridge and proceed to create the item that was requested and then cook it up and delivered so you can think of this as the back end but there's one important element to missing from this in order for the kitchen and the front staff to interact with each other there needs to be some sort of medium to communicate so let's go ahead and see how that happens now you can't just shout out the menu and expect something to happen you need a way to communicate that order to the kitchen staff so in order for the front end and the kitchen to communicate the medium will be a waiter or a server that will be in charge of sending information back and forth from the customer and the kitchen staff and waiter and waitress can help undo understand the menu answer any questions and then take your orders to the kitchen step so they're basically experts in interactivity and understanding what you want to do so in the back inside we can consider the waiter as a server so with this analogy in place we have a better understanding of how front-end and back-end works but let's go ahead and take a look at this in a more practical way so just like our restroom we can view the front end as what's displayed in front of the user which is usually composed with HTML CSS and JavaScript and we can view the backend as a combination of a database and a software written in a server-side language which both run on web servers or cloud-based servers or a hybrid combination of both now the server-side application directly interacts with a database via an application programming interface which pulls saves or changes Stata so both the combination of the server and the database can be considered the backend so let's look at that example that you might run into on a daily basis so let's say you're trying to login into codecademy you go ahead and type in your email your password and you click the button login from there the information will be sent to the server-side software and the server-side software might have some data validation to make sure that the password field wasn't empty or maybe up comm was missing from the email and then once everything is in order the server-side software will parse this data and send it to the database so then we can check in the database if the user with that email password combination exists we might just run a query and look for that user and if it finds it then it can grab the information from that user and sent it back to the server now that user information might be a lot of information that we don't need so it might select what we need and then grab the certain information from that and then send it back to the client and then redirect him to his user profile page so using the restaurant analogy again you can think of the server as a waiter who is in charge of sending information back and forth and the database can be the kitchen or the chef that's in charge of making the orders and make you tender correct and then sending him back to the server so it can be delivered to the client so now we have a better understanding of how back and works and what it involves but let's look at examples on what a back-end developer will do on a day to day basis now a back-end developer will have many responsibilities that involve working with databases and server-side software but what are some examples of it well for starters the developer will have to be comfortable working with databases you're gonna be creating them you're gonna be integrating you're gonna be managing them a lot next you're gonna be working with back in frameworks to build a server-side software now I'm gonna touch a little bit more on what back and frameworks aren't in the following slides so don't worry too much about that another example would be data validation so you're gonna make sure that the information that is parsed as a correct format and it's being able to be sent properly to the database last thing you might want to be able to integrate user-facing elements with server-side logic so remember that login page where they had at the code Academy said we want to make sure that when we click the login button that information is being set to the proper route so the server can actually retrieve it and send it on to the proper place correctly so just keep in mind these are just a few examples and the rules of the back-end developer will they will change varying the scalability of the application you're building and what exactly is required so now let's look at some of the actual technologies and software that back-end developers use so in order to look for a dynamic site to work properly it requires a database or you can consider this as like the brains so own information like user profiles or images they've uploaded or blog posts are going to be stored in the database and some examples of the databases that are quite popular on my sequel we got MongoDB there's Oracle which is very popular as well and we have Postgres sequel now each of them have their own Ickx and cracks and advantages and disadvantages so it's up to you to decide which one is best for the application next let's look into the languages now for the languages we actually have quite a few to pick from and they're used to implement logic into web applications so you must be familiar with a server-side scripting language we have Ruby for example which is great for building complicated logic on the database side of a site we have Python which has an emphasis on readability and simplicity so it's great for beginners and it's also very powerful and works well in object oriented designs there's PHP which is one of the most popular server-side languages on the web PHP has designed pull and edit information in the database and it's mostly commonly bundled with databases written in the sequel language then we have node which is a program that allows the front and JavaScript language to be used in server-side applications mostly use with a framework called Express and we also have Java which is an object-oriented language similar to C++ but with advanced and simplified features and Java salsa free to access and can run on all platforms now these are just a few have mentioned there's a quite a few more that you can look into but now let's look into frameworks so what are frameworks frameworks are basically libraries of server-side programming languages that construct the backend structure of a site so it makes it easier to write to maintain and to scale web applications and they provide us tools and libraries that simplify common web development tasks this can be like routing URLs to appropriate handlers interacting with databases supporting sessions and user authorization or just formatting output and improving security against web attacks so a few examples all the frameworks we have are ruby on rails rails being the framework that is used with Ruby we have a few with Python one is Django we have flask as well and we also have Express which is one of the most popular ones that is used with node now if one is interested in learning back in development how do we actually get started well there's many paths to the same destination but I'm going to give you one simple progression you can take to actually start learning how to work with back-end development so first thing you're going to do is choose a language and a framework now I listed a bunch of in the previous slide but there are more options to them if you're familiar with maybe JavaScript in use at a little front and development it might make more sense for you to pick JavaScript and Express to work with if you're unfamiliar with programming it make more sense for you to pick a beginner-friendly language like Ruby or Python now after you've picked a language and a framework and you become a little more familiar with the framework then it's important for you to start learning how to serve simple content to the client and a solid progression here might be learning how to send messages directly from your code to the client or sending contents of files from the server to the client or maybe even creating a template and programmatically filling in the holes with some type of generic data so once you know how to send basic content it's time for you to send content from different locations and you can do this by learning API sand HTTP methods now if you're more curious about api's we provide another course which is listed in the description but the goal of an API here is to create an interface for an application to request some data from you such that it can do meaningful things in response to what it receives once you've learned all this one of the last steps would be actually connecting to the database and being able to make that connection so you can actually retrieve data or update data or maybe create new data like creating a new user for example and the last step would be to build something on your own this is one of the best ways to actually learn back in development or any kind of other development you're interested in just try to have a project in mind where you and you're where you implement both the server and a database and maybe a simple front and logic to actually interact with it now back in development involves a lot of steps and there's a lot of stuff to take in into learning how it back in development works but if you're curious we have some of the courses provided from code Academy listed in the description now with new technologies like react in angular coming up and evolving over time the difference between front and back and kind of blend in a little bit more but it's still important to know how they differ from each other so hopefully this gave you a good idea of what back in is so thanks for watching everyone and join the conversation by subscribing to this channel or dropping a comment below and if you want to take your skills to the next level start learning at code Academy
Info
Channel: Codecademy
Views: 63,382
Rating: undefined out of 5
Keywords: coding, codecademy, learn to code, programming, back-end, backend, back-end development, back-end engineer, what is back-end, back-end explainer, back-end definition
Id: WwbBOQaM0Zw
Channel Id: undefined
Length: 11min 5sec (665 seconds)
Published: Wed Jan 16 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.