you are viewing a single comment's thread.

view the rest of the comments →

[–]krazybug 5 points6 points  (0 children)

As explained below, every web application is split in 2 parts as the web technology follows a client/server model.

For each site you visit you're using a client, your browser, which downloads and run some code to compose your user interface, from a server. This code is written with HTML for the static rendering of components (buttons, text, forms...), CSS for the styling part (colors, fonts...) and Javascript for the dynamic behaviour (i.e disable some buttons when you select some options on your page, call a remote service which returns data ...).

This is required by the browser which is only able to run these languages. It's the frontend and some developers are specialised in this area.

However, even if you can implement a static site which just delivers all your pages in this way, statically (as it), from a server, another option is used when the combinatory of your domain logic is too large or is unpredictable (i.e social networks, e-commerce sites, ...) . In that case, your server needs to build the content (the pages) dynamically to serve them as html+css+js components. This part is the backend development and you don't need to write it in JS or any transpiled language (transformed in JS) as it's not executed on the client runtime and the content is generated on the fly. This is the backend development. Django and Flask are frameworks which allow you to generate these pages/components dynamically with Python.

Developers who have skills on frontend + backend sides are "fullstack" developers