StartupCities







According to Stack Overflow, React is the most loved technology that developers use today. There's also huge demand for React developers around the world.
This syllabus is meant to take you, the motivated learner, from little-to-no experience Javascript coder to a proficient React developer.
By the end of this syllabus you will not be a master. But you'll be good enough to build apps and, most importantly, to make real contributions to a front-end development team. If you work hard, you can continue your education on the job as a professional React dev.
Almost all of the materials used in this course are free. There is one paid course, which brings the total cost of learning to: $20.
This guide approaches learning to program like learning a language, where knowledge grows through chunking. Chunking means you master small pieces until they're second nature. Then you can combine those pieces into more complex designs.
It focuses entirely on React.
You will:
You'll need to:
Git is a version control system (VCS) that you manage changes to your code. It's the cornerstone of collaboration between software developers! You MUST know it.
The best way to get the fundamentals under your fingers is to build many small projects.
Remember, when you get stuck Google the error.
Watch FreeCodeCamp sections: The DOM, Javascript Lingo, Chrome Developer Tools
Developer Tools (also available in Safari and Firefox) are super important! You'll use them every day.
Get Comfortable with ES6
What does ES6 mean?
In 2015, Javascript was upgraded with new features and syntax. This upgrade is called ES6 (ECMAScript6). Many new features don't do anything different from the Javascript that you're familiar with. But they look different and ES6 often simpler and more elegant to write. Tons of modern libraries like React use ES6, so to understand them you'll need to know it.
Read these topics from Quickstart in the React Docs:
You will not understand everything. That's OK! The point is to expose your mind to some of the common concepts and phrases in React. Just move on after you've read these short articles.
It costs $20, but is worth it.
Throughout this course, think about how React organizes interfaces as components that act like reusable LEGO blocks
Now you'll repeat the patterns you learned in React Fundamentals by making two more apps.
Don't be fussy about making these apps beautiful or elaborate. The point is to start from an empty app and work through the process of defining your UI, breaking it down into components, and building those components. If you need help thinking through this process, check out Thinking in React from the React Docs or the Thinking In React workshopper from Nodeschool.
Remember, this is about repetition, not perfection. Keep building and, as you repeat the core patterns of Javascript and React, you will master them.
Remember, when you get stuck Google the error.
As your React application becomes more complex, it gets harder to manage the state and data flow in your components. Redux puts your app's state in one place and makes it incredibly easy to make sure your components react to changes correctly!
You're ready to fly!
Make 3-5 small apps using React, Redux, and any other browser APIs that you'd like to use.
I recommend picking a browser API and idea that you can get excited about. This will keep you motivated as you work through each app.
Remember: Focus on making your apps modular, with small, focused components that you can re-use throughout the layout.
Make a portfolio site to show off your work. You should make your site with... yep, you guessed it ... React!
Launch it on Github Pages for free!
Markdown is a markup language that makes writing HTML even simpler than it already is. For example, to make something a headline, you just put a # in front of it. It will automatically be rendered a headline.
I originally wrote this for my girlfriend, who wanted to learn front-end development. Here's why:
When I first learned to code, I spent way too much time trying to figure out the right path. It's easy to get distracted with 'what language should I learn'? Most people just need to get good enough to get hired as a junior developer so they can continue their education on the job.
They are often used interchangeably. A package is just a library of functionality, meaning that someone has brought together a lot of different functions into one place.
Packages take the form of frameworks and libraries. For me, a framework imposes structure on your code. A library is more like a collection of functions that you use as you need them. A framework is a commitment to organizing your code and functionality in a particular way.
For example, React is a framework (it imposes structure and organizes your code in a very specific way). But Lodash is a library.
You download and install packages using a tool like npm and you can then import that package. That package might be a framework or it might be a library.


















