generated from sfeir-open-source/sfeir-school-template
-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
123 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!-- .slide: class="transition bg-pink" --> | ||
# Web Architecture |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# Web architecture | ||
|
||
When creating app, depending of the type of app and the size, you will need to adapt the architecture | ||
|
||
It exist **4** main architecture:<br/><br/> | ||
|
||
- View architecture<br/><br/> | ||
- Atomic architecture<br/><br/> | ||
- Island architecture<br/><br/> | ||
- hexagonal architecture<br/><br/> | ||
|
||
##==## | ||
|
||
# View Architecture | ||
|
||
Architecture by default for React and Vue, based on the different page that the application contains <br/><br/> | ||
|
||
- **Pros**: | ||
- Easy to start | ||
- Easy to understand | ||
- Easy to test | ||
|
||
<br/><br/> | ||
|
||
- **Cons**: | ||
- Hard to scale | ||
- Hard to maintain | ||
|
||
|
||
##==## | ||
|
||
# Atomic Architecture | ||
|
||
Architecture by default for Angular, based on the different feature that the application contains <br/><br/> | ||
|
||
- **Pros**: | ||
- Easy to scale | ||
- Easy to maintain | ||
- Easy to test | ||
|
||
<br/><br/> | ||
|
||
- **Cons**: | ||
- medium to start | ||
- medium to understand | ||
|
||
##==## | ||
|
||
# Island Architecture | ||
|
||
Architecture for server side rendering, based on the island part of interactivity. <br/><br/> | ||
|
||
|
||
- **Pros**: | ||
- less javascript loaded initially | ||
- content prioritization | ||
- Core Web Vitals respected out of the box | ||
|
||
<br/><br/> | ||
|
||
- **Cons**: | ||
- not performant for application with a lot of interactivity | ||
- difficult to maintain | ||
- difficult to start | ||
- big learning curve | ||
|
||
##==## | ||
|
||
# Hexagonal Architecture | ||
|
||
Architecture used by netflix, that separate the business logic and the technical layer | ||
|
||
- **Pros**: | ||
- Easy to scale | ||
- Facilitates the introduction of changes | ||
- Each layer can be developed independently | ||
|
||
<br/><br/> | ||
|
||
- **Cons**: | ||
- difficult to start | ||
- difficult to maintain | ||
- big learning curve |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<!-- .slide: class="two-column"--> | ||
# A Tree Component | ||
|
||
<br/><br/> | ||
|
||
- A React application is a composition of components <br/><br/> | ||
- Children are displayed inside their parents if there are presents in the template of the parent<br/><br/> | ||
|
||
##--## | ||
|
||
<!-- .slide: class="with-code inconsolata"--> | ||
|
||
<br/><br/><br/> | ||
|
||
|
||
```tsx | ||
import Header from './Header'; | ||
|
||
function App() { | ||
return ( | ||
<main> | ||
<Header /> | ||
<div> | ||
<h1>Hello Students</h1> | ||
</div> | ||
</main> | ||
); | ||
} | ||
``` | ||
<!-- .element: class="big-code"--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters