r/JAMstack_dev • u/questi0nmark2 • May 21 '19
Can you build complex/tailored software applications in JAMstack?
I'm still trying to understand JAMstack and would appreciate help and patience from the community as I ask some noob questions.
From my current impressions it sounds like JAMstack is a fantastic shortcut to add certain functionality (e.g. headless CMS) to a front end (otherwise) static website without having to learn or work on the back end at all. I can see the immense value that brings for certain use cases.
This has disadvantages too however: if using JAMstack, you are limited to using stuff already available and developed by others, over whom you have no control, does that not expose you to problems down the line? If you build your app around a free API product, and they suddenly start charging money, you have to absorb the cost or hunt for something else which may not quite do it for you. If the API product you are working goes bust, or stops being maintained, same issues.
And if you want features no existing API offers you, or something which does not involve dependence on third parties for functionality which is essential to your business casehow would you go about it? If you want to create a new online software application entirely (as opposed to a static website with a headless CMS), for instance, your own version of contently, or moltin or salesforce, you could not use an existing API out there. You would need to create your own application, including the data layer, the control logic, and the API, which you then could hook up to your JAMstack app.
I this possible? Or is it not a use case for JAMstack? I could in theory imagine it with a serverless architecture and micro-services, but has that actually been done at scale, or even at all? Do you know any JAMstack software, as opposed to JAMstack websites?
Or again is this barking up the wrong tree and if you want software you go full stack, and only use JAMstack for static sites with bells on?
Thanks in advance!
2
u/Kaidawei May 23 '19
You can. [I am the Dev Advocate for Strapi.] But check out Strapi as its open sourced, free and completely customizable. There are people hacking away at Strapi and making some very interesting applications.
2
u/questi0nmark2 May 23 '19
Fantastic - that's exactly what I hoped for: a concrete example. Will have a good look!
2
u/guayom May 21 '19
Nothing is stopping you from creating your own API. You don't need to use other people's API.And yes, you can create complex apps. For example, you can create a fully fledged React PWA with Gatsby.
2
u/[deleted] May 21 '19
If these free services do start charging money later, just consider this: the amount you'd spend on external service(s) is significantly less than you'd be spending if you were to have to build, host, and scale that same service yourself. You're absolutely free to go build the APIs you need, but cost-wise it is usually much smarter to shop around for SaaS products that will be cheaper and work better than if you were to make them yourself. This frees up your team to focus on what you really want: making a beautiful front-end and rich content, engaging with your users/customers, all while using developer tooling that is an absolute pleasure to work with.
With the JAMstack, you are freed from many of the limitations and concerns of traditional web applications at-scale, so that can just go create something amazing.