Your Privacy

This site uses cookies to enhance your browsing experience and deliver personalized content. By continuing to use this site, you consent to our use of cookies.
COOKIE POLICY

Skip to main content

Progressive Web Application

Progressive Web Application
Back to insights

Your organization may be growing to a point that it requires the use of a mobile application. However, your organization may not have the budget required to develop a truly native mobile application. This typically requires the development of two different applications, both for iOS and Android. There is a third option that leverages web technologies and also works on both platforms. This is a progressive web application.

A progressive web application makes use of existing web technologies. Web technologies have progressed to the point now that a mobile experience can be delivered through non-mobile native applications. This is a major advantage for small-to-medium sized businesses that are on a budget. They get both a web application and a mobile platform.

Progressive web applications make use of many common platforms. This reduces the learning curve for developers that are experienced with server-side languages and have some experience with front-end languages. If you are a front-end developer, then a progressive web application will not be very hard to learn.  The logic of a progressive web application is written completely in JavaScript.

Progressive web applications get their ‘magical powers’ by using service workers. Many modern browsers use service workers, in case you are curious if yours does you can find out here. A service worker is a process that runs on a separate thread than what your browser does. Therefore, it is able to process items without any interaction at all.

By pairing a service worker with the browser’s integrated storage (such as IndexedDB) it is possible to use your application offline (just like a native application), do some work, save the work and then when you are re-connected the service worker will sync the data. Unfortunately, this feature, known as background sync, is not yet supported on iOS.  Progressive web applications also support push notifications. These will arrive on the mobile device just like a normal application’s notifications.

Progressive web applications are also able to be installed on your mobile device from the browser.  Once the application is installed locally on the device, it will have the appearance of a native application as well as operate like a native application.  This gives the user a truly mobile application experience, which is the overall goal of a progressive web app.

There are a few drawbacks to using a progressive web app. For one, iOS does not fully support all of the functionality of a progressive web app. In fact, iOS has not even supported the use of service workers in mobile Safari until iOS 11.3. Apple has restricted third-party browsers (Chrome, Firefox, etc) from utilizing service workers. It also does not support the integration of background sync at all. This causes an issue if you are needing to sync data and the user has intermittent, or non-existent, connectivity in their current location. Android, on the other hand, fully supports all of what a progressive web application has to offer.

In conclusion, there are many pros to the implementation of a progressive web application as your next mobile application. With Apple’s restrictions on the use of service workers, as well as background sync, we should hope that they continue to adapt and adopt these abilities in Safari (or just open it up for Chrome to use it).

Digging In

  • Software Engineering

    When There’s Too Much to Fix: How Smart Prioritization Unlocks Revenue at Scale

    Every operations team has a backlog. The question isn’t whether you can clear it — it’s whether you’re clearing it in the right order. For most teams, the honest answer is no. And that gap between the order work gets done, and the order it should get done is quietly costing organizations millions. The Volume Problem High-volume exception processing shows up across […]

  • Software Engineering

    Creating Reusable Code Templates to Reduce Client Project Startup Time

    In consulting, one of the least visible but most expensive phases of a project is the beginning. Teams can spend days or weeks setting up repositories, agreeing on structure, wiring basic infrastructure, and solving problems that have already been solved many times before. Code templates are a practical way to reduce overhead while improving consistency. […]

  • Software Engineering

    Player Three Has Entered the Game: How AI Is Finally Bridging the Divide Between Design and Engineering

    As AI begins to become more prominent in our day-to-day lives, I find myself in a unique position. As a practicing software engineer and UI/UX designer, I am genuinely happy to see the introduction of AI tools begin to take shape in our industry. But more importantly, I am happy to start seeing the effects it is having on what has historically been a pretty challenging relationship: the […]

  • Software Engineering

    The Disappearing Middle of Software Work: Why the Bookends – Strategy & Impact – Matter Most Now

    Here’s a question nobody in enterprise software wants to sit with: what happens to the middle? Not the middle of the org chart. The middle of the work. The vast, expensive layer of effort that has defined enterprise software delivery for thirty years—translating what the business wants into working code. The requirements-to-implementation pipeline. The “build phase.” […]

  • Software Engineering

    Zero-Code Telemetry with OpenTelemetry’s OBI

    Full distributed tracing and exception capture for any application — without writing a single line of instrumentation code. View the source code on GitHub → The Premise Observability is essential for understanding what’s happening inside your services, but instrumenting an application by hand — adding trace spans, logging calls, and metric counters throughout your codebase […]

  • Software Engineering

    Building a Consultant in the Trenches: How Playing Offensive Line Shaped My Consulting Career

    People often ask me the same question when they find out that I played college football: “Do you miss it?” On the surface, it’s a bad question with an obvious answer. Yes. However, if I give myself a minute to sit with that question, the answer is more nuanced. Yes, I miss playing football, but […]