A Progressive Web Application Technology Ecosystem Introduction
A Progressive Web Application Technology Ecosystem Introduction
A Progressive Web Application (PWA) is a mobile-friendly website that comes “enhanced” with certain features to deliver a “native, mobile app-like experience” to its users. Think of a PWA as a hybrid between a website and an app, where there is no longer a stringent need to develop iOS, Android, and website versions independently of one another.
PWAs are a modern way to build websites that deliver the app experience directly through the user’s web browser no matter what device the user is on, and can be easily installed and directly accessed on a mobile device’s home screen and app drawer. The action from there simply opens up their browser. In addition, PWAs come with benefits such as responsiveness, push notifications, and offline accessibility to deliver a better experience to its users.
The key benefits of a PWA are:
- An incredible mobile experience
- One development
PWA development requires several different technology categories to get the job done, depending on what you are building. Below is an outline and explanation of the categories in our PWA ecosystem. We will explain each category, and then list our favorite, specific technologies within each category.
Frameworks and Libraries
The first step to creating a responsive, scalable, and robust PWA is to decide which framework to build it on. Having a PWA framework and library eliminates the need to manually code your web application from nothing; developers can leverage a framework’s resources and tools to simplify the coding process. So, employing a well-suited framework can exponentially accelerate a project’s pace and make the development process as painless as possible. Although the “right” framework depends on your app needs, as well as the expertise of your developer, here are some notable PWA frameworks and libraries we enjoy:
Static Site Generators
What is a static site generator? A static site generator (SSG) is a tool that generates a pageview for a visitor during the site’s development (rather than each time a user visits) by applying a selected template to web your content. This means that the static page is already built, stored on a CDN, and immediately served to the user when they visit the website. Popular SSGs to have as part of your PWA ecosystem include:
Gatsby: Gatsby is suitable for creating fast websites and PWAs while harnessing the power of more than 2,000 plugins. It is a free, open-source framework for building applications and websites.
Nuxt.js: Based on a robust modular structure, this open-source framework makes web development powerful but simple. With Nuxt.js, you’ll be able to generate a fast PWA in no time.
Next.js: Next.js offers the best developer experience and includes support for TypeScript, hybrid static and server rendering, and route pre-fetching, among others.
Hugo: Hugo adds some fun into the art of building PWAs through its excellent flexibility and speed. It is a fan-favorite among the PWA community – and one of ours too.
Content Management System and Backend
A content management system (CMS) allows the content of a site to be easily managed, without the need to edit the underlying PHP or HTML files manually. A popular CMS is WordPress, which makes it easy for you and other site owners to make changes to a site. A backend, also known as “server-side”, refers to the portion of the website you don’t see. It is responsible for storing data and making sure the site works. Website developers can create a site from scratch with the help of this backend alone, but when combined with a CMS, it becomes exponentially easier to manage and control the content that gets shown to a visitor. Some popular platforms that provide both CMS and backend and will integrate well into your PWA ecosystem include:
Shopify: As a CMS, mainly for eCommerce websites, Shopify makes it easy for developers and store owners to manage their products and site content through a user-friendly admin. A major benefit of this CMS is part of your eCommerce platform so you don’t need a second piece of software, and that it comes very search engine friendly out of the box. Shopify allows store owners to easily edit headings, title tags, URLs, and meta descriptions.
Contentful: You can manage all your content through Contentful. It allows you to integrate hundreds of tools with their industry-leading app framework to accomplish countless tasks for your PWA.
WordPress: WordPress is a popular platform supporting more than 39% of all websites worldwide. As open-source software, you can extend its functionality with thousands of plugins to activate more functions such as galleries, mailing lists, and online stores.
Netlify CMS: Netlify offers the speed, scalability, and security of static sites while creating a convenient editing interface for content. If you are looking for an open-source content management system for your PWA, Netlify CMS won’t disappoint with its flexibility.
eCommerce, Payment, and Search
eCommerce has become the main channel for many shoppers, so creating an eCommerce store presents the perfect opportunity to build relationships and provide unique experiences for your customers. If you wish to open your online business as a PWA and expand your reach, here are some platforms to have in your PWA ecosystem that will make this a seamless experience:
Shopify: Shopify is a powerful e-commerce site that provides excellent tools to find clients, drive sales, and manage your daily inventory. It allows simple integration with dozens of payment gateways which is why over 1,000,000 businesses in 175 countries around the world use Shopify.
BigCommerce: Rivaling Shopify, Bigcommerce is a great eCommerce platform that companies can use to create and grow their online store. It can integrate with your WordPress CMS as well as different payment gateways to enhance the overall experience.
Magento: Magento, owned by Adobe, is a well-known eCommerce platform, allowing users to create content on a simple interface, update pages with ease, and personalize specific customer segments. Companies can even create customer reward programs, send targeted promotions, and offer 24/7 support with Magento.
Square: You’ve probably heard of Square before, but if you haven’t, it is a popular online payment gateway that is compatible with all eCommerce platforms. Its payment integration is secure, easy to operate, which means that users can experience a seamless checkout process with no hassles. It is so versatile that you don’t even need a website to use this app for your payments!
Algolia: Algolia is essentially a personalized “search engine” you can install on your site. Through this extremely API-friendly search service, your visitors will have the ability to discover and search through all your content with a few keywords – even ones with typos. Just think of it as Google for your website.
Hosting and Repository Services
Hosting is the service that allows organizations to post a website or web page onto the Internet. Hosting is not a new service, and one familiar to most people who own or manage a website.
Repository services are third-party web applications that act as organizational management tools. They offer a transparent and simplified view of the traditionally complex processes of app development (version control, backups, and more).
Since there are a variety of services available to choose from, here are some notable hosting and repository solutions for your PWA ecosystem:
AWS: AWS is a hosting service offering high-end data availability, scalability, performance, and security. Customers can use it despite their varying sizes and industries. It can store and protect any amount of data, ranging from websites, back-up and restore, data lakes, mobile, and enterprise applications.
Netlify: Netlify is another great hosting service, one that connects to your GitHub repository (explained below) so you can easily code and pre-render all of your pages to create highly responsive PWAs.
Github: Github is a repository where you can build, ship, and maintain your PWA. It lets you manage projects, host and review code, and create software alongside 50 million other developers.