Flutter, React Native, Ionic and Native platform: A visual guide

rubensdemelo on August 04, 2019

Cross-platform development has another big player: Flutter, the Google toolkit that allows us to create apps to iOS and Android (and soon to deskto... [Read Full]
markdown guide

Is the concensus that Ionic 4 (capacitor) has a slow Native Bridge?


Hey there! This is quite the opposite. The bridge layer between the webview and native APIs is fast, but has also never really been slow. There's a misconception that the native bridge is slow due to the fact that the plugins take a while to become available. With Capacitor, the plugins are loaded and bridge and created right at start up, so you can have a fast interaction between your JS code and native layer. Here's a small example just in terms of perceived startup time.


The splashscreen is only visible for a second before the actual app hides it on startup.

EDIT: If you're speaking about anything in particular, I'd love to know what issues you've faced and if you have a demo to look out.


Thank you for clarification. Would you suggest any adjust about Ionic?


The bridge itself is not slow. Rather it can be a bottleneck depending on how much data is sent thru it due to the serialization/deserialization. Think in terms of JSON.parse in the browser. Parsing a couple hundred records is fast, but if you try 50k records, then your performance suffer.


All cross platform frameworks have the weak point - plugins in terms of being up to date with all the platforms and changes, beside their own way of work-arounding adapting and fixing the framework to speed, size, performance, features. I've tried Flutter and Cordova (with released apps), and played with react native and native script. It is actually pretty expected to be hard. All platforms have their own things to be careful about.


I have never understood why every article on the web about Flutter suggests that learning Dart is a disadvantage. It's almost as if to use RN, Ionic or to go purely native you don't have to learn anything other than booting up your computer, or that every mobile developer (existing or new) on the planet already knows JavaScript, Kotlin, Java and Swift and therefore learning a "new" language is a disadvantage.

code of conduct - report abuse