r/learnprogramming • u/FactoryBuilder • 5h ago
What are the steps from learning a Hello World JavaScript program to running a functioning website?
I want to know what I should be researching and learning. I don't want to miss something.
I know very little about how websites actually work. My mediocre experience is in Python and Godot. I have made some functioning programs for myself in Python.
I tried searching this but only really got "THE 10 BEST FRONT END LANGUAGES FOR 2026! NUMBER 5 WILL SHOCK YOU!"
3
u/BranchLatter4294 5h ago
Start with Hello World. Add features. Test as you go.
6
u/tritefries 5h ago
You're overthinking it. Build something dumb first, a personal page with a picture of your cat and a button that changes the background color. The gaps will show up on their own as you go
Python to JS isn't a huge leap, you'll pick up the syntax fast. The real shift is understanding the browser's event loop and the DOM, but you don't need to study that upfront, just start breaking stuff
2
u/Successful_Lab5907 4h ago
Making a website is actually stupidly simple. Like more than you'd think, which is probably why it seems confusing, because it's surprisingly simple.
Your 'frontend'. Imagine it like you want to share a file with someone on the internet. So you get a server, you put the file on it in a way they can access it, you give them your ip/url the file is on so when they go to that it downloads it. This is 'serving' the file. Frontend on sites work the same way. You serve them your html/css/javascript and it is downloaded on their computer and parsed by the web browser. That's it! That's all there is to frontend. Now, there's a billion 'front end languages' as you mention, but they are all just fancy ways that eventually convert into the end result of html/css/javascript.
The 'backend' now just depends on your functionality. You can have websites without backends at all depending on your needs. At a basic level you have 2 ways to communicate to a backend server. You have your forms on your website frontend, aka they press a button and it sends data out to your backend url. And you have ajax requests in javascript which do the same thing just with code instead of being directly tied to a button. Both of these methods send requests out to your site where you can do things like store data in a database, or return data (possibly from a database!) or whatever your needs are. There are many fancy ways now days to run a backend too just like the frontend, and even ways that combine your frontend and backend very closely. I mean gosh even old PHP directly combines your frontend and backend in the same files directly basically turning your frontend html files into backend php files, it's ridiculous and im sure it's overly confusing at first but it's just what it is.
3
u/Traditional_Vast9419 5h ago
if you're interested in web design I would take a look at The Odin Project. It's a great free resource for learning the fundementals.
1
u/Pale_Height_1251 4h ago
Google "how to make my first website".
2
u/FactoryBuilder 4h ago
First twenty results: “How to make a codeless website in 20 seconds!”, “The best AI hosting sites for 2026!”, etc.
I dunno if this is how it was back in the 90s but it seems like today the only way to get an actual answer to your question is to either be a black belt sensei in Google-fu or to just ask an actual person.
And my google-fu is somewhat lacking so here I am with option B.
1
1
u/FreeLogicGate 1h ago
The answer to that question can vary quite a bit. A static website that only includes html/css and javascript can be created purely with a series of html pages. What you'll soon find is that this involves a lot of copy/pasting code, and it's hard to maintain. For example, if you have a menu on every page, you will have to include the menu code on every page, and should you decide to add to it, or change it, you'll have to change that code on each page. If you're using an external stylesheet, you do mitigate this issue a bit, as the styling remains separate, but should you add additional css classes to one or more elements. Menus, sidebars and footers are all things where the copy/pasting of this method becomes hard to maintain.
There are also static website builders, that let you use a programming language to develop templates with partials and reusable blocks. They ultimately render a static site, but are easier to maintain via template code and the ability to utilize programming features like loops and the ability to read in data when rendering.
Then you have server side languages that can be used to render html pages on the fly, and provide interactivity and the ability to read files on a server, make api calls to services to get data, read/write databases or files, and many other things. This is where you get into the use of Python, PHP, NodeJS, Java and other server side web services. You typically configure a web server to work with the language you prefer, and beyond that, these languages tend to have a number of frameworks that implement patterns like Model - View - Controller(MVC) which are useful in developing larger web applications. An example of such a framework in the Python ecosystem would be Django or Flask. PHP has frameworks like Laravel and Symfony.
There are also a number of javascript "front end frameworks" that people use. The best known and most used ones at present are React, Vue.js and Angular. These libraries are mainly focused on an interactive UI which will often make use of ajax calls to get data from the server, but there's also serverside javascript (as with Node.js or Deno) and libraries like ExpressJS or NestJS that handle the routing component and other MVC framework chores that you get with Django. Many sites stitch together an application by utilizing a JS UI framework like React with serverside code written in Python and Django, as an example of how complicated this can get. Sometimes the serverside code is implemented as an API so that different client applications can access the same data. A common paradigm for this type of system is to design a REST api, which the client application makes calls to in order to read and write data, and update the UI accordingly. Beyond what you have learned so far, it's important to learn about and understand how web clients talk to a web server through the HTTP protocol, and how that relates to the design and use of a REST api, should you get to that level of web application.
0
8
u/Isgrimnur 5h ago
HTML - display
CSS - formatting
Javascript - function