Our main focus at Renuo is the development of web-based applications and our Swiss army knife for this is called Ruby on Rails. This web framework is reliable, stable and overall the best tool for this task. Since a few years, however, the demand for native applications has been increasing more and more. Accordingly, we had to expand our competencies in this area, so that our portfolio now also includes many native apps. Instead of using Ruby on Rails, however, we develop them with the new Flutter framework. In this blog entry I will show you how it came to this point and why we are so enthusiastic about Flutter. No boring comparison of different frameworks will follow, but a hymn to the Flutter gods!
Since the requirements for complex user interfaces have increased in recent years and the bar for user experience has risen, we have integrated React into most of our applications along with Ruby. Two current examples of this: At one11, the entire search and mapping functions were developed with React, and for Bio Suisse we delivered a very nice and modern interface thanks to the React component injected into a Rails application.
The applications we developed thus work perfectly on all devices: desktop, tablet and mobile. They are fast, reliable and very easy to update. Especially since there is the possibility to download an app over the internet instead of through the Google Play Store (Android) or App Store (iOS), our approach has proven to be successful.
That's why we started looking for a new solution and came across Flutter. This enabled us to expand our possibilities considerably. Now we are proud to be one of the first companies in Zurich (and Switzerland!) to offer the development of native apps with Flutter!
In the following, I will show you the three reasons that have made our experience with this new framework so positive:
1. The simple programming language Dart
2. Ready in no time with Flutter CLI
3. Android Studio for quick feedback
With our Ruby on Rails background, we were looking for an IDE that we would feel comfortable with. Android Studio turned out to be the perfect choice for us. Based on IntelliJ and with full support for Flutter applications, we had our first project up and ready for development with just one click! Android Studio also offers full support for Hot Module Reloading, the icing on the cake, so to speak. Every change we make in the code has an immediate effect on the application. It provides a much faster feedback loop compared to our experience with React Native. Also, Android Studio comes with full iOS support so we can always run our applications on iPhones. This is important because we develop all our applications for both systems.
What about Progressive Web Apps?
Progressive Web Apps (PWA) are usually a good solution: Many of our customers want to integrate a «native» experience into their web applications and make them available on mobile devices with a higher added value: That's why we always consider PWAs as a great option; but for us it is a must to be able to offer different solutions for different needs. Not all customers are the same and accordingly not all applications are the same. Our motto is therefore: Choose always the right tool for the right job! And when it comes to native apps, Flutter is our first choice!
(Header image from Chris Liverani via Unsplash)