Yes, SvelteKit for the frontend (win)! But what about a CMS dashboard for clients?
Tags: svelte, cms, sveltekit, webdev
Published: 2022-11-02 19:34:51

The more mature SvelteKit gets towards version 1.0, the more I personally like it. I wasn't a big fan of Server Side Rendering (SSR) first. But the more I learnt about it, the more I realize how it can empower frontend developers. 

Why? A flexible NodeJS framework like SvelteKit enables  developers to build web site experiences with much more freedom and autonomy than before. It gives frontend devs the ability to use all approaches of the web, not just the ability to write SPA (monsters) with weaker SEO on client side. Frontend devs can now decide freely:

{% twitter https://twitter.com/dummdidumm_/status/1586081543843418114 %} 

This flexibility is a power which frontend developers hadn't have since the early days of PHP.

I mean at least I feel sometimes like an intruder in the PHP CMS ecosystem as a frontend developer: 

_"Oh, you want vite now in typo3 or WordPress? Why? What is wrong with our nice PHP templates?! We can run scssphp as well, no need for your fancy NodeJS stuff!?"_. 

Or 

_"Svelte? Why? We can filter and paginate with PHP too and SEO is just fine?! Also... it's hard to integrate for us!"_ 

(Examples slighty dramatized ;-))

Approaches like SvelteKit could potentially shift the balance of power between backend devs and frontend devs. 

{% youtube https://www.youtube.com/watch?v=EQy-AYhZIlE %}

For me it feels like we are just starting with this. Maybe it is the "slope of enlightment" in the Gartner hype cycle right now. Headless (jamstack) hasn't fullfilled the big promises yet. Headless architecture is still challenging for small teams and most of the time even more complicated when it comes to dashboards for editors / clients. Live previews of content changes are one of the big challenges. Standard PHP CMSes have solved this in robust ways.

And I understand why PHP devs (and other devs) laugh about the fact that frontend devs reinvent PHP server side rendering currently. I feel like the short frontend hype cycles are crazy and way too fast as well. 
But I think that reinventing server side rendering with JavaScript / NodeJS  can also be seen as "emancipation of frontend development".

## The open CMS dashboard question

So one big question is still relevant: 

What is a good and sustainable fit as CMS dashboard for a frontend framework like SvelteKit?

{% twitter https://twitter.com/m_andrasch/status/1582962797939691520 %}

Thanks to all people who replied, here is a list of all the solutions mentioned (so far):

- [Statamic](https://statamic.com/)
- [Stackbit](https://www.stackbit.com/)
- [Forestry](https://forestry.io/)
- [tinacms](https://tina.io/)
- [NetlifyCMS](https://www.netlifycms.org/)
- [Storyblok](https://www.storyblok.com/)
- [Sanity](https://www.sanity.io/)
- [Directus](https://directus.io/)
- [DatoCMS](https://www.datocms.com/)
- [Contentful](https://www.contentful.com/)
- [Strapi](https://strapi.io/)
- [WordPress](https://wordpress.org/)
- [Hygraph](https://hygraph.com/)
- [Supabase ](https://supabase.com/)
- [Prismic](https://prismic.io/)
- [PayloadCMS](https://payloadcms.com/)
- [Drupal](https://www.drupal.org/)
- [Pocketbase](https://pocketbase.io/)
- [Primo](https://primo.so/)

Things I found additionally:
- [Cockpit](https://getcockpit.com/)
- [Kirby QL](https://getkirby.com/plugins/getkirby/kql)
- [Typo3 Headless / PWA initiative](https://typo3.org/community/teams/typo3-development/initiatives/pwa)
- [CraftCMS GraphQL](https://craftcms.com/docs/4.x/graphql.html)

Things that run locally:

- [Frontmatter](https://frontmatter.codes/)

Another interesting approach to tackle this challenge: 
{% twitter https://twitter.com/JohannesMutter/status/1583110716722413568 %}

Somehow I feel like this is not the end of the journey, not at all. It would be so awesome if SvelteKit could be installed and deployed with an integrated CMS dashboard for example. Laravel frameworks like [Inertia](https://inertiajs.com/) or [Livewire](https://laravel-livewire.com/) are good examples for such creative and bundled approaches.

I'm excited to see what solutions will be developed in future! 

**What CMS do you use? And what do you think will be the most used CMS in combination with SvelteKit?**

Further Resources:
- [Rich Harris explains why SvelteKit pushes for Server Side Rendering (and against SPA / CSR)](https://dev.to/mandrasch/rich-harris-explains-why-sveltekit-pushes-for-server-side-rendering-and-against-spa-5flj)
- [jamstack.org](https://jamstack.org/)
- [CMSstash: Headless CMS (German)](https://cmsstash.de/empfehlungen/headless-cms)