ApostropheCMS and the Jamstack
Tags: webdev, node, javascript, vue
Published: 2020-11-17 14:49:56

[Apostrophe's] (https://apostrophecms.com/) origins go back over a decade to when we were running an agency building websites for clients and unsatisfied with existing tools on the market. Our path to creating a new CMS was an organic evolution out of an existing open source ecosystem that we believed was a foundation for better digital products. Over years of iterations and hundreds of client projects, we continued to validate our approach against other tools, all the while deriving value out the engagement with the open source community through our work.

**One constant in creating every iteration of Apostrophe is that we have always sought to solve for two primary things: the developer experience and the editor experience.**

As developers, we asked ourselves: is the platform helping me or in getting in my way? What if I want to customize or extend the it as part of a larger application? Am I being provided with the tools to do my best work as an engineer, is my ability to create and build new things being supported, or am I being forced to build around and through a messy or bloated architecture? Solving for these questions led us to iterate on a number of technology stacks over the years, moving from a PHP-based solution to a more modular architecture based in Node.js, and now landing on stack that includes Node, Express, Mongo, and Vue.js, with headless capabilities at the core.

![stack](https://dev-to-uploads.s3.amazonaws.com/i/zudw0386ta6ivgbqw0re.png)

Meanwhile, we also listened to our clients and users and asked: how is the user interface helping me? Is it made with the needs of a non-technical person in mind? Do I have the flexibility to author content in a creative way with an intuitive experience, or am I blocked by slow and cumbersome and complex UI? Solving for these led us to build from the ground up to support editing content right on the page. Our data model and overall platform architecture is designed to facilitate the same kind of editing paradigm that's now been made commonplace through products like Squarespace and Wix.

And finally, regardless of whether you're an editor or an engineer, we are always asking: does it not only solve key business pain points, but also feel fast, responsive, and fun to use? Can the tool deliver a sense of delight in doing the work of building digital experiences?

Meanwhile, in the last 5 years or so, as we've been iterating on our Node.js release of ApostropheCMS and scaling it to work in enterprise and [multisite deployments] (https://apostrophecms.com/assembly), there has been a major shift underway in the ecosystem of the web.

What started as a developer-led movement to optimize the deployment and performance of simple websites via static site generators has exploded with modern front-end technologies like React and Vue.js enabling powerful client side experiences on top of modern headless architectures. Web developers have seen major benefits through a greater separation of concerns and simplified scalability of their experiences through static deployments. Companies like Netlify and Gatsby and Contentful have helped to both build and ride this wave to massive growth with the coining of concepts like [JAMstack] (https://www.netlify.com/jamstack/) and the [Content Mesh] (https://www.gatsbyjs.com/blog/2018-10-04-journey-to-the-content-mesh/).

We've been saying for some time now that we are in [a post-WordPress era] (https://www.netlify.com/blog/2020/09/15/on-mullenweg-and-the-jamstack-regression-or-future/), and it is clear that the growth of the Jamstack is accelerating that. But in this new Jamstack ecosystem there is still a need for more tools optimized with the editor experience in mind and the enterprise digital experience management capabilities of a platform like Apostrophe.

Deep in our core DNA and company values has always been a relentless focus on developer and editor experience - content management for everyone in your organization - and an excitement around the pace of change and innovation in our field. Case in point: we released [our headless module] (https://github.com/apostrophecms/apostrophe-headless) in 2018, and [now we have integrated headless capabilities into the core of Apostrophe 3] (https://apostrophecms.com/blog/announcing-apostrophe-3-alpha) with first-class read and write APIs that power the entire editor UI.

Today, one of the spaces we are most excited in innovating in is the evolution of delivering an in-context editing experience within a headless architecture. Quickly building out content APIs with a flexible back-end admin experience is one thing, but our focus has always been on rich composition of layouts and building experiences through a powerful WYSWIG tool. Doing this in a headless architecture presents new challenges that we're already solving and we are really excited about taking this further.

If you're interested in the Jamstack and haven't already seen our [Nuxt tutorial](https://apostrophecms.com/blog/building-an-online-menu-using-apostrophe-headless-nuxt-nginx-part-1), definitely give it a try. Following the release of Apostrophe 3, we look forward to sharing more tutorials for integrating Apostrophe with tools like Gatsby and Next.js. Meanwhile, if you have questions about ApostropheCMS in the Jamstack, [please reach out!] (https://apostrophecms.com/contact-us)


---

This post was written by Apostrophe's leading conversation starter, CEO, and staunch board game advocate. We also call him [Alex] (https://www.linkedin.com/in/alex-gilbert-a361a152/).