top of page
Writer's pictureWhizzystack Solutions

Web App Development With Headless CMS And Respond

Updated: Apr 7, 2021


Throughout this guide, you'll learn what Headless CMS is, and the pros and cons of Headless CMS. Finally, you ll used GraphCMS (a (a backend-only content management system) to create a shopping cart. Using a headless CMS and Respond, you can then go ahead and create any web app of your choosing.


As digital goods keep changing, so does the content that we are consuming. A scalable, cross-platform content management system is important for ensuring the growth velocity of a company. Traditional CMS offers the convenience of providing in a single environment the text, the editing interface, templates and custom codes. Yet with the developments in the mobile age, this isn't enough anymore. We need a new breed of CMS-one that can make content available through any channel that requires a Headless CMS. A headless CMS lets you handle the content and distribute it to any site.


What in practice does this look like?


What happens while you are deleting a CMS frontend? The main difference is that you can not create a website by yourself with a headless CMS. Everything happens in the same place, with a traditional CMS.


A headless CMS does not have the features that allow you to create your site — it has no themes or templates for the web. To use a headless CMS, you must first build a website or app, or other experience, and then use the CMS API to plug in your content.

Why are you looking for Headless?


A headless CMS comes with a friendly approach to the API, which allows content to be published via an API (RESTful or GraphQL). This allows you to use the same API to distribute content through various platforms, such as applications for Android or IOS, smartwatch, AR / VR, etc. A headless CMS helps developers to easily unleash the imagination. With a traditional CMS, changes can be time-consuming, so you need to re-implement the entire CMS, for example, to tweak a part of your site. You can make improvements to the frontend with a headless CMS without having any effect on the back-end infrastructure, thereby saving yourself time and money, which makes it easier.

CMS Modern Vs Headless: The Pros And Cons


Choosing between a headless and a conventional CMS can be difficult. The fact is, they both possess potential benefits and disadvantages.


TRADITIONAL CMS PROS make it simple to customise. Most have drag and drop, this makes it easy for a person to work seamlessly with them without programming experience. It is easier to set up your content on a conventional CMS, because you already have everything you need (domain management , design, etc.).


TRADITIONAL CMS CONS has more time and resources for maintenance and configuration for the combined front-end and back-end performance.


Traditional CMS e.g. Wordpress relies heavily on plugins and themes that might contain malicious codes or bugs and slow the website or blog speed. Here's a list of weak WordPress plugins, themes, from 18,305. Security controls for Drupal developers are discussed here. Check out more facts here.


HEADLESS CMS PROS has As the frontend and the backend are isolated from each other, it allows you to select which front-end technology matches your requirements. It also provides versatility for the developer during the production process.


Platforms built with headless CMS (blogs , websites, etc.) can be deployed to work on various displays such as web , mobile, AR / VR, etc.


HEADLESS AGAINS CMS


They give you the troubles of running back-end infrastructures, setting up your site's presentation component, app.


They can be more costly to implement — the cost of developing a user-friendly analytics platform is high compared to using conventional CMS.

BEST USE CASES FOR HEADLESS CMS


Tatic Site Generators (e.g. Gridsome, Gatsby) has several Jamstack sites generated with static site generators such as Gridsome, Hugo or Gatsby that use headless CMS to handle content, they are unable to access a database, so content can be stored in a headless CMS and retrieved as static files via an API.


Mobile Apps (iOS , Android) has the advantage of a headless CMS for mobile developers, as the API enables them to distribute apps from the same backend to an IOS / Android device that handles apps for their website, keeping it in sync.


The Mobile Software


This approach involves serving content via an API, which is then consumed by a web application but provides a centralized place for content management. An example of this is an e-commerce application designed using HTML, CSS, and JavaScript with content and product data stored in the CMS and supported via an external API.


TYPES OF HEADLESS CMS


There is a list of headless CMSs you might what to check out.

Pleasant


A headless CMS powered by the API, designed to create, manage, and distribute content on any platform. They offer the opportunity to build your business model as opposed to a conventional CMS, so you can determine what sort of content you want to handle.


GraphCMS


A headless CMS for users looking to develop their digital products with a GraphQL web infrastructure. This CMS is completely developed as a ground-up based API, enabling developers to specify the parameters of the API frameworks, permissions, and relations. We 'd be using GraphCMS in this article because of its approach to the GraphQL API.


HoweverterCMS


A CMS that gives complete freedom to build a full SEO website or branded blog, and supports any tech stack. This tool saves you the time and resources to build the web. Butter CMS is a headless, maintenance-free CMS tool that can be incorporated with any language or system. The powerful interface assists you in defining and customizing every aspect of your website without any trouble.


Forward

An open-source platform that envelops custom SQL databases with a dynamic API and provides an intuitive content management admin app. Free self-hosting, or using the on-demand Cloud service to handle all of your digital omnichannel experiences.

Flexibility


A JAMStack focused Headless CMS with built-in Page Management. Create, handle, and deploy quicker. Agility CMS is a Content-First Headless CMS that allows you to pick any programming language while at the same time gaining versatility, speed and power from lightweight APIs. From there, incorporate Page Management, Ecommerce, Online Ticketing and Search features. Agility CMS is a full Digital Experience Framework that saves time, eliminates limitations and facilitates seamless experiences across all digital platforms.

Thanks to GraphCMS


Content is both complex and multi-channel, but existing content management systems ( CMS) lack the versatility to meet modern-day digital content delivery requirements. GraphCMS is the first HeadlessCMS built around GraphQL and offers a solution to this problem with its goal to promote the painless flow of content between content creators, developers , and users.


GraphCMS embraces almost any form of data that you can imagine, including pictures, maps, etc. It makes even the responsibilities and permissions easier. Although there are other headless CMS solutions, GraphCMS aims to provide developers with trouble-free experience; by using an API specification called GraphQL. It removes the need for multiple SDKs to deal with content delivery, and provides easy accessibility of multi-channel content. It makes it very easy to build apps rich in content.

GraphCMS Then GraphQL


GraphCMS relies heavily on GraphQL, its specification for the backbone API. GraphQL is the language of question and run time of the API. It was developed in 2012 by Facebook, and released in 2015 open-sourced. The likes of Pinterest, Github, Twitter, Intuit, Coursera have all adopted GraphQL to power their mobile apps , websites, and APIs ever since.

GraphQL is similar to REST in its core purpose of providing a specification for the development and use of APIs. Unofficially dubbed "REST 2.0" however, GraphQL has streamlined various core features that REST provides.


GraphQL's key feature includes protocol-agnostic use, managed fetching of data, editable fields and forms, and in-depth handling of errors. The effects include eliminating application consistency, preventing data over and under fetching, and substantially reducing requests from the network.


As a concrete example, let’s take the relationship of a query to a newsfeed. A newsfeed put up has an author, a identify and comments. If we use a REST-based CMS, we would must make three specific server requests for these three one-of-a-kind endpoints, whereas, in a GraphQL primarily based CMS, we would most effective must make 1 request for all 3. Consequently, the results offer relatively faster queries and much less network flooding — in a practical use case, it would now not just be one entity making more than one requests, but hundreds and millions.


GraphQL reduces the complexity of constructing APIs by abstracting all requests to a unmarried endpoint. Unlike traditional REST APIs, it's miles declarative; some thing is asked is returned.


GraphCMS has a beneficiant loose tier of one million API operations requests in step with month and 500 GB property traffic. Also, GraphCMS presents a Graphiql admin interface that gives you complete access to your statistics and you may just download all of it after which execute a create many mutations in opposition to your new backend to migrate the whole thing over.

Building Our Project


To see the energy of Headless CMS the usage of GraphCMS we would be building a simple shopping cart.

GETTING STARTED


To get commenced with GraphCMS follow the steps.

Create an account on GraphCMS. You can use the free tier.


At a hit signup, you’ll be taken to your dashboard. Click on create a new venture.


Ensure you click on on create a undertaking from scratch.


Set mission info for the mission click create.


In our dashboard, we would create our fashions and content.


Select the schema inside the sidebar of the dashboard to create a schema.


GraphCMS has an superb drag and drop UI, that make it clean to seamlessly create schema in minutes.


Let’s go in advance and create our gadget fields in our schema.

name: “”


type: The area type is a String, Single line Text.


Is required


description: It’s the name of the product.


charge: “”


kind: The discipline kind is int.


Is required


description: It will comprise the fee of our product.


Description: “”


type: The area type is a String, Multi-line Text.


Is required


description: This area will contain the outline of our product.


photo: “”


type: The subject kind is the file, that is an Asset Picker.


Is required


description: This picture subject will comprise the photograph of our product.

Currently, we haven't any content. Click on ‘Content’ within the sidebar that have to take you the Content section, and click on on ‘Create New’.


Let’s add some contents so we can show them later in our app using React.

Add some greater content if you desire.


Next, replica the API endpoint URL (Click at the Dashboard) — that is the single endpoint for conversation between our React front stop and GraphCMS back stop.


Next, let’s make our API endpoint accessible.

Navigate to Settings Under Public API Permission and click on at the drop-down and select OPEN and click the update button.


SETTING UP REACT


The easiest way to set up React is to use Create-React-App. (This is an formally supported way to create single-page React applications, and offers a modern build setup with out a configuration.) We’ll employ it to bootstrap the software we’ll be building.

From your terminal, run the command below:


npx create-react-app smashing-stores && cd smashing-stores

start the React server by running-> npm start

CREATING OUR LAYOUT


In developing the layout for our project, we are able to have 5 different additives.

Navbar: To maintain our navigation and cart icon


Allproducts: To show a list of all products


Product: The markup for a unmarried product


Footer: The footer of our app


Cart: To preserve the items in our cart


For a short setup, we are able to be the use of Bootstrap to create our components. To consist of Bootstrap, we would use bootstrap CDN, open up your index.Html in the public folder, upload the hyperlink to the top section:



https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css

Now we can make use of bootstrap lessons in our application.

Next, create a /components folder and create the following documents interior it:

· Navbar.js

· Allproducts.js

· Product.js

· Footer.js

· Cart.js

Creating Our Navbar


Creating Our Footer.js


Our footer needs some styling so we’d add the following styles to the App.css file:


footer {
 position: absolute;
 bottom: -55px;
 width: 100%;
 background-color: #333;
 color:#fff;
}

Connecting To The GraphCMS Backend With GraphQL


To join our software to the backend, we want to put in a couple of GraphQL packages. One of the libraries we are able to use is apollo-improve which offers a consumer the street for connecting to the GraphQL backend using a URI (Uniform Resource Identifier).

The URI is the endpoint supplied by using GraphCMS and is available on the endpoint phase of the dashboard.

Run the subsequent command in your terminal to install the necessary packages:

npm install apollo-boost graphql graphql-tag react-apollo



Displaying Our Products


Creating The Allproducts Component




Here, we wrapped our merchandise with the factor and exceeded the PRODUCTS_QUERY as props. Apollo injected numerous props into the thing’s render prop function. These props themselves provide information about the kingdom of the community request:

loading: This takes place during ongoing requests.

Error: This takes place while the requests fail.

facts: This is statistics received from the server.

Finally, we loop through all of the acquired gadgets and bypass them as a prop to our Product issue. Before we see what it looks like, let’s create our Product element.

Creating Product Component


Open up Product.Js and add the subsequent code to it:



IMPORTING OUR COMPONENTS INTO APP.JS



Creating Our Cart Component



Conclusion


The definition learned in this article will help you build web applications nearly at any time without paying too much attention to your back-end infrastructure. Creating a full-fledged e-commerce shop and incorporating payment etc. will take it further. I'm going to love to see what you might do in the Comments section.


As a reputed Software Solutions Developer we have expertise in providing dedicated remote and outsourced technical resources for software services at very nominal cost. Besides experts in full stacks We also build web solutions, mobile apps and work on system integration, performance enhancement, cloud migrations and big data analytics. Don’t hesitate to get in touch with us!

This article is contributed by Ujjainee. She is currently pursuing a Bachelor of Technology in Computer Science . She likes most about Computer Engineering is that it allows her to learn and be creative. Also, She believes in sharing knowledge hence is very fond of writing technical contents for the same. Coding, analyzing and blogging are things which She can keep on doing!!

23 views0 comments

Recent Posts

See All

Comments


bottom of page