TL;DR Yes, as long as you have the right use case.

Hybrid mobile app development… some love it, some hate it, and some love to hate it (I stole that line from The Science Elf’s video about Java, which you should definitely watch).

The pros of hybrid app development are compelling.

Write once, run everywhere.

Leverage web technologies for iOS and Android.

Reduce costs and time to market.

But there ain’t no such thing as a free lunch. You make a host of complex tradeoffs when going down the hybrid path.

Native SDKs become a black box

Potential limitations in native feature development

Potential performance issues

The word “potential” is important here because these tradeoffs are non-issues when Ionic is applied to the right use case.

In 2018, tons of content is being churned out about React Native vs Flutter vs Ionic vs Whatever, and I don’t have a horse in this race and the simple fact is that they are all great tools. I’m just a web developer who dreams of the perfect cross-platform development experience. My goal with this writeup is to give you some points to consider before investing time and money into a mobile app.

It’s a Business Decision

At the end of the day, your app development strategy is a business decision. Ionic allows you to leverage your web development talent to build a mobile app without a steep learning curve or new hires, but at the expense of being decoupled from native SDKs. It is absolutely critical that you understand the tradeoffs and apply Ionic to the right use case.

Let’s imagine you’re a product manager tasked with launching the frontend UX for a SaaS product. Depending on your customer base, you are likely to face one of the following scenarios

Scenario 1— The web is your only priority

Summary: Good decision if you like Ionic’s components

If building a PWA is your only priority, then Ionic can be reduced down to a component library. It’s only significant value-add over a plain Angular or Vue app would be the prebuilt components it provides. And as far as component libraries go, Ionic is very solid. It provides you with a wide range of common UI elements and behaviors that look great on all platforms.

Scenario 2— PWA first priority, mobile secondary

Summary: This is where Ionic and hybrid app development shines.

Ionic makes a ton of sense when a PWA is your first priority, but you also want to support a native mobile app for your customers. It allows you to focus on building an optimal web experience that can be easily ported (relatively speaking) to iOS and Android by sprinkling in Cordova or Capacitor plugins. Your existing web developers will be able to pickup Ionic quickly and getting an app to market will be much faster than building multiple native apps from scratch.

Scenario 3 — Mobile as the main priority

Summary: It might work for you, but there are alternatives in this space.

If your only target is native mobile, do you really want to add an extra web abstraction to your product? The use case would be to avoid a skill gap in the short-run, but this could end up costing you in the long-run. If you’re investing in a mobile app, it’s generally safer, from a business perspective, to use native SDKs or frameworks like Flutter and React Native that allow you to incorporate native code. If you ever hit the limits of what hybrid apps can handle performance-wise, you’re looking a full rewrite and a much bigger spend overall.

Also, it is important to note that Ionic is not generally ideal for apps with heavy graphic/animation requirements or that require frequent interaction with the the native platform — things like games, augmented reality, animated scenes, etc.

But all that said… If you have requirements suitable for a hybrid app, Ionic can still be the right choice for native-only because it’s just so cost effective compared to most alternatives.