Competing by mimicking

— 2 minute read

I see this sort of phrase dotted around social media every now and then:

“We do X like this, because we’re trying to compete with native apps”

I always find it a bit confusing because oftentimes, “X” is a complicated solution to an already existing, acceptable platform technology, like...um...using CSS-in-JS over CSS, for instance. I also find the phrase confusing because “X” can sometimes mimic the way native app developers do something in a native app programming environment, like Swift or Java, with storyboards and views.

The thing I find the most confusing, though is the concept of competing by mimicking. In any other context, it’d be laughable that someone would compete by mimicking someone else.

The whole idea of competing with native apps seems pretty daft to me, too. The web gives us so much for free that app developers could only dream of, like URLs and the ability to publish to the entire world for free, immediately.

In my mind, the only way to “compete” with native apps is to do better than native apps—and with the web platform consistently improving and enabling us to produce app-like experiences, with Service Workers, ES6+ JavaScript, modern CSS and Web Components: we are very much on the path to do better than native apps. This includes the handy Progressive Web App capabilities that we have available to us, too.

As Jeremy Keith says:

“If the goal of the web is just to compete with native, then we’ve set the bar way too low.”

I believe in the web and will continue to believe that building Progressive Web Apps that embrace the web platform will be far superior to the non-inclusive walled garden that is native apps and their app stores. I just wish that others thought like that, too.

Hi 👋, I’m Andy — an educator and web designer

I produce front-end development tutorials over at Front-End Challenges Club and Piccalilli. You can sign up for updates on Piccalilli to stay up to date with its progress.

Sign up for updates