Web development on Chrome OS (Chrome Dev Summit 2019)

Web development on Chrome OS (Chrome Dev Summit 2019)


Web development on Chrome OS (Chrome Dev Summit 2019)

This talk demonstrates how in a few clicks you can get a full web development environment up and running on Chrome OS, including how to do cross-browser testing!

Presented by: Emilie Roberts

#ChromeDevSummit All Sessions → https://goo.gle/CDS19

Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs

Event photos →  https://goo.gle/CDS19Photos

event: Chrome Dev Summit 2019; re_ty: Publish; product: Chrome - Chrome OS; fullname: Emilie Roberts;


Content

0 -> hi I'm Emily Roberts a developer
2.639 -> advocate with Chrome OS developer
4.319 -> relations today I'm gonna talk about web
6.93 -> development on Chromebooks here is a
9.03 -> quote from you a skilled web developer
12.049 -> Chromebooks are awesome and if you don't
16.049 -> remember saying this recently I hope
18.029 -> that after watching this video it will
19.8 -> become a daily thing Chromebooks are
22.439 -> known for being lightweight fast secure
25.14 -> web browsing machines they are so much
27.51 -> more the device portfolio has grown to
30 -> include tablets detachable z' all-in-one
32.64 -> mini desktops and of course laptops and
35.61 -> convertibles many of these are capable
37.89 -> development devices so what can you run
41.76 -> on them
42.239 -> well ideas like visual studio code Atom
46.25 -> webstorm tools like node react docker
50.07 -> and get and you can test your web apps
52.89 -> with multiple browsers including real
54.989 -> mobile browsers as well you can check
57.78 -> how your mobile app interacts with your
59.579 -> web server all right on the same device
62.359 -> okay let's get started and get your
64.769 -> Chrome OS device ready for development
66.86 -> we are going to set up a Linux
69.09 -> environment and then install the tools
71.04 -> you need to start open Chrome settings
73.83 -> and search or scroll down to Linux click
77.58 -> turn on this will download and setup a
81.119 -> Linux environment when it's complete
83.009 -> you'll see a terminal prompt pro tip if
86.1 -> you will be doing a lot of development
87.78 -> pin the terminal by right-clicking and
90.689 -> choosing pin now we have a Linux
94.5 -> environment let's install some tools
96.71 -> head over to the visual studio code
99.27 -> website and download the Linux dot de
102.479 -> Bie package double click and choose
105.27 -> install once it's installed you can find
108.299 -> vs code in your app launcher if you're
110.64 -> going to be using this IDE a lot you can
113.07 -> pin it like we did with the terminal
119.619 -> any application with a dot de Bie
122.9 -> package can be installed in a similar
125.09 -> way let's install atom the process is
128.66 -> exactly the same download install and
135.05 -> launch not every app has a dot de Bie
139.88 -> package but you can install any of your
142.069 -> favorite tools that support Debian Linux
143.62 -> for example to install sublime text
146.66 -> follow the Linux instructions on the
148.79 -> website to setup the apt repo and
151.31 -> install the editor using the
152.87 -> command-line when we install node in a
156.89 -> few seconds we'll take a closer look at
158.9 -> command-line installation and the same
161.42 -> thing goes for apps like webstorm just
164.209 -> go to the website follow the Linux
166.01 -> download and install instructions I
167.84 -> won't do a web storm right now let's get
170.51 -> right on to the server side of things oh
172.42 -> and by the way at the end of this video
175.43 -> I will direct you to a page by the
177.05 -> Chrome OS Deverell team with
178.85 -> installation instructions for all the
180.62 -> apps and more discussed in this video
183.4 -> now beyond what I mentioned today in
185.81 -> this video if your favorite tool is
187.31 -> supported in Linux it should run on
189.26 -> Chromebooks for example I like G edit
192.079 -> for text editing FileZilla as an FTP
195.17 -> client and Inkscape for vector graphics
197.69 -> editing today web development usually
200.84 -> takes more than a text editor an IDE or
203.239 -> an FTP client let's get to some other
206.06 -> tools so we can make some really nice
207.859 -> web apps nodejs requires GnuPG to open
213.59 -> up your terminal and install it with apt
216.459 -> that command is sudo apt install GnuPG 2
222.29 -> if you're new to apt you can probably
225.56 -> guess that by replacing GnuPG 2 with
229.07 -> whatever package name you want it will
231.38 -> install that package now finding the
233.78 -> right package name can sometimes be the
235.31 -> tricky part note as we continue with
238.22 -> this video and other terminal commands I
240.65 -> won't read every line out loud but as
242.87 -> mentioned I will provide a link at the
244.28 -> end that has them all
246.61 -> now that the dependency is installed
248.9 -> let's get nodejs run this curl command
253.12 -> followed by another apt install command
255.95 -> for node that's it
258.65 -> no js' is ready to go don't believe me
261.92 -> well let's try it out with procs use git
265.43 -> to clone the procs repo an NPM to
268.55 -> install build and serve the proxy web
270.59 -> app navigate to localhost 8080 in your
275.24 -> web browser and check it out pretty cool
278.66 -> so much minesweeping to be done
281.15 -> let's try react using NPM you can
285.05 -> install create react app then use create
289.13 -> react app to create a skeleton project
291.44 -> here I call it hello world react
295.12 -> navigate into the directory where it was
297.29 -> created and call NPM start now navigate
303.47 -> to localhost 3000 in your browser and
305.54 -> check it out if you prefer angular
309.41 -> install that too the steps are almost
312.14 -> the same again we use NPM to install at
315.88 -> angular slash CLI create an angular app
320.63 -> using ng new my angular project change
324.44 -> directories into the project folder
326.2 -> using CD for change directory my angular
329.96 -> project now ng serve browse to localhost
334.03 -> 4200 and check it out here you'll notice
337.73 -> that I have procs a react app and an
340.82 -> angular app all running on different
342.65 -> ports all on the same Chromebook I think
345.62 -> this is pretty handy what's more this is
348.2 -> all local so as long as your tools are
350.6 -> already installed you could do all of
352.49 -> your development offline say like on a
355.19 -> plane what about docker no problem again
359.54 -> we're going to follow the normal Linux
361.28 -> installation steps first we double check
364.01 -> that all the dependencies are installed
365.48 -> we add the docker repository to apt and
368.57 -> then we update the apt package list
371.21 -> since we just added a new repository we
374.27 -> use sudo apt update to do this then
377.84 -> install docker test it out by running
380.87 -> hello world this is done with sudo
383.18 -> docker run hello world you should get a
385.52 -> nice mess
386.24 -> showing that everything is working let's
388.009 -> do something a little bit more advanced
389.69 -> by running an Ubuntu Linux container and
392.509 -> docker
392.96 -> sudo docker run - it Ubuntu bash and
396.56 -> there you go your output is gonna look
398.72 -> something like this
399.65 -> in the Ubuntu container I've taken a
401.75 -> look at the OS version with cat slash et
405.02 -> Cie / OS version and you can see it's
408.41 -> really Ubuntu now once an app is ready
411.74 -> to deploy it should be tested because
414.59 -> Chromebooks have web Android and Linux
417.139 -> you can test across multiple browsers on
419.69 -> multiple platforms alright on the same
422.09 -> device let's install a whole pile of
424.759 -> browsers to prove this point using the
427.94 -> terminal in apt you install Firefox for
431.09 -> Linux note in debian the package name is
434.509 -> Firefox - ESR then let's also install
439.4 -> the chromium browser for Linux feeling
442.49 -> brave let's install the brave browser
444.71 -> for Linux I won't walk through all of
447.02 -> these lines right now but again they are
449.18 -> just the standard installation
450.289 -> instructions for Debian Linux we install
453.86 -> the GPG key we install the repo and
457.12 -> finally brave now if for browsers aren't
462.02 -> enough let's add a few more head over to
465.919 -> the Google Play Store and install some
467.9 -> Android browsers let's go with Firefox
471.11 -> for Android opera for Android and Chrome
474.32 -> Beta for Android we now have seven
476.99 -> browsers installed which can give us a
479.479 -> reasonable first attempt at test
481.13 -> coverage we have the Chrome OS Chrome
485.06 -> browser three Android browsers that is
488.99 -> Firefox Chrome Beta and opera three
493.039 -> Linux browsers Firefox for Linux brave
495.979 -> and chromium and here you can see that
499.699 -> our procs web app is running on all
501.59 -> seven one last thing to mention in case
504.62 -> you have a mobile app that interacts
506.509 -> with your web service you can do Android
509.15 -> TBWA and flutter development on Chrome
511.789 -> OS devices which means you can build and
514.19 -> package your mobile app on your
515.39 -> Chromebook test it right on the device
517.52 -> you were coding on like any other
519.199 -> Android app
519.979 -> build your web component start your web
522.769 -> server and then test everything on
525.05 -> multiple browsers and see how it
526.82 -> interacts right on the device Android
530.81 -> studio is as easy to install as visual
533.029 -> studio code or atom head over to the
535.16 -> Android studio site and download the dot
537.38 -> de Bie file then you can code your app
541.19 -> like you'd expect an Android studio with
543.199 -> one cool difference you'll notice that
546.44 -> you can push directly to the Chromebook
548.69 -> you're working on pretty cool full
551.48 -> instructions on how to set this up can
553.519 -> be found on the link at the end of this
555.079 -> video on the android page so with your
559.55 -> chromebook you can build web apps with
561.079 -> the tools you are used to develop and
563.209 -> test right on device with tools like
564.85 -> nodejs
566 -> docker and angular tests across multiple
569.06 -> browsers including mobile browsers and
571.339 -> even test mobile app and web interaction
574.94 -> right on device and all of this could
577.699 -> even happen offline like on a long
579.709 -> flight so now don't you agree
583.37 -> Chromebooks are awesome as promised here
587.93 -> is a link to a guide to get your Linux
589.459 -> environment customized just the way you
591.319 -> like it's cross dot page dot link slash
595.94 -> web - dev thank you can't wait to see
600.199 -> what you build
601.36 -> [Music]

Source: https://www.youtube.com/watch?v=3CWUAisN-vo