Skip to content
This repository was archived by the owner on Jan 8, 2025. It is now read-only.

Commit 4c2c696

Browse files
committed
Add TS and React
De-link javascript-promises.md because it's not good Leave Spike link for now, but mark deprecated
1 parent 54761bf commit 4c2c696

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

fundamentals.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
1. [Configuration](tools/code-editor.md#installation-and-configuration)
77
1. Programming languages
88
1. [JavaScript](languages/javascript.md)
9+
1. [TypeScript](languages/typescript.md)
910
1. [JSON](languages/json.md)
1011
1. [Markdown](languages/markdown.md)
1112
1. Development tools

languages/javascript.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
1. Variables and scope
66
1. `let` and `const`
7-
1. Promises
7+
1. Promises [Web Fundamentals](https://developers.google.com/web/fundamentals/primers/promises), [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises)
88
1. XMLHttpRequest (XHR)
99
1. Events
1010
1. Errors and `try/catch`
@@ -17,4 +17,3 @@
1717
* [MDN JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
1818
* [MDN JavaScript Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
1919
* [MDN Browser and DOM Reference](https://developer.mozilla.org/en-US/docs/Web/API)
20-
* [Promises](javascript-promises/javascript-promises.md)

languages/typescript.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# TypeScript
2+
3+
TypeScript is a superset of JavaScript, which means that all JS is valid TS. TS extends JS with type information.
4+
Type information enables static analysis (performed by the TS compiler) to detect a number of bugs. It also helps
5+
developers understand code more easily by communicating exactly what type of data is expected and acceptable.
6+
Visual Studio Code displays type information which makes editing code easier.
7+
8+
## Learning TypeScript
9+
10+
* [TypeScript Deep Dive](https://basarat.gitbooks.io/typescript/content/docs/getting-started.html)
11+
* [Official documentation](http://www.typescriptlang.org/docs/home.html)

ui/advanced.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
## Tools and frameworks
1313

14-
1. [Spike](spike.md)
14+
1. [React](react.md)
15+
1. [~~Spike~~](spike.md) (deprecated)
1516
1. [Shoelace](shoelace.md)
1617
1. [Apache HTTP server](http://httpd.apache.org/)
1718
1. [nginx HTTP server](https://nginx.org/en/)

ui/react.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# React
2+
3+
React is a JS UI library that helps build component-based, stateful, performant applications. React itself does not
4+
provide UI components. Our component library of choice is [Material UI](https://material-ui.com/), a React
5+
implementation of Google's Material Design. React is used in [Gatsby](https://www.gatsbyjs.org).
6+
7+
## Learn React
8+
9+
* [Official docs](https://reactjs.org/docs/hello-world.html) (read at least Main Concepts and Advanced Guides)
10+
* [Redux](https://redux.js.org/basics) (read Basics and Advanced)
11+
12+
## Component design
13+
14+
1. Start with a completely stateless UI - build the UI elements in JSX, accepting props as needed
15+
1. If the component meets the needs then you are done!
16+
1. If you need to fetch or calculate data, manipulate props, or manage state, rename your module to `MyModuleTemplate`
17+
1. Now create a new `MyModule` and add all necessary logic, passing props and handlers to `MyModuleTemplate`

0 commit comments

Comments
 (0)