-
Notifications
You must be signed in to change notification settings - Fork 22.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fill in installing software and browsing the web #37456
base: main
Are you sure you want to change the base?
fill in installing software and browsing the web #37456
Conversation
Preview URLs (6 pages)
Flaws (1255)Note! 1 document with no flaws that don't need to be listed. 🎉 URL:
URL:
URL:
URL:
URL:
External URLs (56)URL:
URL:
URL:
URL:
URL:
(comment last updated: 2025-01-02 10:40:51) |
> The content in this article is currently incomplete, sorry about that! We are working hard to improve the MDN Learn Web Development section, and we will have places marked as incomplete ("TODO") finished soon. | ||
By this point in the module, you should have at least two web browsers installed on your computer. This article goes a little deeper into using browsers, looking at how a web browser works, the difference between some of the common items you'll interact with, and how to search for information. | ||
By this point in the module, you should have at some modern web browsers installed on your computer and other available devices. This article goes a little deeper into using browsers, looking at how a web browser works, the difference between some of the common items you'll interact with, and how to search for information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By this point in the module, you should have at some modern web browsers installed on your computer and other available devices. This article goes a little deeper into using browsers, looking at how a web browser works, the difference between some of the common items you'll interact with, and how to search for information. | |
By this point in the module, you should have a modern web browser installed on your computer or other available devices. This article goes deeper into using browsers, looking at how a web browser works, the difference between some of the everyday things you'll interact with, and how to search for information. |
|
||
> [!NOTE] | ||
> If you don't have any browsers installed beyond the default one that came with your device, get some more installed. See [Installing modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#installing_modern_web_browsers). | ||
> If you don't have any browsers installed beyond the default ones that came with your devices, get some more installed. See [Modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#modern_web_browsers). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
> If you don't have any browsers installed beyond the default ones that came with your devices, get some more installed. See [Modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#modern_web_browsers). | |
> If you don't have any browser installed beyond the default one that came with your device, try some others. See [Modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#modern_web_browsers) for more information. |
> If you don't have any browsers installed beyond the default one that came with your device, get some more installed. See [Installing modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#installing_modern_web_browsers). | ||
> If you don't have any browsers installed beyond the default ones that came with your devices, get some more installed. See [Modern web browsers](/en-US/docs/Learn_web_development/Getting_started/Environment_setup/Installing_software#modern_web_browsers). | ||
As with any area of knowledge, the web comes with a lot of jargon. Don't worry. We won't overwhelm you with all of it (we have a [glossary](/en-US/docs/Glossary) if you're curious). However, there are some basic terms you need to understand at the outset since you'll hear these expressions all the time as you read on. We introduce some important terms below. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As with any area of knowledge, the web comes with a lot of jargon. Don't worry. We won't overwhelm you with all of it (we have a [glossary](/en-US/docs/Glossary) if you're curious). However, there are some basic terms you need to understand at the outset since you'll hear these expressions all the time as you read on. We introduce some important terms below. | |
As with any area of knowledge, the web comes with a lot of jargon and technical terminology. Don't worry. We won't overwhelm you with all of it (you can check the [glossary](/en-US/docs/Glossary) if you're curious). However, there are some basic terms you need to understand from the beginning since you'll hear these expressions all the time as you read on. We introduce some important terms below. |
- **Web page** | ||
- : A document that can be displayed in a web {{Glossary("browser")}}. These are also often called just "pages." Such documents are written in the {{Glossary("HTML")}} language (which we look at in more detail later on). | ||
- **Website** | ||
- : A collection of web pages grouped together into a single resourse, with links connecting them together. Often called a "site." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we doing "site."
instead of "site".
? 😄
|
||
Many beginners on the web confuse search engines and browsers. Let's make it clear: A **_browser_** is a piece of software that retrieves and displays web pages; a **_search engine_** is a website that helps people find web pages from other websites. The confusion arises because, the first time someone launches a browser, the browser displays a search engine's homepage. This makes sense, because, obviously, the first thing you want to do with a browser is to find a web page to display. Don't confuse the infrastructure (e.g., the browser) with the service (e.g., the search engine). The distinction will help you quite a bit, but even some professionals speak loosely, so don't feel anxious about it. | ||
This all makes sense because the first thing people tend to want to do with a browser is find a web page to display. Don't confuse the infrastructure (the browser) with the service (the search engine). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure about 'infrastructure' usage here:
This all makes sense because the first thing people tend to want to do with a browser is find a web page to display. Don't confuse the infrastructure (the browser) with the service (the search engine). | |
This all makes sense because the first thing people tend to want to do with a browser is find a web page to display. Don't confuse the software (the browser) with the service (the search engine). |
You could also use "car and road" metaphor, but the road is more than a search engine :)
|
||
- Going to a search engine homepage and entering a search term. | ||
- Entering a search term into the browser address bar. | ||
- Entering a search term somewhere else in the browser. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Entering a search term somewhere else in the browser.
Where else?
|
||
Try some searches, as indicated above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe remove?
Try some searches, as indicated above. |
- Generating an optimized version of a specific block of code. This can be useful when you've written a block of code that works, but you want to find out how it could be done more efficiently, or in a more robust way that solves more use cases. | ||
- Providing advice on how to do something. For example, if you don't just want to know where the bug is in a block of code, but instead you want advice on what strategy to use to debug it. | ||
|
||
Try using a couple of AI tools to do some searches. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it's style/subjective, but I would remove this last sentence. Keep if you like it.
|
||
But wait! The following is important: **You still need to understand what you are trying to do at a high level, what the code is doing, and where each piece of code needs to be used**. If you don't, you won't be very useful when trying to figure out what to do to solve real-world problems. This means that you still need to learn to code. AI can be a really useful tool to help you find answers more quickly, but if you just type every question you are asked into an AI prompt, you won't understand how anything works. | ||
|
||
In addition, AI tools present their answers in a confident, authoritative voice, but they can often be misleading or just plain wrong. Some of the errors they make can be very subtle. They don't have any innate intelligence of their own — they are basically advanced pattern matching tools. AI tools compile their answers from other sources out there, so will hoover up wrong information as well as correct information. Even two correct sources can be combined to create an answer that is incorrect. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Newer information may not also be available, or answers may be skewed to older and more prevalent documentation, so "how to do X in JS" might give you outdated guidance.
|
||
In addition, AI tools present their answers in a confident, authoritative voice, but they can often be misleading or just plain wrong. Some of the errors they make can be very subtle. They don't have any innate intelligence of their own — they are basically advanced pattern matching tools. AI tools compile their answers from other sources out there, so will hoover up wrong information as well as correct information. Even two correct sources can be combined to create an answer that is incorrect. | ||
|
||
As a result, you need to be careful to check the answers they give you, and not just trust everything without question. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe not just in this section, but I think it's good to mention:
- knowing how to look for documentation
- knowing how to read documentation (a tool or language reference, specs, MDN, GitHub READMEs, whatever)
- debugging -> knowing what output is important and how to find information about the problem
- communities where you can ask for help
as alternatives.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You already mention search tips below, so would link to that / mention that comes next
- When you find a useful answer, bookmark or make a copy of it somewhere so you can find it again later. You'll be amazed how many times you run into the same problem. | ||
- If your code is returning a specific error message, try entering the error into a search engine or AI prompt. Other people will probably have already tackled the same error in the past and recorded solutions publicly somewhere. | ||
- If possible, stick with recommended sites like MDN and [StackOverflow](https://stackoverflow.com). | ||
- There are many advanced search techniques you can use in search engines that will give you better results than just typing a plain search term. Typing in a plain search term such as `ant fish cheese` will return results that contain any combination of those words. However: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small one to mention it may differ per search service:
- There are many advanced search techniques you can use in search engines that will give you better results than just typing a plain search term. Typing in a plain search term such as `ant fish cheese` will return results that contain any combination of those words. However: | |
- There are many advanced search techniques you can use in search engines that will give you better results than just typing a plain search term. Typing in a plain search term such as `ant fish cheese` will return results that contain any combination of those words. However search engines usually support variations of the following formats: |
- `and OR cheese` will only return results with one term or the other, not both. From our testing, this one only seemed to work effectively in Google. | ||
- `intitle:cheese` will only return results that have "cheese" in the main title of the page. | ||
|
||
There are many other techniques you can use in various different search engines. Try seeing what others you can find! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
For web development, you can probably do better than Notepad or TextEdit. We recommend starting with [Visual Studio Code](https://code.visualstudio.com/), which is a free editor that offers live previews, code hints, and many other features. | ||
For now, we would recommend that you install [Visual Studio Code](https://code.visualstudio.com/), as it is available across different platforms, has a great feature set and support, and is the editor we mostly use. Do this now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now, we would recommend that you install [Visual Studio Code](https://code.visualstudio.com/), as it is available across different platforms, has a great feature set and support, and is the editor we mostly use. Do this now. | |
For now, we would recommend that you install [Visual Studio Code](https://code.visualstudio.com/), as it is available across different platforms, has a great feature set and support, and is the editor we mostly use. You should install this now to follow along with the rest of this article. |
|
||
For now, we'll install a couple of desktop web browsers to test our code in. If possible, make sure you have one browser from each line installed and available to test on (so you don't just test in multiple browsers based on the same rendering engine): | ||
Having modern web browsers available is essential for web development, so you can test your websites/apps on the browsers you audience will use to access them. You also need to keep your web browsers up-to-date so that they support the latest web technologies and have the latest security fixes applied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having modern web browsers available is essential for web development, so you can test your websites/apps on the browsers you audience will use to access them. You also need to keep your web browsers up-to-date so that they support the latest web technologies and have the latest security fixes applied. | |
Having modern web browsers available to you is essential for web development so that you can test your websites or apps on the browsers your visitors use to access them. You also need to keep your web browsers up-to-date so that they support the latest web technologies and have the latest security fixes applied. |
- **Web browsers**, to test code in. Currently, the most-used browsers are [Firefox](https://www.mozilla.org/en-US/firefox/new/), [Chrome](https://www.google.com/chrome/), [Safari](https://www.apple.com/safari/), and [Microsoft Edge](https://www.microsoft.com/en-us/edge). You should also test how your site performs on mobile devices and on any other browsers your target audience may be using. [Lynx](https://lynx.browser.org/), a text-based terminal web browser, is great for seeing how your site is experienced by visually-impaired users. | ||
- **A graphics editor**, like [GIMP](https://www.gimp.org/), [Figma](https://www.figma.com/), [Paint.NET](https://www.getpaint.net/), [Photoshop](https://www.adobe.com/products/photoshop.html), [Sketch](https://www.sketch.com/) or [XD](https://helpx.adobe.com/support/xd.html), to make images or graphics for your web pages. | ||
- **A version control system**, to manage files on servers, collaborate on a project with a team, share code and assets and avoid editing conflicts. Right now, [Git](https://git-scm.com/) is the most popular version control system along with the [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/) hosting service. | ||
When creating a website locally, you can often load up the main HTML index file directly in a browser to test it. However, some examples will need to be run through a locally-installed web server to work successfully. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When creating a website locally, you can often load up the main HTML index file directly in a browser to test it. However, some examples will need to be run through a locally-installed web server to work successfully. | |
When creating a website locally (on your own machine), you can often load up the main HTML index file directly in a browser to test it. However, some examples will need to be run through a locally-installed web server to work successfully. |
One of the easiest options we've found to make a local server available is to use a code editor extension — this way, it is available right inside your code editor. Do the following inside Visual Studio Code: | ||
|
||
1. Open the _Extensions_ pane using the _View_ > _Extensions_ menu option. | ||
2. In the "Search..." box at the top of this pane, type in "live preview". The top search result should be the _Live Preview_ extension, created by Microsoft. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could also link to https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server
|
||
After you've finished developing a website or app (on your local computer, or perhaps on a development server), you'll want to put it onto a remote web server so that your users can type in the web address associated with it, and view it on the web! | ||
|
||
There are various ways you can do this, from buying hosting and using an [SFTP app](/en-US/docs/Learn_web_development/Howto/Tools_and_setup/Upload_files_to_a_web_server#sftp), using a service like [GitHub Pages](https://pages.github.com/) or [Netlify](https://www.netlify.com/), or even just throwing up a quick test app to share with others using something like [Glitch](https://glitch.com/) or [CodePen](https://codepen.io/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are various ways you can do this, from buying hosting and using an [SFTP app](/en-US/docs/Learn_web_development/Howto/Tools_and_setup/Upload_files_to_a_web_server#sftp), using a service like [GitHub Pages](https://pages.github.com/) or [Netlify](https://www.netlify.com/), or even just throwing up a quick test app to share with others using something like [Glitch](https://glitch.com/) or [CodePen](https://codepen.io/). | |
There are various ways you can do this, from buying hosting and using an [SFTP app](/en-US/docs/Learn_web_development/Howto/Tools_and_setup/Upload_files_to_a_web_server#sftp), using a service like [GitHub Pages](https://pages.github.com/) or [Netlify](https://www.netlify.com/), or even setting up a quick demo to share with others using something like [Glitch](https://glitch.com/) or [CodePen](https://codepen.io/). |
Thanks, Chris! Couple of comments / suggestions to have a look at! |
Description
When we restructured the MDN Learn web development section, some articles were published incomplete, with TODO sections.
This PR fills in content for Browsing the web and Installing basic software. The second one wasn't marked as incomplete, but it was pretty sparse, information-wise. It also makes some changes to related articles, to help with consistency and reduce repetition.
Motivation
Additional details
Related issues and pull requests