Welcome back.
So it's time that we get you set up with your own developer environment so that we can get started writing
our full stack javascript apps as soon as possible.
Before we talk about the specific tools that we're going to use I just want to do a quick recap of the
workflow not the concepts but the workflow from the last few videos.
So everything starts with our server side javascript code.
This is all the code that connects to the database and sets up our routes and starts the server.
And then we run it in our terminal.
In this case this is how I start the server here and then that starts my application.
And then I have to go to my browser and visit the correct view or so and now I see the application running
.
So those three pieces the text editor the terminal to start the server and then the browser to view
the application are the three things that we need.
And we're going to use a really really awesome tool called Cloud 9.
I'm really excited about this.
It's something that I wish I knew about when I was teaching this to students full time when I was doing
3 month or six month courses or even just you know evening workshops.
This tool would have made a huge difference to my personal happiness because I spent countless hours
helping students set up their development environments and debugging the incredibly painful and unique
issues that arise when you have you know 20 different students or 30 different students with different
machines who have all tried installing different things in the past and following different tutorials
.
And some of them are on an old version of Microsoft and some of them are on the brand new version of
Mac OS and some of them are on their own machines that they built.
And it's really really difficult even for a brand new machine that you haven't done anything to.
People still run into problems installing Office stuff.
So that's one of the reasons I'm really excited about this.
And before I go on to talk about the other one let's talk about what it is.
So what is cloud nine.
The short version is that it's your complete developer environment.
Everything that you need to make a full stack application whether it's in javascript and node or if
it's in Ruby with rails or python it's your complete environment set up in the browser.
So what has your text editor.
It's actually just like supply with the same shortcuts and everything it has at your terminal where
you run the server where you can do anything that you would do on the terminal on your machine.
But you do it in the browser and then.
So we'll be writing our complete applications in the browser rather than installing a terminal and possibly
a virtual machine and installing node ourselves and NPM and every package that we need in mongoose what
we can do with Cloud Nine is just in a few clicks we can create a brand new environment from scratch
that has everything that we need in it and we can start writing code in a matter of seconds.
So that's really exciting.
And this is something that's relatively new development in computing.
There are a few companies out there like cloud 9 and I don't want to sound like you know I'm a corporate
shill for them.
The reason that we're using Cloud Nine over some of the other alternatives is that they have the best
free plan and they care a lot about open source.
Some of the other companies have a limit of one environment per person or per account until they start
to charge you money.
Cloud 9 doesn't have it.
I also happen to like it personally because you can alter the themes and make it look just like sublime
and make your terminal look just the way that you want to.
Another thing that applied in is that this is just as powerful as running it locally on your machine
.
So I don't want you to think that everything is actually running in the browser.
What actually happens is that cloud 9 has computers somewhere else that are running the code for us
.
So the browser that we see in all actually show you what it looks like right here.
This text editor this is the terminal right here.
This isn't actually running in the browser which is a little confusing.
Think of this as the interface and behind the scenes when I run the server and I'll do that right now
.
Node app.
Yes you can see it's just like the terminal.
My app has started up and I can go visit my app.
So this is the app it's the the yellow cam in progress.
This is one of the earlier stages of it.
And this is being served from my cloud 9 terminal.
But what that really means is that cloud 9 has a computer somewhere else that has all of this stuff
installed has node and express and mongoose and passport and everything that we need and it has a server
that's actually running this code here and I'm visiting the Web page that's being served by that server
.
Really my only reservation about having this class used cloud nine is that it's a little confusing at
first.
How it actually works because I've spent so much time talking about the difference between front end
and back end and this almost seems to blend the two.
But in reality this is just an interface for typing all of our code and setting up our files but the
files are actually on a computer somewhere in a server that cloud 9 owns.
Other than that little conceptual hiccup I'm really excited to have us use this in this class for another
reason which is that it makes it so easy for me to share code and applications with you later in this
class.
Our applications are going to get pretty complicated.
They might have 50 60 maybe even 100 different files.
And if I didn't have something like Cloud 9 I would probably have to compress everything into izip and
then upload that to the video and then you would have to download it after every lesson and then you'd
have to install everything in order to use it again.
And then every time I make changes if I want you to be able to see the old version and the new version
and I have 20 different versions of an app which will happen with our yelper camp app will have lots
of different versions as we progress if we enhance it without cloud 9.
You would have to download a new application every time to your machine and open up the files unzip
things.
It would be pretty painful.
With cloud 9 what I can do is actually share a workspace with you.
So that means I can share the current state of all of my files here.
I can share my terminal with you.
I can share the app itself.
So that's really exciting to me because it makes it easy for me to just share the state of my code.
You can go in and look at every file without having to download 50 or 60 files every single time we
do a new feature.
So to summarize all of that if you can't tell I'm really excited that we're going to be able to use
cloud 9.
It's going to make my life a lot easier your life much easier to get started much less frustrating.
I've had to spend in the past days and sometimes even weeks trying to debug installation issues with
students and it's the number one thing that I've noticed will discourage a potential developer someone
who wants to learn from actually following through and learning things.
So cloud 9 will let us install things and set up an environment regardless of the type of computer you're
on and the software that it's running and the chipset or whatever else there is.
We'll get an environment set up that will be identical for all of us which I'll introduce in the next
video but we'll get an environment set up instantly and then we can start writing code right away.
And then also I can share my code with you really easily as well.
So very exciting in the next video we're actually going to install our own environment.