A plan for teaching / learning web technologies and react.js.
- Your favorite browser
- Visual Studio Code
- Git
- Node.js
- NPM
- Calculator
- Expression input
- Digit buttons
- Operations buttons (+, -, *, /, =)
- Chat
- Message input
- Send button
- Chat log
- Notes
- Note input
- Add note button
- Notes list
- Remove note button
- Reorder note
- Timer / Countdown
- Time display / input
- Start button
- Stop button
- Reset button
- Data table
- Inserting
- Editing
- Removing
- Pagination
- Searching
- Sorting
- Reordering
- Spoilers
- Color picker
- Color palette
- Color values slider
- RGB display
- HSL display
- Calendar
- Year view
- Month view
- Date display
- Date navigation
- Event creation
- Clock
- Digital mode
- Analogic mode
- Alarm
- World time display
- Date display
- Weather app
- Location selection
- Time selection
- Open service data fetch
- Weather description
- Temperature display
- Wind speed display
- Humidity display
- Tic-Tac-Toe game
- Grid display
- XO set
- Game reset button
- Win message
https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML
- What is HTML? - Hyper Text Markup Language
- Simple HTML document
- What is a tag?
- What is an attribute?
- 1.0 - 1993 (first draft 1991)
- 2.0 - 1995
- 3.2 - 1997 - first W3C standard (3.0 was proposed but did not succeeded)
- 4.0 - 1997 - 1998
- 4.01 - 1999
- XHTML - 2000
- 5.0 - 2014 (first draft 2008)
- 5.1 - 2016
- 5.2 - 2017
- Future
- <html></html>
- <head></head>
- <body></body>
- <title></title>
- <meta></meta>
- <link></link>
- class
- id
- style
- title
- <header></header>
- <nav></nav>
- <main></main>
- <aside></aside>
- <footer></footer>
- <section></section>
- <article></article>
- <div></div>
- download
- href
- target
- <form></form>
- <input></input>
- <button></button>
- <select></select>
- <option></option>
- <textarea></textarea>
- action
- enctype
- method
- name
- target
- type
- alt
- height
- src
- width
- <table></table>
- <thead></thead>
- <tbody></tbody>
- <tfoot></tfoot>
- <tr></tr>
- <th></th>
- <td></td>
- colspan
- rowspan
- <ul></ul>
- <ol></ol>
- <li></li>
- <iframe></ifram>
- <video></video>
- <audio></audio>
- <embed></embed>
- <object></object>
https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS
- What is CSS? - Cascading Style Sheets
- Simple style sheet
- How CSS works with HTML
- What is a rule?
- What is a selector?
- Release 1996 (first proposal 1994)
- Level 2 - 1998
- Level 2.1 - 2004 - 2011
- Level 3 - 2011 - 2012 (first draft 1999)
- Level 4 - 2007 - ...
- Future
- Property
- Value
- Simple selectors
- Type selectors
- Class selectors
- Id selectors
- Universal selector "*"
- Attribute selectors
- Attribute presence
- Attribute substring
- Pseudo-selectors
- :not()
- :first-child()
- :last-child()
- :nth-child()
- :nth-last-child()
- :hover
- Pseudo-elements
- ::after
- ::before
- Combinators
- Descendant selector
- Child selector
- Adjacent sibling selector
- General sibling selector
- Multiple selectors
- Source order
- Specificity
- Importance
- absolute length units
- pixels (px)
- points (pt)
- millimeters (mm)
- centimeters (cm)
- relative length units
- percentage (%)
- vh
- vw
- vmin
- vmax
- em
- rem
- unitless values
- RGB
- HSL
- RGBA
- HSLA
- width
- height
- padding
- border
- margin
- box-sizing
- Background
- color
- image
- position
- repeat
- size
- Border
- color
- style
- width
- radius
- image
- Color
- Font
- family
- size
- style
- weight
- transform
- decoration
- Alignment
- Line Height
- Spacing
- letter spacing
- word spacing
- Normal flow
- display property
- position property
- Flexbox
- Grid
- table layout
- floats
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction
- What is JS? - JavaScript
- Simple JS script
- How JS works with HTML and CSS?
- Language philosophy
- ES1 - 1997 (first implementation 1995)
- ES2 - 1998
- ES3 - 1999
- ES4 - 1999 - 2008 (never released)
- ES5 - 2009
- ES6/2015
- ES2016
- ES2017
- ES2018
- ES.NEXT
- Comments
- Single-line comment
- Multi-line comment
- Variable and constant declarations
- Data types
- Boolean
- Number
- String
- Undefined
- Symbol
- Object
- Function
- Literals
- Array literals
- Boolean literals
- Floating-point literals
- Integers
- Object literals
- RegExp literals
- String literals
- Block statement
- Conditional statements
- if...else statement
- switch statement
- Exception handling statements
- throw statement
- try...catch statement
- Promises
- for statement
- do...while statement
- while statement
- labeled statement
- break statement
- continue statement
- for...in statement
- for...of statement
- Defining functions
- Function declarations
- Function expressions
- Arrow functions
- Calling functions
- Function anatomy
- Operators
- Assignment operators
- Comparison operators
- Arithmetic operators
- Bitwise operators
- Logical operators
- String operators
- Conditional (ternary) operator
- Comma operator
- Unary operators
- Relational operators
- Operator precedence
- Expressions
- Primary expressions
- Left-hand-side expressions
- Numbers
- Decimal numbers
- Binary numbers
- Octal numbers
- Hexadecimal numbers
- Exponentiation
- Number object
- Math object
- Date object
- Strings
- Template literals
- Special characters
- Patterns and grouping
- .exec()
- .test()
- Array
- Typed Arrays
- Map
- WeakMap
- Set
- WeakSet
- object initializers
- properties and methods
- getters and setters
- deleting properties
- comparing objects
- Object.assign()
- Object.create()
- Object.defineProperty()
- Object.defineProperties()
- Object.freeze()
- Object.seal()
- Object.entries()
- Object.keys()
- Objet.values()
- constructor
- properties and methods
- getters and setters
- inheritance
- static
- future proposals
- JSON.stringify()
- JSON.parse()
- yield operator
- Generator functions
- Iterables
- Proxy
- Reflexion
https://developer.mozilla.org/en-US/docs/Web/API
- .console
- .document
- .fullScreen
- .history
- .location
- .localStorage
- .name
- .navigator
- .opener
- .parent
- .performance
- .screen
- .status
- .alert()
- .blur()
- .close()
- .confirm()
- .find()
- .focus()
- .getComputedStyle()
- .getSelection()
- .open()
- .moveTo()
- .moveBy()
- .print()
- .prompt()
- .requestAnimationFrame()
- .requestIdleCallback()
- .setTimeout()
- .setInterval()
- .log()
- .error()
- .info()
- .warn()
- .trace()
- .count()
- .group()
- .table()
- .time()
- .clear()
- .body
- .head
- .links
- .forms
- .images
- .scripts
- .styleSheetSets
- .documentElement
- .cookie
- .domain
- .location
- .readyState
- .referrer
- .title
- .activeElement
- .fullscreenElement
- .getElementById()
- .length
- .back()
- .forward()
- .go()
- .pushState()
- .replaceState()
- .href
- .protocol
- .host
- .hostname
- .port
- .pathname
- .search
- .hash
- .assign()
- .reload()
- .replace()
- .length
- .key()
- .getItem()
- .setItem()
- .removeItem()
- .clear()
- .appCodeName
- .appName
- .appVersion
- .battery
- .connection
- .geolocation
- .oscpu
- .platform
- .userAgent
- .getUserMedia()
- .mark()
- .measure()
- .now()
- .getEntries()
- .clearMarks()
- .clearMeasures()
- .width
- .height
- .left
- .top
- .availWidth
- .availHeight
- .availLeft
- .availTop
- .orientation
- .pixelDepth
- .addEventListener()
- .removeEventListener()
- .dispatchEvent()
- .nodeName
- .nodeType
- .nodeValue
- .childNodes
- .firstChild
- .lastChild
- .nextSibling
- .previousSibling
- .parentNode
- .appendChild()
- .cloneNode()
- .contains()
- .insertBefore()
- .removeChild()
- .replaceChild()
- .tagName
- .attributes
- .classList
- .className
- .clientWidth
- .clientHeight
- .clientLeft
- .clientTop
- .id
- .innerHTML
- .outerHTML
- .scrollWidth
- .scrollHeight
- .scrollLeft
- .scrollTop
- .getAttribute()
- .setAttribute()
- .hasAttribute()
- .closest()
- .getBoundingClientRect()
- .getClientRects()
- .getElementsByClassName()
- .getElementsByTagName()
- .querySelector()
- .querySelectorAll()
https://reactjs.org/docs/getting-started.html
- What is React and ReactDOM?
- What is JSX?
- What is a component?
- Simples react example
- React philosophy
- Why using JSX?
- Adding expressions in JSX
- Specifying attirbutes and childrens in JSX
- JSX translation to plain JS
- setState()
- forceUpdate()
- Mounting
- constructor()
- static getDerivedStateFromProps()
- render()
- componentDidMount()
- Updating
- static getDerivedStateFromProps()
- shouldComponentUpdate()
- render()
- getSnapshotBeforeUpdate()
- componentDidUpdate()
- Unmounting
- componentWillUnmount()
- Error Handling
- componentDidCatch()
- Synthetic events
- Controlled components
- React.createRef()
- React.forwardRef()
- Provider
- Consumer