What is Ionic?
Sounds too good to be true? As with most technologies, Ionic is not the ultimate solution to all projects' software development problems. So let me get you started with this mini rundown of its possibilities—the good and the bad.
- Small bundle size Can be deployed as a web application first (PWA), a native mobile application, or an installable desktop application (or even on your refrigerator, if it’s a smart one with a web browser) Excellent code portability and reusability between the API and administration panel, which saves a lot of time and helps with the cohesion of the system
Now if you want a more comprehensive explanation, don’t stop reading. :)
Why choose Ionic?
Here at software development house Arcanys, we love working with Ionic because it covers a lot of groundwork for multiple platforms with the minimum amount of effort, manpower, and time. We’re not saying that all Ionic applications are perfect because there are still many variables that can affect an application’s performance, the top of which is the quality of the code. If you’ve written decent code, however, even if you only have basic knowledge of Ionic, you’d still end up with a pretty decent Ionic application.
Mainly, Ionic has the following benefits.
Overall, Ionic is a good solution to reduce the cost of development because with one codebase we can develop a responsive app for the web, desktop, and mobile, all at the same time.
On the other hand, when developing using native language, a company will need 2 development teams—one for Android and another for iOS, doubling the cost of the application’s development and maintenance.
2. Same code, same features
Ever wondered why many iOS and Android versions of your favorite apps are not the same? That’s because most of them were coded and developed separately. With Ionic, however, there is no need to code separately and "synchronize" features between the Android and iPhone versions of the app as they will always be the same.
Obviously, Ionic is not meant to create highly intensive apps like games or augmented reality (think Ingress or Pokemon Go). Ionic apps will run fine in web view, which is a full-screen web browser. However, if it needs access to other features on your phone, such as the camera, it would have to be via bridges or plug-ins.
Now, for most service apps, it performs very well. Based on our experience, usually, what we saw is most performance problems come from a lack of understanding of the underlying framework and web performances in general. Developers try to load the data in bulk instead of lazy loading them, or the images are not optimized properly.
4. Availability of resources
Moreover, it is possible to develop Ionic with Angular, React, and Vue.js. In fact, this year, Ionic saw an ascending trend in adoption from React and Vue.js developers. Consequently, with Ionic, it would be very easy to find professional resources to scale your team. At Arcanys, we choose Ionic because it offers good flexibility and scalability in our development teams.
5. Cross-functional team
6. Expert-level support & our experience
Not really sure how Ionic would work for your software project? Well, the Ionic team also has some paid plans with expert-level consulting or immediate support for your projects.
Moreover, here at Arcanys, we have great experience in developing Ionic applications. In fact, we have recently worked on a B2B sales and CRM application called Koobani and the leading Australian registration platform for sports events RegisterNow as well as on a B2C sales app for on-the-move representatives, a food ordering app, and a workout tracking application. How about you? Tell us about your project to start working on a solution with top-rated Ionic software developers.
How does Ionic compare to other frameworks?
With tons of web and app frameworks out there to choose from, how does Ionic really fare against others? Well, here’s a comparison of Ionic against 2 other popular cross-platform web & mobile development frameworks, and of course, the old school way of going Native. (* shudder)
Ionic vs React Native
React Native is a bit different from Ionic. It can't be developed in anything other than React (so no Angular or Vue.js). Also, it’s compiled in native code, so it doesn't execute in a web browser like a regular app. The consequence of this is better performance, but at the cost of a bigger bundle size (a React app will weigh 5 or 10MB instead of 1 or 2MB for the same app in Ionic). And as React is an absolute must-have, the community is smaller than Ionic, which can be developed by React, Angular, and Vue.js developers.
Still, we understand that React Native is a framework that is appreciated by the community, and it has proven its ground already. So if it’s the best framework for your project or simply your preference, we'll also be happy to help you with any development in React Native. Just connect with our co-founder to find out how we can help.
Ionic vs Flutter
Flutter is the new kid on the block. It's a Google initiative, and it comes with great performance. It's also fully cross-platform. It comes with a few downsides, though, which makes it barely recommendable.
The first one? It’s a Google project, and Google has a bad reputation of killing their projects without warning and not bothering to give any support to boot. But Flutter is an open-source project also developed by the community, which may give it a chance to survive even without the support of Google. It’s also a very young project and still needs to secure its place among bigger, more established names. You may argue that Angular is also a Google initiative, and I agree. But it was created 10 years ago and has been vastly adopted by the community. Flutter, on the other hand, is only 3 years old and almost nobody uses it.
In the end, I guess it falls in the hands of the community to validate it by following this trend or not. Personally, I don’t want to invest any more time learning new languages that are not portable and somewhat future-proof. Instead, I prefer to invest my time learning tools that are cross-functional and highly transferable from one project to another.
Ionic vs Native
As already mentioned above, we don’t recommend going native anymore, except maybe in the rare cases where you need the absolute best performance for an application or game that is heavy on animations, 3D rendering, or augmented reality.
Sure, native apps may have excellent UI consistency, have seamless performance even if they’re animation and AR heavy, and their platform SDK may ensure smooth access to the device's API. In comparison to cross-platform apps, however, the pros still don't outweigh the cons.
In my opinion, the cost of maintaining and developing native applications is not worth it anymore. Not only is it a hassle to keep 2 teams but it's also very expensive to find and recruit good native iOS or Android developers. And they are hardly cross-functional, which gives you limited choices.
On the whole...
Ionic is far from a perfect framework and does have some drawbacks for certain development projects. It, however, offers you not only a cost-efficient choice but also quite a flexible one since it’s open-source, 100% free, and is one the most popular cross-platform mobile frameworks today with a growing community of developers for support. An overall software development strategy must be flexible so when better tech does come along, it’s ready to pivot with the minimum of hassle and pain. But for now, and especially with the release of Ionic 4, it undeniably has more benefits than flaws and so it is a worthy choice when it comes to most (if not all) mobile and web development.
Do you have any other questions about web & mobile development? Feel free to shoot us an email at arcanys.com/contact.