Are OutSystems Reactive Web Apps the same as Progressive Web Apps?

Rúben Gonçalves
5 min readDec 16, 2019

--

If you’re not a JS dev, read as: Is RWA equal in value and nature to PWA?

Last October, I went to OutSystems NextStep 2019 in Amsterdam. There OutSystems presented the latest and greatest new version of the platform. This version among several important and interesting features (Experience Builder, Workflow Builder, etc), presented the new way to build web apps, called Reactive Web Apps.

The confusion between the terms Reactive Web App and Progressive Web App was immediate. While some people seem to have one or two thoughts in the matter, the vast majority was clueless.

During the pilot episode of Beyond the Code podcast, we already approached the question, but in a rather light (read disorganized) manner.

So this article aims, together with my previous article On Reactive Web Applications, Progressive Web Applications and Responsive Web Design, to bring some clarity (or sanity) to the question in hands:

Are OutSystems Reactive Web Apps the same as Progressive Web Apps?

But first things first…

A quick recap on RWD, PWA, RWA

I know that you’d like to read my previous article, but that you’re too busy (or lazy) to do so. As I understand you, here’s a glimpse:

  • Responsive Web Design (RWD) — how applications should adapt to the device and screen-size to convey a better UX.
  • Progressive Web App (PWA) — how applications should use the HTML5 available features to convey a better UX.
  • Reactive Web App (RWA) — how applications should use the required technologies to boost availability and real-time and with this achieve better UX.

How do the RWD, PWA and RWA concepts relate with a counterpart in OutSystems platform (time-wise):

Timeline of the creation of each concept and subsequent usage in OutSystems.

What are OutSystems Reactive Web Apps?

In one sentence:

New way to build web-apps using OutSystems, that run on top of a modern stack while keeping the abstraction of the underlying technology.

So what does it means in practice?

  • Now it is possible to build web-apps in the same stack and runtime that OutSystems Mobile apps are built on — ReactJS for client-side rendering, JavaScript for client-side logic, and .Net for server-side code that exposed to the application via REST APIs.
A simple diagram showing the working mode of the runtime — courtesy of Ricardo Alves [1]
  • There is now a new template for creating applications on top of this stack and runtime.
OutSystems IDE templates— courtesy of Ricardo Alves [1]

You might be thinking, something like this:

Right, you’re not telling me nothing new… Still don’t understand where you’re getting to…

I hear y’all so, moving to the crux of the question:

Are OutSystems Reactive Web Apps the same as Progressive Web Apps?

British sketch comedy Little Britain

The answer is simple and straightforward: No. because…

  1. PWA — by definition, work offline. Currently, is not possible to create low-code local entities (although you can always go hardcore:).
  2. OutSystems is about abstraction and simplification. Having in the name of a template a complex term as PWA, would be confusing for newcomers and Citizen Developers.
  3. Reactive Web App — although it can have technological concept bases (responsive, event-driven), it is a much down to earth and simple concept (or word) to grasp.

“Okay… I’m still confused?”

And so was I, and the more I read about RWA/PWA, the surer I became that the reason for the chosen name was merely conceptual (aka reactive because it immediately reacts to user actions — industry term Responsive*), and a way to distinguish from the old way to build web-apps.

*not to confuse with Responsive Web Design.

“Ah, offline!!! So they will change the name when offline is supported?”

I believe not. As stated before, the chosen name is simple to grasp and doesn’t require many thoughts on what it is (unlike PWA). But I do believe that the name will change, just not in that way… We’ll get to that…

What might happen to the templates?

You might have noticed that web-apps template that we are used to building on, has been demoted in two ways:

  1. Its relevance when creating a new application was reduced by being pushed to More section:
OutSystems IDE templates — courtesy of Ricardo Alves [1]

2. The name was changed to “Traditional Web”. Allowing reinforcing the idea of it being an old paradigm.

And my survival skills, tell me that…

… this is what might happen…

(My opinion only, no inside information)

  • Traditional Web template might simply disappear as an option to build new web-apps.
  • Then Reactive Web App template might be simply renamed to “Web App”.
  • The offline support will come along, and you will be able to build a web-app that is considered a PWA.

“Whoa, you said disappear? How do I migrate my (traditional) web to that New Cool Thing ?!”

It’s fairly straightforward… first, you need to think… and only then to act! :)

Vague, on purpose, since this will the topic for my next article. Stay tuned.

If you have thoughts or you disagree, feel free to reach me out on twitter @techrug, and if you enjoyed this please give it a 👏!

--

--

Rúben Gonçalves

‘Living on the edge’ is his personal motto. Always eager to learn and explore technology, with the purpose of solving real world problems.