DEV Community

Cover image for JAMStack Development 😉
Ali Abbas
Ali Abbas

Posted on

JAMStack Development 😉

One of the trending stack used in web development. What do you think about the productivity and scalability of the stack? đŸ€”

Top comments (3)

Collapse
 
martynaskadisa profile image
Martynas KadiĆĄa • Edited

We switched our medium sized React SSR app to JAMStack. Main reason - slow development workflow and slow deployment.

To add more background, our app is not indexed by search engines and all of it’s content is hidden behind a login screen. In addition to that we also use service worker with cache first strategy. So user would only get server side rendered content when visited site the very first time which is our login page.

We used docker and docker-compose to spin up our frontend and backend cluster which was quite heavy on relatively weak macbook airs. It was eating a lot of reasources and feedback loop for editing a file and waiting for changes in the browser was beginning to become a pain for us. I mean it should’t take 30s for hot reloading. And the whole system was lagging because of that

Deployment was also quite slow (>15 min for build + upload docker image + spin up VMs) but the again we were using cheap GCP VMs which took forever to boot.

So eventually we decided to go with JAMStack.

We ditched docker for our webapp, removed SSR code and our app is now only rendered client side. In addition to that we dedicated one VM in GCP for API calls from our local dev server. Currently our development feedback loop is snappy, <5s for hot reloading. Deployment takes roughly 1 min (webpack build + upload) on the same macbook air (we currently don’t have CI/CD), since it’s just static files, we build them and upload to a bucket and use cloud workers to reroute 404s to index.html. Also, no more severs to manage our frontend. So theoretically it could probably scale to infinity, I’d worry more about GCP bills at that point.

Downsides - user sees blank page for a second for the very first time a webapp is visited. It could be probably be solved as well by prerending login page.

So JAMStack worked well for us.

Collapse
 
jonnyeom profile image
Jonny Eom

I think this is an interesting question.
I would really like to see how others are building large scale applications and how it has worked out.

Collapse
 
khansameer295 profile image
khansameer295

I'm a newbie web developer and I've been a lot curious about this stack. I want to build a personal project with JAMSTACK so I will be following this thread.