The web is in the midst of a seismic shift, again. Seemingly overnight, we’ve gone from a framework of all-in-one suites to a decentralized network of functionalities that give customers and users more freedom, agility, and value. The days of companies needing to hire teams of multiple full-stack developers seem to be coming to an end, while the days of no-code/low-code solutions are just beginning.
Along with the move to a new digital landscape, we in the tech world find ourselves needing to adopt new language and terms to describe the scenery. By now you’ve probably heard of “Headless.” But are you familiar with “Composable DXP?” What about “JAMStack?” What does it mean for something to be “no-code/low-code?” And what the heck is a “PBC?”
At TechGuilds we pride ourselves on keeping abreast of the cutting edge of web and marketing technology. From web-based VR/AR experiences to our AI-powered wireframe-to-code tool Kajoo, we’re always adapting. Perhaps more important, we also enjoy helping people understand these developments and what it may mean for their business.
To that end, in this post we’re presenting a glossary of new terms that you’re going to see more and more in the digital space. In other posts we’ll elaborate on some of these concepts, but we wanted to give you an overview to act as a sort of map.
“Headless” is one of the older terms in this new movement, so we’ll start there. When we in the web development world talk about “headless,” we’re usually referring to Headless CMSs. A Headless CMS is a content management system that does not have a presentation layer. Traditional CMSs DO have a presentation layer, such as Wordpress, Drupal, and Sitecore. This presentation layer renders the HTML that the end-user sees in their browser, and is provided through a server response when the user visits the website in question.
In contrast, a Headless CMS, having no presentation layer, instead provides a Content API. This API provides structured data, often in the format of a highly complex JSON object, which a Single Page Application can consume in order to display websites. However, web apps aren’t the only things that can consume content APIs - mobile apps and other kinds of apps can as well. This flexibility is one of the benefits of headless architecture.
Single Page Application
SPAs dramatically change the architecture of websites. On the traditional web, websites are made up of a collection of individual pages, organized in a file structure which can be navigated through hyperlinks and URLs that reflect that file structure. However, as the name implies, single-page applications only need to load a single page, through which the SPA is loaded onto the browser. Instead of loading different pages, the SPA reconfigures the page that is presented to the user using routing logic.
This Medium article about Routing provides a succinct explanation of what a router in an SPA does: “The router will be in charge of simulating transitions between documents by watching changes on the URL. When the document is reloaded or the URL is modified somehow, it will detect that change and render the view that is associated with the new URL.”
JAMStack architecture is relatively new, but rapidly gaining in popularity. One of the key advantages of JAMStack is the lack of need for a server-heavy solution. With JAMStack, companies need only to upload their SPAs onto Content Delivery Networks (CDN), rather than server farms that they need to maintain themselves.When a user visits a traditional website, a request is sent to a server, the server thinks for a bit, then provides a response to the user with the complete page requested. In a JAMStack website, the user visits a URL, downloads the SPA into their browser from a CDN, then the SPA makes various API calls to different microservices to download the appropriate data and populate the page. Whenever the user navigates to a different part of the site, the SPA and its router make the necessary API calls to update the page with needed data.
This framework means that there isn’t one source that the user has to get everything from, nor does any source have to do page rendering and send a complete page to the user. When a user downloads an SPA to their browser, it can come with all, most, or some of the necessary page logic, depending on how much the developer wants to leave to API calls.
One technique that is becoming more popular is Static Site Generation, in which every permutation of an SPA’s routing logic is saved as fully-rendered markup. This technique splits the difference between server-side rendering and client-side rendering - instead of rendering a page each time a user makes a request to the server, or the user’s browser having to process every state change in an SPA, Static Site Generation renders all of the pages once, then provides fast-loading, mostly-to-fully-rendered “static” pages to the user.
The Edge is a networking term that refers to the part of a networked application that is farthest from the primary hub of the network. Put another way: “Edge computing is a networking philosophy focused on bringing computing as close to the source of data as possible in order to reduce latency and bandwidth use.” This quote could be confusing. “Source of data” here means not the database that the data lives on, but where the data is when it’s being processed by an application. In traditional cloud architecture, the data is processed by an application on the server that accesses the database directly. But in JAMStack applications, the data is first retrieved from an API, brought to the user’s computer, and then is processed by an SPA. So if you have a JAMStack-architected website, “the edge” could be the user’s browser.
However, when we talk about “the edge” in regards to JAMStack these days, we’re referring to static HTML sites (meaning: pre-rendered) being served over a content delivery network. The advantage to this approach is that the user doesn’t have to wait for a server response - they’re quickly given the data they asked for from a CDN. This shift in architecture increases performance and cuts down on costs for businesses.
If JAMStack brings everything together for the developer, Composable DXPs bring everything together for the business leaders and marketers.
You already may know that DXP stands for “Digital Experience Platform,” which refers to a platform such as Sitecore XP or Adobe Experience Manager. These platforms provide a host of features, including not just content management and page building/rendering, but also ecommerce, personalization, e-mail campaigns, and integration with CRMs.
Market research firm Gartner probably has the best definition for Composable DXP, including the context in which these technologies have arisen, as well as a marketer’s frame for understanding their usefulness.
Low Code / No Code
Low Code / No Code is a fairly self-descriptive term - it refers to solutions that can be built and deployed without the need for much programming, or any at all. This philosophy is especially relevant to Composable DXPs, which have an advantage over traditional DXPs in that they don’t necessarily require a team of in-house programmers to integrate and customize features/PBCs. If you’re looking for solutions that are configurable rather than customizable, you’re looking for something low code/no code.