Tuesday2
Today: Typescripts
- Karma tests
-Functions
-Types and interfaces
-integration tests
- Cypress
Angular Archetecture
- Moduels Features, Lazy Loading, ect
- Component Communiciation
- Services
- Subject Observables For acyn operation
- Reactive Extensions for Javascript (RXJS) (what jeff says angular has up on react)
Redux State Management
- Univeral Service
- State reducers actions
- effects
Use X because Y sucks Prefer X over Y
"Prefer composition over inheritance"
- bank account has a relationship with something that can do bonus calculation
- "So you are a programmer. What is 0.1 + 0.2?"
- it depends --- meaning there are multiple ways to do something. that's why we say we prefer X over Y instead of one of them is wrong.
- prog enterprise archetecture: don't rule out any methods. Building a web based app in browser? Prefer angular over ____. We have teams changing continually. the more our programming tools are standardized, the more our workforce is maluable.
- Angular have a very prescribed way of doing almost everything. setting up routing, file structure, naming...
- moving from one project to another in angular is easy because of the prescribed nature. React in comparison is more difficult to bounce between projects
Book to read: Secrets of the javascript ninja
For a long time Microsoft was the only option for an operating system. browser used to read html to paint the screen and it was completely static. Now the browser reads html to create a bunch of objects in memory and repaints the screen my looking at the object model.
google creates google chrome with new javascript engine that is super fast and handles memory correctly with their infinite money pretty much everyone uses google chrome now and versions don't matter as much as they did before. New versions of web browsers used to make the nightly news. IE4 was a big deal and took all night to download. Big companies might stay on old versions of things because they would need to rewrite stuff or people wouldn't have access to it. Misco hervy created angular js to provide a consistent programming model to keep your javascript memory consistent with what is in the DOM. Created pattern called promises to so asyn and await type things. Progressive moves from Flash to angular js. angular js had a lot of abstractions so there were better ways to write things. thread of execution that runs display is the same as the thread that undates the display. angular js is doing so much magic behind the scene with abstraction that real apps were kinda janky progressive angular team decides to rewrite the application with new
Facebook creates and opensource lib called React. React - very focused (non opinionated) "we are just trying to me the V in MVC" More choices in how to do things. less structured way of doing things well liked but angular makes more sense for progressive
If you want to use something other than angular, you have to answer "why would we use X over angular?"
bad archetectural decision: treat every rate rivision the same. we need to get clearance for some rate revision. Some revisions we don't need to go through regulation. People that went through his class used docker to separate the logic.