Angular Universal: Michael Haberman Independent Consultant
Angular Universal: Michael Haberman Independent Consultant
MICHAEL HABERMAN
INDEPENDENT CONSULTANT
ABOUT ME
• Directory browsing
Request page
Browser Backend
Static page
WEB HISTORY
• Dynamic pages
Query DB &
Request page Generate HTML
Browser Backend
Static page
WEB HISTORY
Query DB &
Request page Generate HTML
Browser Backend
Static page + javascript
Form validation
Animation
WEB HISTORY
Request page
Browser Backend
Bundled app
Rendering &
App state
PROBLEM WITH CLIENT SIDE RENDERING
Request page
Browser Backend
Static page + Bundled app
• Pre-render:
• While building render HTML
• Fast (just serve, store in CDN)
• Static
• Re-render
• Render in runtime
• More flexible
• Lest performance
COMBINE SERVER AND CLIENT RENDERING
WHERE AM I ?!
• Detect platform:
• Show different UI
• Log different data
• Access different resource ( DB vs API )
CHECK PLATFORM
ROUTING
• Domain.com/about
• Need to render index.html + component
• Declare in angular
• Declare in express
ROUTING
CLIENT-SERVER SYNC
• https://universal.angular.io/api/preboot/index.html
TRANSFER FROM SERVER TO CLIENT
• No out-of-the-box solution
• Node.js headless Chrome
SEED PROJECT
• https://github.com/AngularClass/angular-starter
QUESTIONS
• Thank you!
• [email protected]
• @hab_mic