Dynamic from Static
with Smart Deployment
_me
https://res.cloudinary.com/mayashavin/image/upload/v1576150904/senior_FED.jpg
extra_: {
core_team_StorefrontUI_,
organizer_VueJSIsrael_,
blogger_,
bookworm_📖🐛_
}
stack
=
Static sites with dynamic functionalities
stack_
JavaScript
API
Markup
web servers
backend
databases
run-time
frontend
reusable APIs
serverless functions
build-time
page generating
backend
web servers
databases
run-time
template generating
file-driven
data-driven
Static site generator (SSG)
template
content
SSG
HTMLs
served as CDN
Static site generator (SSG)
The performance of static
>perf.measure()
⏩ FAST First Paint, First Contentful Paint & Time to Interactive
🔐 HIGHER Security
🚀 CHEAPER, EASIER Scaling
⏩ FAST Time to First Byte
deployed = true
cloudybadge$
register
customize badge
vote
cloudybadge$ ls tools
✅ SSG
✅ External APIs
✅ Static hosting
✅ Headless CMS
>console.log(Static === Dynamic)
CloudyBadge
Pre-render pages
Deploy Hooks
(HTTP POST request)
Build trigger
Deploy
_$hooks
New attendee
Hook trigger by HTTP request
New build
Delay
Deployment
_$build
fastest static site generator for Vue.js
@tommyvedvik
_$build
👉 Render HTMLs
👉 Create pages & templates
👉 Create GraphQL Schema
👉 Execute GraphQL & write page data
👉 Processing files
👉 Processing images
Source data during build
Rebuild EVERY file
Process BIG images in build
Can build ONLY new file(s)
Can cache unchanged files
Real time
Real data (being built)
_UX implication
VS
>build.improve()
FASTER machines
FASTER JavaScript
FASTER bundle tool (Webpack)
🤷♀️
FASTER
SMARTER
>build.improve()
LESS data source loading time
Only fetch NEW data entry
Incremental Builds
Provide new data entry info on build trigger
>build.improve()
LESS build time
Only re-generate static HTMLs for data
Incremental Builds
NO code change
>build.improve()
Pre-build static pages
Hybrid approach ( SSR + SSG)
Load-in-demand dynamic pages
Display SSR version of page (ghost)while waiting for rebuilding
>build.improve()
No process time for images/video
Outsourcing images & videos
Optimize image delivery
Save hosting storage
>build.improve()
Remove legacy code
Help bundling faster
>build.improve()
Progressive deployment
Deploy & update new content instantly and silently on client's side
>build.improve()
Schedule deployment
Build job with interval (low peak time)
cloudybadge$ tools.improve()
✅ SSG
✅ External APIs
✅ Static hosting
✅ Headless CMS
✅ Hybrid
> console.log(summary)
💥 Static site is new dynamic with proper architecture
💥 Build SMARTER means FASTER
💥 Select the right SSG solution (Hybrid or Static)
💥 Use proper CMS to allow incremental builds enabled
💥 Choose the right static site hosting platform
💥 Use Cloudinary!
_THANK YOU_
@mayashavin
mayashavin.com
Dynamic from Static with Smart Deployment - Updated
By Maya Shavin
Dynamic from Static with Smart Deployment - Updated
Static site generators (SSG) become more powerful and efficient in building and serving performant sites to end users. But when it comes to dynamic content, the latency in static site deployment brings up the new dimension of UX implication, the freshness gap of served content between builds. Performance is not only about what we deploy to end users, but also about how we build and deploy. How do current modern SSDPs leverage this problem? What are the options and approaches do we have to help SSDP being "smart"? That's what my session is about.
- 1,115