 Hi, I'm Emily Roberts, a developer advocate with Chrome OS Developer Relations. Today, I'm going to talk about web development on Chromebooks. Here is a quote from you, a skilled web developer. Chromebooks are awesome. And if you don't remember saying this recently, I hope that after watching this video, it will become a daily thing. Chromebooks are known for being lightweight, fast, secure web browsing machines. They are so much more. The device portfolio has grown to include tablets, detachables, all-in-one, mini desktops, and of course, laptops and convertibles. Many of these are capable development devices. So what can you run on them? Well, IDEs like Visual Studio Code, Atom, WebStorm, tools like Node, React, Docker, and Git. And you can test your web apps with multiple browsers, including real mobile browsers. As well, you can check how your mobile app interacts with your web server, all right on the same device. Okay, let's get started and get your Chrome OS device ready for development. We are going to set up a Linux environment and then install the tools you need. To start, open Chrome Settings and search or scroll down to Linux. Click, turn on. This will download and set up a Linux environment. When it's complete, you'll see a terminal prompt. Pro tip, if you will be doing a lot of development, pin the terminal by right clicking and choosing pin. Now we have a Linux environment. Let's install some tools. Head over to the Visual Studio Code website and download the linux.deb package. Double click and choose install. Once it's installed, you can find VS Code in your app launcher. If you're going to be using this IDE a lot, you can pin it like we did with the terminal. Any application with a .deb package can be installed in a similar way. Let's install Adam. The process is exactly the same. Download, install, and launch. Not every app has a .deb package, but you can install any of your favorite tools that support DB and Linux. For example, to install Sublime Text, follow the Linux instructions on the website to set up the apt repo and install the editor using the command line. When we install Node in a few seconds, we'll take a closer look at command line installation. And the same thing goes for apps like WebStorm. Just go to the website, follow the Linux download, and install instructions. I won't do WebStorm right now. Let's get right on to the server side of things. Oh, and by the way, at the end of this video, I will direct you to a page by the Chrome OS DevRel team with installation instructions for all the apps and more discussed in this video. Now, beyond what I mentioned today in this video, if your favorite tool is supported in Linux, it should run on Chromebooks. For example, I like gEdit for text editing, FileZilla as an FTP client, and Inkscape for a vector graphics editing. Today, web development usually takes more than a text editor, an IDE, or an FTP client. Let's get to some other tools so we can make some really nice web apps. Node.js requires GNU-PG2. Open up your terminal and install it with apt. That command is sudo apt install GNU-PG2. If you're new to apt, you can probably guess that by replacing GNU-PG2 with whatever package name you want, it will install that package. Now, finding the right package name can sometimes be the tricky part. Node. As we continue with this video and other terminal commands, I won't read every line out loud, but as mentioned, I will provide a link at the end that has them all. Now that the dependency is installed, let's get Node.js. Run this curl command followed by another apt install command for Node. That's it. Node.js is ready to go. Don't believe me? Well, let's try it out with prox. Use git to clone the prox repo and npm to install build and serve the prox web app. Navigate to localhost 8080 in your web browser and check it out. Pretty cool. So much mind sweeping to be done. Let's try react. Using npm, you can install create react app. Then use create react app to create a skeleton project. Here I call it hello world react. Navigate into the directory where it was created and call npm start. Now, navigate to localhost 3000 in your browser and check it out. If you prefer Angular, install that too. The steps are almost the same. Again, we use npm to install at angular slash cli. Create an Angular app using ng new myangular project. Change directories into the project folder using cd for change directory myangular project. Now ng serve, browse to localhost 4200 and check it out. Here you'll notice that I have prox, a react app, and an Angular app all running on different ports all on the same Chromebook. I think this is pretty handy. What's more, this is all local, so as long as your tools are already installed, you could do all of your development offline, say like on a plane. What about Docker? No problem. Again, we're going to follow the normal Linux installation steps. First, we double check that all the dependencies are installed. We add the Docker repository to apt and then we update the apt package list since we just added a new repository. We use sudo apt update to do this. Then install Docker. Test it out by running hello world. This is done with sudo docker run hello world. You should get a nice message showing that everything is working. Let's do something a little bit more advanced by running an ubuntu linux container in Docker. sudo docker run dash it ubuntu bash and there you go. Your output is going to look something like this. In the ubuntu container, I've taken a look at the os version with cat slash etc slash os version and you can see it's really ubuntu. Now, once an app is ready to deploy, it should be tested. Because Chromebooks have web, android and linux, you can test across multiple browsers on multiple platforms all right on the same device. Let's install a whole pile of browsers to prove this point. Using the terminal and apt install firefox for linux. Note in debian the package name is firefox-esr. Then let's also install the chromium browser for linux. Feeling brave? Let's install the brave browser for linux. I won't walk through all of these lines right now but again they are just the standard installation instructions for debian linux. We install the gpg key, we install the repo and finally brave. Now if four browsers aren't enough, let's add a few more. Head over to the google play store and install some android browsers. Let's go with firefox for android, opera for android and chrome beta for android. We now have seven browsers installed which can give us a reasonable first attempt at test coverage. We have the chromo s chrome browser, three android browsers that is firefox, chrome beta and opera, three linux browsers firefox for linux, brave and chromium and here you can see that our prox web app is running on all seven. One last thing to mention in case you have a mobile app that interacts with your web service you can do android, twa and flutter development on chrome west devices which means you can build and package your mobile app on your chromebook, test it right on the device you are coding on like any other android app, build your web component, start your web server and then test everything on multiple browsers and see how it interacts right on the device. Android studio is as easy to install as visual studio coder adam. Head over to the android studio site and download the .deb file. Then you can code your app like you'd expect in android studio with one cool difference. You'll notice that you can push directly to the chromebook you're working on. Pretty cool. Full instructions on how to set this up can be found on the link at the end of this video on the android page. So with your chromebook you can build web apps with the tools you are used to. Develop and test right on device with tools like no.js, docker and angular, test across multiple browsers including mobile browsers and even test mobile app and web interaction right on device. And all of this could even happen offline like on a long flight. So now don't you agree? Chromebooks are awesome! As promised here is a link to a guide to get your linux environment customized just the way you like. It's cross dot page dot link slash web dash dev. Thank you. Can't wait to see what you build.