In order to get up and running straight away, I want to introduce you to a tool called CodeSandbox. And
this is a browser based development environment that was initially created with React element in
mind.
It takes care of a lot of the grunt work and setup and it makes it easy to install dependencies with
NPM support,
so every package that we've used previously using NPM install we can use it inside CodeSandbox.
It can be embedded into Medium blog posts and web pages,
it allows you to build and deploy within the same application and a whole bunch of other things including
really good syntax highlighting and linting as well.
Throughout this module, we're going to be using CodeSandbox to introduce you to new skills in React.
And after you've learnt the skill
then we'll practice those skills in a separate sandbox and it's through this skill practice skill practice
that you're going to build up and level up your skills in React.
And then at some point once you've acquired enough skills, I'm going to introduce you to a part of the
final project,
the Keeper app that we're going to be building. And we're going to break down the large Keeper app project
into several parts so that you'll be able to apply all of the skills that you learned previously
to complete each of these parts. And hopefully you're going to find that this process of using CodeSandbox
to learn and practice your skills help you learn React that much quicker and establish a solid foundation
of knowledge.
Now later on when I introduce you to the first part of the Keeper project, I'm also gonna show you how
to set up your local environment using Atom or using the VS code to create React apps. But to begin
with, I want to start out just using CodeSandbox so that you'll be at to use the same starting project
as me in a really really easy way.
So throughout this course, I'll be sharing with you these sandboxes, so that ensures that we're working
from the same file and it should minimize any headaches around the setup and configuration. In each lesson
where I'm explaining a concept through a use of a sandbox,
I will be sharing with you a link to that particular sandbox and this is what you'll see when you open
up the link in your browser.
You'll be able to see the files that are included and a preview of the website as it is, as well as be
able to view any of the existing files that I've created.
Now if you want to just get started straight away you can just start editing the project.
It's already live and working in your browser. But if you want to be a save your work, you can sign in using
GitHub and you'll be able to fork or create your own copy of the sandbox so that you can save it under
your own account
for you to review later on.
Now there's four main sections I want to talk about and the first section is this left hand pane here
which you can collapse by clicking on these elements over on the left.
If any of you have used VS code, this layout will look quite similar because it's heavily inspired by
VS code and a lot of the structure looks a bit like that particular application as well.
So all of our files are under the explorer tab and you can collapse or uncollapse by clicking on each
of these folders to view the files that are inside.
Now we've got our dependencies listed here.
So for example if you wanted to add MongoDB or Mongoose or any of those dependencies which you've
worked with before,
it's as simple as adding a dependency and searching for it from NPM. Now in the middle pane is our code
editor.
And this is where we're gonna be doing most of our work,
so for the majority of time, I'll ask you to collapse or reduce the size of all of the other panes so
that you can focus on the coding part.
And if you want to, you can change your preferences for your sandbox here to change the font size for
example.
So I tend to prefer a little bit larger.
Or you can even change other things such as the theme or the colors.
But this is the middle pane and then on the right here we've got a live preview.
So that means if you had a say an h1 tag in here that says 'Hello', it's going to automatically refresh this
page to show you the most up to date version of your web app without you needing to start or stop your
server.
It's going to do that for you automatically in the background. And right at the bottom here you've got
the console.
So this is the same as the Chrome development tool console that we've been using previously and it's
just a small version for the website that you are creating.
Now if this is too small, you can always pop it out in a new window so that you can see it in its full
glory and you can use the Chrome developer tools if you prefer to stick with these tools as well.
Now over here there's also a problems tab which is really useful.
So it means that if you make some typos or you have some errors, all of your linting errors is going to
go into the problems tab
so you can review each of them and try to debug your code.
Now if you wanted to share your code say in the Q/A or with your friends, it's
as simple as clicking on share and just copying the editor URL. As you can see it's pretty simple
and it just works. In the next lesson
I'm going to introduce you to JSX, which is a core component of React. So head over there and let's
get started writing some React code.