SlideShare a Scribd company logo
The future is mostly static
Or how we are reinventing the web again
Juho Vepsäläinen
What to expect
1. Introduction
2. Content Management Systems (CMSs)
3. Static Site Generation (SSG)
4. Related work
5. Research
1
Introduction
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
• 1995 - JavaScript is developed by Brendan Eich
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
• 1995 - JavaScript is developed by Brendan Eich
• 2002 - The first Single Page Applications (SPAs) emerge
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
• 1995 - JavaScript is developed by Brendan Eich
• 2002 - The first Single Page Applications (SPAs) emerge
• 2015 - Jamstack is specified by Matt Biilmann [8]
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
• 1995 - JavaScript is developed by Brendan Eich
• 2002 - The first Single Page Applications (SPAs) emerge
• 2015 - Jamstack is specified by Matt Biilmann [8]
• 2019 - Islands architecture is formalized [16]
2
Key points from the history of the web
• 1985 - First Content Management System (CMS) called FileNet is
invented
• 1989 - First HTML browser comes available
• 1992 - Tim Berners-Lee invents the World Wide Web (www) [3]
• ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for
creation of websites
• 1995 - JavaScript is developed by Brendan Eich
• 2002 - The first Single Page Applications (SPAs) emerge
• 2015 - Jamstack is specified by Matt Biilmann [8]
• 2019 - Islands architecture is formalized [16]
• 2021 - The idea of Transitional Web Applications (TWAs) is
proposed [7]
2
Clients and a server [8]
3
Content Management Systems
(CMSs)
Roles in CMSs [18]
4
What is a CMS? [2]
5
Pros and cons
Pros
• Enables collaboration across
disciplines
Cons
6
Pros and cons
Pros
• Enables collaboration across
disciplines
• Allows developers to save
time by using extensions
Cons
6
Pros and cons
Pros
• Enables collaboration across
disciplines
• Allows developers to save
time by using extensions
• Many major players exist in
the ecosystem
Cons
6
Pros and cons
Pros
• Enables collaboration across
disciplines
• Allows developers to save
time by using extensions
• Many major players exist in
the ecosystem
Cons
• Often requires a server
(something to maintain)
6
Pros and cons
Pros
• Enables collaboration across
disciplines
• Allows developers to save
time by using extensions
• Many major players exist in
the ecosystem
Cons
• Often requires a server
(something to maintain)
• Not trivial to understand
6
Pros and cons
Pros
• Enables collaboration across
disciplines
• Allows developers to save
time by using extensions
• Many major players exist in
the ecosystem
Cons
• Often requires a server
(something to maintain)
• Not trivial to understand
• Comes sometimes with
unnecessary complexity
6
Architecture of a headless CMS [1, 11]
7
Static Site Generation (SSG)
What is SSG? [10]
SSG is a system consisting of the following:
1. A templating language for website layout and theming.
8
What is SSG? [10]
SSG is a system consisting of the following:
1. A templating language for website layout and theming.
2. A markup language for content creation (e.g., Markdown).
8
What is SSG? [10]
SSG is a system consisting of the following:
1. A templating language for website layout and theming.
2. A markup language for content creation (e.g., Markdown).
3. A local development server to preview and test the site before
building.
8
What is SSG? [10]
SSG is a system consisting of the following:
1. A templating language for website layout and theming.
2. A markup language for content creation (e.g., Markdown).
3. A local development server to preview and test the site before
building.
4. A compile process that builds the final site files into HTML, CSS,
and JavaScript [4]
8
Building blocks of a Jamstack website [17]
9
Traditional web compared to Jamstack [12]
10
Pros and cons
Pros
• Fast page load time [13, 4]
Cons
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
Cons
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
Cons
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
• Automatic versioning [4]
Cons
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
• Automatic versioning [4]
• Ease of hosting [10]
Cons
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
• Automatic versioning [4]
• Ease of hosting [10]
Cons
• Tooling is highly developer
oriented
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
• Automatic versioning [4]
• Ease of hosting [10]
Cons
• Tooling is highly developer
oriented
• Potentially high
recompilation cost
11
Pros and cons
Pros
• Fast page load time [13, 4]
• Efficient scalability (through
CDNs for example) and
resiliency [13]
• Availability and security [13, 4]
• Automatic versioning [4]
• Ease of hosting [10]
Cons
• Tooling is highly developer
oriented
• Potentially high
recompilation cost
• Static by definition
(difficulties in dynamic use
cases)
11
Related work
Edge computing [15]
12
Server-side rendering (SSR) vs. Single Page apps (SPA) vs. SSG
[14]
Feature SSR SPA SSG
Pre-rendered HTML Yes No Yes
Updates without refresh No Yes Possible
Supports forms Yes Yes Ext. service
Offline support in modern
browsers
No Yes Possible
13
Transitional web applications (TWAs) [7]
• In October 2021, Rich Harris proposed the idea of TWAs [7]
14
Transitional web applications (TWAs) [7]
• In October 2021, Rich Harris proposed the idea of TWAs [7]
• By his definition, TWAs mix ideas from SPAs and the traditional
web
14
Transitional web applications (TWAs) [7]
• In October 2021, Rich Harris proposed the idea of TWAs [7]
• By his definition, TWAs mix ideas from SPAs and the traditional
web
• TWAs utilize SSR for fast initial loading times
14
Transitional web applications (TWAs) [7]
• In October 2021, Rich Harris proposed the idea of TWAs [7]
• By his definition, TWAs mix ideas from SPAs and the traditional
web
• TWAs utilize SSR for fast initial loading times
• TWAs are resilient as they work without JavaScript by default
14
Transitional web applications (TWAs) [7]
• In October 2021, Rich Harris proposed the idea of TWAs [7]
• By his definition, TWAs mix ideas from SPAs and the traditional
web
• TWAs utilize SSR for fast initial loading times
• TWAs are resilient as they work without JavaScript by default
• TWAs provide consistent experience and accessibility as a
built-in feature
14
Progressive enhancement in a nutshell (2008) [6]
15
Disappearing frameworks [5]
• According to Ryan Carniato [5], disappearing frameworks come
with almost a zero cost and disappear from an application
16
Disappearing frameworks [5]
• According to Ryan Carniato [5], disappearing frameworks come
with almost a zero cost and disappear from an application
• The starting point forms a contrast to the current breed of
frameworks that load upfront and rely on expensive hydration
for SSR
16
Disappearing frameworks [5]
• According to Ryan Carniato [5], disappearing frameworks come
with almost a zero cost and disappear from an application
• The starting point forms a contrast to the current breed of
frameworks that load upfront and rely on expensive hydration
for SSR
• Changing the fundamental viewpoint allows for new
architectures to emerge and it’s consistent with the idea of TWAs
16
Disappearing frameworks [5]
• According to Ryan Carniato [5], disappearing frameworks come
with almost a zero cost and disappear from an application
• The starting point forms a contrast to the current breed of
frameworks that load upfront and rely on expensive hydration
for SSR
• Changing the fundamental viewpoint allows for new
architectures to emerge and it’s consistent with the idea of TWAs
• On a related note, my own solution called Sidewind implements
the idea and comes with a novel pattern for hydration
16
Islands architecture [9]
17
Research
Research questions
1. What are the main benefits and limitations of CMSs and SSGs?
18
Research questions
1. What are the main benefits and limitations of CMSs and SSGs?
2. Is it possible to address the limitations of SSGs while keeping
the benefits?
18
Research questions
1. What are the main benefits and limitations of CMSs and SSGs?
2. Is it possible to address the limitations of SSGs while keeping
the benefits?
3. What are the means in which SSGs could address their
limitations compared to CMSs?
18
Research plan
• By nature, a constructive approach (design science) fits the
problem well
19
Research plan
• By nature, a constructive approach (design science) fits the
problem well
• Besides literature review, the idea is to:
19
Research plan
• By nature, a constructive approach (design science) fits the
problem well
• Besides literature review, the idea is to:
1. Interview practitioners and tool authors to understand how they
view the field
19
Research plan
• By nature, a constructive approach (design science) fits the
problem well
• Besides literature review, the idea is to:
1. Interview practitioners and tool authors to understand how they
view the field
2. Construct a model of what SSGs with a high amount of dynamism
could look like
19
Research plan
• By nature, a constructive approach (design science) fits the
problem well
• Besides literature review, the idea is to:
1. Interview practitioners and tool authors to understand how they
view the field
2. Construct a model of what SSGs with a high amount of dynamism
could look like
3. Implement a tool to try out the ideas in practice (Gustwind, in
progress)
19
Contribution to web engineering
1. Increased understanding of the current state of the art
20
Contribution to web engineering
1. Increased understanding of the current state of the art
2. Understanding of what SSG could look like when combined with
ideas and constraints from the CMS world
20
Contribution to web engineering
1. Increased understanding of the current state of the art
2. Understanding of what SSG could look like when combined with
ideas and constraints from the CMS world
3. Creation of tooling for the next generation of web developers to
bridge the gap between SSGs and CMSs
20
Time for your questions
20
References i
J. Attardi.
Introduction to netlify cms.
In Using Gatsby and Netlify CMS, pages 1–12. Springer, 2020.
C. Benevolo and S. Negri.
Evaluation of content management systems (cms): a supply
analysis.
Electronic Journal of Information Systems Evaluation,
10(1):pp9–22, 2007.
T. Berners-Lee, R. Cailliau, J.-F. Groff, and B. Pollermann.
World-wide web: the information universe.
Internet Research, 1992.
References ii
R. Camden and B. Rinaldi.
Working with Static Sites: Bringing the Power of Simplicity to
Modern Sites.
” O’Reilly Media, Inc.”, 2017.
R. Carniato.
Understanding transitional javascript apps, Nov 2021.
A. Gustafson, L. Overkamp, P. Brosset, S. V. Prater, M. Wills, and
E. PenzeyMoog.
Understanding progressive enhancement, Oct 2008.
R. Harris.
Have single-page apps ruined the web? | transitional apps with
rich harris, nytimes, Oct 2021.
References iii
S. Kumar.
A review on client-server based applications and research
opportunity.
International Journal of Recent Scientific Research,
10(7):33857–3386, 2019.
J. Miller.
Islands architecture, 2020.
K. Newson.
Tools and workflows for collaborating on static website
projects.
Code4Lib Journal, (38), 2017.
E. O. Obaseki et al.
Micro-frontends for Web Content Management Systems.
PhD thesis, Covenant University, 2021.
References iv
S. Peltonen, L. Mezzalira, and D. Taibi.
Motivations, benefits, and issues for adopting micro-frontends:
a multivocal literature review.
Information and Software Technology, 136:106571, 2021.
H. Petersen.
From static and dynamic websites to static site generators.
university of TARTU, Institute of Computer Science, 2016.
T. Pöyry.
Next.js ja muut isomorfiset sovelluskehykset.
2021.
W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu.
Edge computing: Vision and challenges.
IEEE internet of things journal, 3(5):637–646, 2016.
References v
T. P. team.
Islands architecture, Oct 2021.
J. Väänänen.
Jamstack–dynaamisesti toimiva staattinen verkkosivusto.
2019.
A. Yermolenko and Y. Golchevskiy.
Developing web content management systems–from the past to
the future.
In SHS Web of Conferences, volume 110. EDP Sciences, 2021.

More Related Content

What's hot

엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
흥래 김
 
Google Cloud Composer
Google Cloud ComposerGoogle Cloud Composer
Google Cloud Composer
Pierre Coste
 
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
Taste
 
MariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdfMariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdf
ssusercbaa33
 
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX, Inc.
 
Web application development - The past, the present, the future
Web application development - The past, the present, the futureWeb application development - The past, the present, the future
Web application development - The past, the present, the future
Juho Vepsäläinen
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
ScyllaDB
 
Performance Engineering Masterclass: Efficient Automation with the Help of SR...
Performance Engineering Masterclass: Efficient Automation with the Help of SR...Performance Engineering Masterclass: Efficient Automation with the Help of SR...
Performance Engineering Masterclass: Efficient Automation with the Help of SR...
ScyllaDB
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
TO THE NEW | Technology
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS
Akihiro Suda
 
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL-Consulting
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
InfluxData
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
if kakao
 
Cross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis EnterpriseCross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis Enterprise
Cihan Biyikoglu
 
Monitoring MySQL Replication lag with Prometheus & pt-heartbeat
Monitoring MySQL Replication lag with Prometheus & pt-heartbeatMonitoring MySQL Replication lag with Prometheus & pt-heartbeat
Monitoring MySQL Replication lag with Prometheus & pt-heartbeat
Julien Pivotto
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introduction
chrislusf
 
Apache Hadoop on Virtual Machines
Apache Hadoop on Virtual MachinesApache Hadoop on Virtual Machines
Apache Hadoop on Virtual Machines
DataWorks Summit
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
Chartbeat
 

What's hot (20)

엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
엘라스틱서치 클러스터로 수십억 건의 데이터 운영하기
 
Google Cloud Composer
Google Cloud ComposerGoogle Cloud Composer
Google Cloud Composer
 
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
Data Restart 2021: Roman Appeltauer - Server-side GTM je skutečně víc než jen...
 
MariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdfMariaDB Xpand 고객사례 안내.pdf
MariaDB Xpand 고객사례 안내.pdf
 
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
 
Web application development - The past, the present, the future
Web application development - The past, the present, the futureWeb application development - The past, the present, the future
Web application development - The past, the present, the future
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
 
Performance Engineering Masterclass: Efficient Automation with the Help of SR...
Performance Engineering Masterclass: Efficient Automation with the Help of SR...Performance Engineering Masterclass: Efficient Automation with the Help of SR...
Performance Engineering Masterclass: Efficient Automation with the Help of SR...
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS
 
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
Cross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis EnterpriseCross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis Enterprise
 
Monitoring MySQL Replication lag with Prometheus & pt-heartbeat
Monitoring MySQL Replication lag with Prometheus & pt-heartbeatMonitoring MySQL Replication lag with Prometheus & pt-heartbeat
Monitoring MySQL Replication lag with Prometheus & pt-heartbeat
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introduction
 
Apache Hadoop on Virtual Machines
Apache Hadoop on Virtual MachinesApache Hadoop on Virtual Machines
Apache Hadoop on Virtual Machines
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
 

Similar to The future is mostly static

The future is mostly static
The future is mostly staticThe future is mostly static
The future is mostly static
Juho Vepsäläinen
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
IWMW
 
fooConf - JavaScript frameworks of tomorrow
fooConf - JavaScript frameworks of tomorrowfooConf - JavaScript frameworks of tomorrow
fooConf - JavaScript frameworks of tomorrow
Juho Vepsäläinen
 
JavaScript frameworks of tomorrow
JavaScript frameworks of tomorrowJavaScript frameworks of tomorrow
JavaScript frameworks of tomorrow
Juho Vepsäläinen
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
ESUG
 
Quick introduction to Qwik
Quick introduction to QwikQuick introduction to Qwik
Quick introduction to Qwik
Juho Vepsäläinen
 
9 10 july2020
9 10 july20209 10 july2020
9 10 july2020
PreetiSaini55
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
Dave Wallace
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
Fundamentals of Web
Fundamentals of WebFundamentals of Web
Fundamentals of Web
Sabir Haque
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
NishchaiyaBayla1
 
Web Development
Web DevelopmentWeb Development
Web Development
Nusrat Khanom
 
Web Standards
Web StandardsWeb Standards
Web Standards
ChrisF1502010
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1
asim78
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
Michael Stephenson
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
IWMW 1999: Browser management
IWMW 1999: Browser managementIWMW 1999: Browser management
IWMW 1999: Browser management
IWMW
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Web-Development-ppt (1).pptx
Web-Development-ppt (1).pptxWeb-Development-ppt (1).pptx
Web-Development-ppt (1).pptx
RaihanUddin57
 

Similar to The future is mostly static (20)

The future is mostly static
The future is mostly staticThe future is mostly static
The future is mostly static
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource Condition
 
fooConf - JavaScript frameworks of tomorrow
fooConf - JavaScript frameworks of tomorrowfooConf - JavaScript frameworks of tomorrow
fooConf - JavaScript frameworks of tomorrow
 
JavaScript frameworks of tomorrow
JavaScript frameworks of tomorrowJavaScript frameworks of tomorrow
JavaScript frameworks of tomorrow
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
Quick introduction to Qwik
Quick introduction to QwikQuick introduction to Qwik
Quick introduction to Qwik
 
9 10 july2020
9 10 july20209 10 july2020
9 10 july2020
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 
Fundamentals of Web
Fundamentals of WebFundamentals of Web
Fundamentals of Web
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1Asp.Net 3 5 Part 1
Asp.Net 3 5 Part 1
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
IWMW 1999: Browser management
IWMW 1999: Browser managementIWMW 1999: Browser management
IWMW 1999: Browser management
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Web-Development-ppt (1).pptx
Web-Development-ppt (1).pptxWeb-Development-ppt (1).pptx
Web-Development-ppt (1).pptx
 

More from Juho Vepsäläinen

ECMAScript - From an idea to a major standard
ECMAScript - From an idea to a major standardECMAScript - From an idea to a major standard
ECMAScript - From an idea to a major standard
Juho Vepsäläinen
 
Web application development - The past, the present, the future
Web application development - The past, the present, the futureWeb application development - The past, the present, the future
Web application development - The past, the present, the future
Juho Vepsäläinen
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
Juho Vepsäläinen
 
Speccer
SpeccerSpeccer
bongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Djangobongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Django
Juho Vepsäläinen
 
Bootstrap vs. Skeleton
Bootstrap vs. SkeletonBootstrap vs. Skeleton
Bootstrap vs. Skeleton
Juho Vepsäläinen
 
Static Websites - The Final Frontier
Static Websites - The Final FrontierStatic Websites - The Final Frontier
Static Websites - The Final Frontier
Juho Vepsäläinen
 
Intro to HTML5 Canvas
Intro to HTML5 CanvasIntro to HTML5 Canvas
Intro to HTML5 Canvas
Juho Vepsäläinen
 

More from Juho Vepsäläinen (8)

ECMAScript - From an idea to a major standard
ECMAScript - From an idea to a major standardECMAScript - From an idea to a major standard
ECMAScript - From an idea to a major standard
 
Web application development - The past, the present, the future
Web application development - The past, the present, the futureWeb application development - The past, the present, the future
Web application development - The past, the present, the future
 
Survive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and TricksSurvive JavaScript - Strategies and Tricks
Survive JavaScript - Strategies and Tricks
 
Speccer
SpeccerSpeccer
Speccer
 
bongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Djangobongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Django
 
Bootstrap vs. Skeleton
Bootstrap vs. SkeletonBootstrap vs. Skeleton
Bootstrap vs. Skeleton
 
Static Websites - The Final Frontier
Static Websites - The Final FrontierStatic Websites - The Final Frontier
Static Websites - The Final Frontier
 
Intro to HTML5 Canvas
Intro to HTML5 CanvasIntro to HTML5 Canvas
Intro to HTML5 Canvas
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 

The future is mostly static

  • 1. The future is mostly static Or how we are reinventing the web again Juho Vepsäläinen
  • 2. What to expect 1. Introduction 2. Content Management Systems (CMSs) 3. Static Site Generation (SSG) 4. Related work 5. Research 1
  • 4. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented 2
  • 5. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available 2
  • 6. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] 2
  • 7. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites 2
  • 8. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites • 1995 - JavaScript is developed by Brendan Eich 2
  • 9. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites • 1995 - JavaScript is developed by Brendan Eich • 2002 - The first Single Page Applications (SPAs) emerge 2
  • 10. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites • 1995 - JavaScript is developed by Brendan Eich • 2002 - The first Single Page Applications (SPAs) emerge • 2015 - Jamstack is specified by Matt Biilmann [8] 2
  • 11. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites • 1995 - JavaScript is developed by Brendan Eich • 2002 - The first Single Page Applications (SPAs) emerge • 2015 - Jamstack is specified by Matt Biilmann [8] • 2019 - Islands architecture is formalized [16] 2
  • 12. Key points from the history of the web • 1985 - First Content Management System (CMS) called FileNet is invented • 1989 - First HTML browser comes available • 1992 - Tim Berners-Lee invents the World Wide Web (www) [3] • ca. 1995 - First graphical editors (MS Frontpage etc.) emerge for creation of websites • 1995 - JavaScript is developed by Brendan Eich • 2002 - The first Single Page Applications (SPAs) emerge • 2015 - Jamstack is specified by Matt Biilmann [8] • 2019 - Islands architecture is formalized [16] • 2021 - The idea of Transitional Web Applications (TWAs) is proposed [7] 2
  • 13. Clients and a server [8] 3
  • 15. Roles in CMSs [18] 4
  • 16. What is a CMS? [2] 5
  • 17. Pros and cons Pros • Enables collaboration across disciplines Cons 6
  • 18. Pros and cons Pros • Enables collaboration across disciplines • Allows developers to save time by using extensions Cons 6
  • 19. Pros and cons Pros • Enables collaboration across disciplines • Allows developers to save time by using extensions • Many major players exist in the ecosystem Cons 6
  • 20. Pros and cons Pros • Enables collaboration across disciplines • Allows developers to save time by using extensions • Many major players exist in the ecosystem Cons • Often requires a server (something to maintain) 6
  • 21. Pros and cons Pros • Enables collaboration across disciplines • Allows developers to save time by using extensions • Many major players exist in the ecosystem Cons • Often requires a server (something to maintain) • Not trivial to understand 6
  • 22. Pros and cons Pros • Enables collaboration across disciplines • Allows developers to save time by using extensions • Many major players exist in the ecosystem Cons • Often requires a server (something to maintain) • Not trivial to understand • Comes sometimes with unnecessary complexity 6
  • 23. Architecture of a headless CMS [1, 11] 7
  • 25. What is SSG? [10] SSG is a system consisting of the following: 1. A templating language for website layout and theming. 8
  • 26. What is SSG? [10] SSG is a system consisting of the following: 1. A templating language for website layout and theming. 2. A markup language for content creation (e.g., Markdown). 8
  • 27. What is SSG? [10] SSG is a system consisting of the following: 1. A templating language for website layout and theming. 2. A markup language for content creation (e.g., Markdown). 3. A local development server to preview and test the site before building. 8
  • 28. What is SSG? [10] SSG is a system consisting of the following: 1. A templating language for website layout and theming. 2. A markup language for content creation (e.g., Markdown). 3. A local development server to preview and test the site before building. 4. A compile process that builds the final site files into HTML, CSS, and JavaScript [4] 8
  • 29. Building blocks of a Jamstack website [17] 9
  • 30. Traditional web compared to Jamstack [12] 10
  • 31. Pros and cons Pros • Fast page load time [13, 4] Cons 11
  • 32. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] Cons 11
  • 33. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] Cons 11
  • 34. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] • Automatic versioning [4] Cons 11
  • 35. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] • Automatic versioning [4] • Ease of hosting [10] Cons 11
  • 36. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] • Automatic versioning [4] • Ease of hosting [10] Cons • Tooling is highly developer oriented 11
  • 37. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] • Automatic versioning [4] • Ease of hosting [10] Cons • Tooling is highly developer oriented • Potentially high recompilation cost 11
  • 38. Pros and cons Pros • Fast page load time [13, 4] • Efficient scalability (through CDNs for example) and resiliency [13] • Availability and security [13, 4] • Automatic versioning [4] • Ease of hosting [10] Cons • Tooling is highly developer oriented • Potentially high recompilation cost • Static by definition (difficulties in dynamic use cases) 11
  • 41. Server-side rendering (SSR) vs. Single Page apps (SPA) vs. SSG [14] Feature SSR SPA SSG Pre-rendered HTML Yes No Yes Updates without refresh No Yes Possible Supports forms Yes Yes Ext. service Offline support in modern browsers No Yes Possible 13
  • 42. Transitional web applications (TWAs) [7] • In October 2021, Rich Harris proposed the idea of TWAs [7] 14
  • 43. Transitional web applications (TWAs) [7] • In October 2021, Rich Harris proposed the idea of TWAs [7] • By his definition, TWAs mix ideas from SPAs and the traditional web 14
  • 44. Transitional web applications (TWAs) [7] • In October 2021, Rich Harris proposed the idea of TWAs [7] • By his definition, TWAs mix ideas from SPAs and the traditional web • TWAs utilize SSR for fast initial loading times 14
  • 45. Transitional web applications (TWAs) [7] • In October 2021, Rich Harris proposed the idea of TWAs [7] • By his definition, TWAs mix ideas from SPAs and the traditional web • TWAs utilize SSR for fast initial loading times • TWAs are resilient as they work without JavaScript by default 14
  • 46. Transitional web applications (TWAs) [7] • In October 2021, Rich Harris proposed the idea of TWAs [7] • By his definition, TWAs mix ideas from SPAs and the traditional web • TWAs utilize SSR for fast initial loading times • TWAs are resilient as they work without JavaScript by default • TWAs provide consistent experience and accessibility as a built-in feature 14
  • 47. Progressive enhancement in a nutshell (2008) [6] 15
  • 48. Disappearing frameworks [5] • According to Ryan Carniato [5], disappearing frameworks come with almost a zero cost and disappear from an application 16
  • 49. Disappearing frameworks [5] • According to Ryan Carniato [5], disappearing frameworks come with almost a zero cost and disappear from an application • The starting point forms a contrast to the current breed of frameworks that load upfront and rely on expensive hydration for SSR 16
  • 50. Disappearing frameworks [5] • According to Ryan Carniato [5], disappearing frameworks come with almost a zero cost and disappear from an application • The starting point forms a contrast to the current breed of frameworks that load upfront and rely on expensive hydration for SSR • Changing the fundamental viewpoint allows for new architectures to emerge and it’s consistent with the idea of TWAs 16
  • 51. Disappearing frameworks [5] • According to Ryan Carniato [5], disappearing frameworks come with almost a zero cost and disappear from an application • The starting point forms a contrast to the current breed of frameworks that load upfront and rely on expensive hydration for SSR • Changing the fundamental viewpoint allows for new architectures to emerge and it’s consistent with the idea of TWAs • On a related note, my own solution called Sidewind implements the idea and comes with a novel pattern for hydration 16
  • 54. Research questions 1. What are the main benefits and limitations of CMSs and SSGs? 18
  • 55. Research questions 1. What are the main benefits and limitations of CMSs and SSGs? 2. Is it possible to address the limitations of SSGs while keeping the benefits? 18
  • 56. Research questions 1. What are the main benefits and limitations of CMSs and SSGs? 2. Is it possible to address the limitations of SSGs while keeping the benefits? 3. What are the means in which SSGs could address their limitations compared to CMSs? 18
  • 57. Research plan • By nature, a constructive approach (design science) fits the problem well 19
  • 58. Research plan • By nature, a constructive approach (design science) fits the problem well • Besides literature review, the idea is to: 19
  • 59. Research plan • By nature, a constructive approach (design science) fits the problem well • Besides literature review, the idea is to: 1. Interview practitioners and tool authors to understand how they view the field 19
  • 60. Research plan • By nature, a constructive approach (design science) fits the problem well • Besides literature review, the idea is to: 1. Interview practitioners and tool authors to understand how they view the field 2. Construct a model of what SSGs with a high amount of dynamism could look like 19
  • 61. Research plan • By nature, a constructive approach (design science) fits the problem well • Besides literature review, the idea is to: 1. Interview practitioners and tool authors to understand how they view the field 2. Construct a model of what SSGs with a high amount of dynamism could look like 3. Implement a tool to try out the ideas in practice (Gustwind, in progress) 19
  • 62. Contribution to web engineering 1. Increased understanding of the current state of the art 20
  • 63. Contribution to web engineering 1. Increased understanding of the current state of the art 2. Understanding of what SSG could look like when combined with ideas and constraints from the CMS world 20
  • 64. Contribution to web engineering 1. Increased understanding of the current state of the art 2. Understanding of what SSG could look like when combined with ideas and constraints from the CMS world 3. Creation of tooling for the next generation of web developers to bridge the gap between SSGs and CMSs 20
  • 65. Time for your questions 20
  • 66. References i J. Attardi. Introduction to netlify cms. In Using Gatsby and Netlify CMS, pages 1–12. Springer, 2020. C. Benevolo and S. Negri. Evaluation of content management systems (cms): a supply analysis. Electronic Journal of Information Systems Evaluation, 10(1):pp9–22, 2007. T. Berners-Lee, R. Cailliau, J.-F. Groff, and B. Pollermann. World-wide web: the information universe. Internet Research, 1992.
  • 67. References ii R. Camden and B. Rinaldi. Working with Static Sites: Bringing the Power of Simplicity to Modern Sites. ” O’Reilly Media, Inc.”, 2017. R. Carniato. Understanding transitional javascript apps, Nov 2021. A. Gustafson, L. Overkamp, P. Brosset, S. V. Prater, M. Wills, and E. PenzeyMoog. Understanding progressive enhancement, Oct 2008. R. Harris. Have single-page apps ruined the web? | transitional apps with rich harris, nytimes, Oct 2021.
  • 68. References iii S. Kumar. A review on client-server based applications and research opportunity. International Journal of Recent Scientific Research, 10(7):33857–3386, 2019. J. Miller. Islands architecture, 2020. K. Newson. Tools and workflows for collaborating on static website projects. Code4Lib Journal, (38), 2017. E. O. Obaseki et al. Micro-frontends for Web Content Management Systems. PhD thesis, Covenant University, 2021.
  • 69. References iv S. Peltonen, L. Mezzalira, and D. Taibi. Motivations, benefits, and issues for adopting micro-frontends: a multivocal literature review. Information and Software Technology, 136:106571, 2021. H. Petersen. From static and dynamic websites to static site generators. university of TARTU, Institute of Computer Science, 2016. T. Pöyry. Next.js ja muut isomorfiset sovelluskehykset. 2021. W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu. Edge computing: Vision and challenges. IEEE internet of things journal, 3(5):637–646, 2016.
  • 70. References v T. P. team. Islands architecture, Oct 2021. J. Väänänen. Jamstack–dynaamisesti toimiva staattinen verkkosivusto. 2019. A. Yermolenko and Y. Golchevskiy. Developing web content management systems–from the past to the future. In SHS Web of Conferences, volume 110. EDP Sciences, 2021.