As an app developer in Singapore, one of the most commonly asked questions from clients, aside from app development cost, will be what kind of mobile app technologies are available and which should they choose.

The commonly heard buzzwords would be “native app”, “hybrid app” or “cross-platform apps”.

What exactly do those words mean?

Non-techies would have a hard time figuring out from Google, so this article will summarise what those are, what they mean, what are the differences, and how to choose one.

Now, these are mobile app development frameworks. They help app developers like us develop mobile apps with a different set of programming languages and codes.

In other words, there are many ways to build a mobile app, and it is up to the preference of the app developer. In addition, it also depends on the requirement of our clients.

What are the types of mobile app development frameworks?

Understanding in greater details will help our customer find the best solution to their business needs. Some business requirement will require native solutions whereas, for others, hybrid apps will suffice.

Here, we will be listing out the different types of mobile app frameworks, their pros and cons, and in what situation will we choose them.

Of course, the opinion of every app developer is different and there is NO right or wrong answer.

Ionic App Framework (Hybrid App)

Ionic app framework is an open-source hybrid app development framework created by Max Lynch, Ben Sperry and Adam Bradley. They are from Drifty Co. and launched ionic app framework in 2013. 

Essentially, Ionic allows app developers to develop mobile apps using web development languages!

This is a huge step considering learning app development has been a challenge. Moreover, you can write both Android and iOS apps with just a single language.

Ionic uses something called Cordova, which is a system that allows the mobile device to package a website into a mobile app. Therefore, ionic apps are actually a website wrapped inside a mobile app.

Capacitor is being used to access native operating system features such as the Camera, NFC, Flashlight, or GPS location.

All in all, it is a lightweight mobile app development framework and is good for MVP projects.

If you are an aspiring app developer from a web development background, this is a good start for your app development journey.

Here is a table for comparison:

Advantage Disadvantage
Easy to Learn Not the Best Performance
Lower Costs Heavy Graphics Not Recommended
Web Development Language Is Essentially a Website
Write Once, Run Everywhere Not All Plugins Are Supported
Able to use frameworks like Angular, Vue, React Not As Secure as Mobile Apps

When should you use Ionic?

You should consider using Ionic apps when you are on a tight budget and timeline. Although it is not the best performing app, it serves as a great start for companies looking to ship a product quickly. 

If the app is not too complex, ionic is a very suitable framework. For more complex applications, do check out the other frameworks.

React Native Framework (Cross-Platform)

React Native is an open-source application development framework released by Facebook in 2015. This enables developers to use React in their mobile app development.

As compared to other platforms, React Native renders native elements in their mobile apps.

This means that it is a REAL native app although it is being written using Javascript.

In layman terms, React Native acts as a “translator” to the mobile app. By writing Javascript, it helps the app developer translate Javascript into native modules.

React Native is also available for both Android and iOS. From what we have learnt, react native has a slightly steeper learning curve.

Since react native is built by Facebook, it is a very trusted mobile app framework. Apps by Facebook like Instagram, Ad Manager and Facebook all run on react native.

However, from our experience, if a developer is not well-versed, the application might not have the best performance. The developer has to complete the mobile app with the best practices for optimal performance.

Table for Comparison:

Advantage Disadvantage
Build Fast Less Smooth Navigation
One Framework, Multiple Platforms Lack Custom Modules
Hot Reloading Native Knowledge Needed at Times
Simple UI Steep Learning Curve
Large Community Managing Memory

Flutter (Cross-Platform Framework)

Flutter is an open-source UI app development kit. It is created by Google in 2017, making it one of the youngest in the bunch.

Flutter can be used to develop applications for Android, iOS, Windows, Mac, Linux and even the web with a single codebase.

Flutter is being written in Dart. Therefore, it means that in order to learn flutter, you will have to understand a new syntax and progrmaming language called Dart. From what we have seen, there are not many other applications for Dart other than for Flutter.

The rendering rate for Flutter is 120 frames per second constantly, which is a huge achievement for mobile apps. 

This means that Flutter offers very high performing mobile apps.

Flutter renders its own widgets in native code, which also means that it is a native app but not the natural native elements. 

Performance, design and animation are the priorities of the Flutter team. They also have a very informative community on YouTube that constantly posts videos for educating about the framework. 

Flutter is the preferred app development framework for SleekDigital. We prefer it over the other competitors in terms of the flexibility, performance and code structure.

Comparison Table:

Advantage Disadvantage
Fast Development Similar UI in all platforms
Custom, Animated UI of any Complexity Limited TV Support
Hot Reload Limited Libraries (But Improving)
Write Once, Run Everywhere
Close to Native Performance

Conclusion

Now that you have known the main app development frameworks available in the market, you can choose which framework suits your needs best.

Although it might seem like there are many factors for choosing a framework, ultimately it is up to the developer. In other words, some developers are very good at flutter while others can build a similar performance app with Ionic. 

It boils down to the skills and experience of the developer. 

Although SleekDigital is biased towards Flutter, there are app development companies out there that are able to build stronger mobile apps with React Native.

If you need any help selecting a mobile app framework, feel free to drop us an enquiry and we are more than happy to help you break down each framework!