Claudiu Lazar I am a software engineer. I am playing with things like SAP Commerce to Docker, from Traefik and networking to Angular and Spring Boot, from SEO to styling and photoshop. I love programming ♥️.

How good is Ionic for mobile development?

3 min read

How good is ionic for mobile development

If you want to start working on a mobile app you will want to be fast on launching your idea. How good is Ionic for mobile development and how can it help or it can block you and your team for reaching your final goal.

What is Ionic and why choose it?

Ionic is a framework based on Apache Cordova or Capacitor and one of the three most popular Frontend Frameworks (Angular, React or Vue). It helps us build beautiful apps with less effort for multiple platforms like: Android, iOS and Web. So… yes, we can just know one Frontend framework, HTML and CSS and we’re good to go into creating new mobile apps.

Write once deploy everywhere!

One of the best things is that Ionic offers you UI components, easy to use and design friendly to the platform specific. That means you can have the alert from iOS for the iOS apps and the Android alert to the Android apps. But that’s not all, you can also force one view on the other platform, so if you have a design in mind or you like more a design over the other, you can force it and show the people from Android how awesome the iOS widgets are or to give a glance for the Apple family how beautiful Google has made it’s operating system.

Beautiful, right? You can check more on their website and see how smooth they are Ionic components.

Now comes the questions regarding native stuff, the real problems.

I heard about hybrid apps and I saw Ionic can be used. I saw that they have some awesome UI components, but I want to have a more complex business logic than some buttons and an image! Can we use some native stuff like camera, bluetooth and some push notifications?

The answer is YES! We have native plugins!

We have native plugins from Cordova or Capacitor! There are a lot of community Cordova plugins, but some of them seem to be outdated. Capacitor is created by Ionic and maintained by them and also by some good programmers. You can build your app with Cordova but also you can not use Capacitor plugins. The happy part regarding Capacitor, it should be better/faster/newer and also you should be able to use Capacitor plugins together with Cordova ones. Not all may be compatible, but hey, some of them are working.

How does Ionic work?

Ionic apps are basically serving your static files after building your app on your local system (on your phone) by using a “browser view” of the app you created, but without the toolbar and address bar. So if you are wondering if that means you are just writing a SPA and “hosting it” on a phone. When the user opens the app, it will work like you are accessing your localhost:4200.

This is the part for the UI components, now how do the native plugins work? Writing a native plugin means you have to implement it for Android and iOS and afterwards make a way to comunicate your app. So the user will write once and deploy their app everywhere.

Nothing can be perfect, what’s wrong with Ionic?

Well for the beginning hybrid apps, especially Ionic have limits. For example if you have some complex business logic which you want to be on point and you can not change your ideas based on the technology you use, then Ionic should not be the choice for you. Also be sure before you start, to check if every native feature you need is available and doesn’t have any major issues opened. This might be a main blocker if you are missing some native feature.

Looking at the Ionic components you will see that if you want to update the design and implement some S.F. design with awesome animations, then Ionic might not be the perfect option for your project.

Also keep in mind you are writing a SPA not a native app, that means it runs in a browser and that might affect your app smoothness and may be lagging. And nobody loves an app which flickers, lags… or worse it crashes because of some memory issue.

Conclusion

I can not be the one who makes the decision for you, but in my opinion you can ask yourself some quick questions and then make a decision.

  • Do you know only Angular and want a mobile app? ✅
  • Do you know React and want a mobile app? ❌ I would suggest to go with React Native, performance is better.
  • Do you have complex business logic? ❌ Go try another Technology, like Flutter or React Native.
  • Do you want a fast and easy app? ✅
  • Do you have a complex UI an animations? ❌ Try and go with Flutter for a lot of animations!

Best advise, try make up your mind after these questions, read another blog maybe and create a POC (Proof Of Concept) making an prototype of you app and see if you can make something you like a lot in 2-3 days. If yes, then you have found your answer! Congrats 🎉🎉🎉

Claudiu Lazar
Claudiu Lazar I am a software engineer. I am playing with things like SAP Commerce to Docker, from Traefik and networking to Angular and Spring Boot, from SEO to styling and photoshop. I love programming ♥️.

Leave a Reply

Your email address will not be published. Required fields are marked *