|
| 1 | +# Day 41 – React: JavaScript user interfaces |
| 2 | + |
| 3 | +In the coming 4 days you are going to write some React code, exciting! I prepared two interesting projects to hit the ground running: |
| 4 | + |
| 5 | +1. a front-end for our PyBites Tips API, and |
| 6 | +2. a simple Hangman game. |
| 7 | + |
| 8 | +## Day 1 |
| 9 | + |
| 10 | +Watch the first 9 videos of this chapter. After a short React intro, and a refresher on some ES6 (Ecmascript) / modern JS features, we dive straight into bootstrapping our first app with [create-react-app](https://github.com/facebook/create-react-app). |
| 11 | + |
| 12 | +We will build a front-end for [our tips API](https://github.com/pybites/python_tips) using the [axios](https://github.com/axios/axios) plugin and of course React for rendering components. |
| 13 | + |
| 14 | +You can check out the demo code [here](demo/tips). |
| 15 | + |
| 16 | +## Day 2 |
| 17 | + |
| 18 | +Accompanying video 10: now it's time to practice yourself. |
| 19 | + |
| 20 | +Try to build your own front-end for an API of your choice. At this point it should be easy to re-use my `axios` code so maybe you can focus on building one or more React components for rendering the data your API returns ... |
| 21 | + |
| 22 | +Remember to use [create-react-app](https://github.com/facebook/create-react-app) to easily bootstrap your app. Good luck and have fun! |
| 23 | + |
| 24 | +## Day 3 |
| 25 | + |
| 26 | +Continuing with videos 11-19 we are going to learn more about state in React apps and the ideal way to demo this is by building a game ([the React tutorial](https://reactjs.org/tutorial/tutorial.html) also teaches by building a game!). |
| 27 | + |
| 28 | +When I was learning Java I made a hangman variant called [Free Monkey](https://play.google.com/store/apps/details?id=com.bobbelderbos.freemonkey&hl=pa) and today I will demo a simplified version using React. |
| 29 | + |
| 30 | +You can check out the demo code [here](demo/freemonkey). |
| 31 | + |
| 32 | +## Day 4 |
| 33 | + |
| 34 | +Accompanying video 20: it's time again to put into practice what you've learned yesterday. Can you build a simple game using React? |
| 35 | + |
| 36 | +If this still feels intimidating at this point I encourage you to just go through [the code of this lesson](demo/freemonkey) and/or the tic-tac-toe game of the [Intro to React tutorial](https://reactjs.org/tutorial/tutorial.html). |
| 37 | + |
| 38 | +Again, games are a great way to learn to program because they include many concepts like classes/ state, conditions, design, etc. |
| 39 | + |
| 40 | +To get the most out of this lesson really try to build something using React these days. |
| 41 | + |
| 42 | +-- |
| 43 | + |
| 44 | +Remember, the web runs on JS and React is a solid choice as a UI component library. Getting at least the basics down will go a long way, specially when you are or want to become a web developer! |
| 45 | + |
| 46 | +### Time to share what you've accomplished! |
| 47 | + |
| 48 | +Be sure to share your last couple of days work on Twitter or Facebook. Use the hashtag **#100DaysOfWeb**. |
| 49 | + |
| 50 | +Here are [some examples](https://twitter.com/search?q=%23100DaysOfCode) to inspire you. Consider including [@talkpython](https://twitter.com/talkpython) and [@pybites](https://twitter.com/pybites) in your tweets. |
| 51 | + |
| 52 | +*See a mistake in these instructions? Please [submit a new issue](https://github.com/talkpython/100daysofweb-with-python-course/issues) or fix it and [submit a PR](https://github.com/talkpython/100daysofweb-with-python-course/pulls).* |
0 commit comments