Our new mobile app ManageBridge (Android | iOS) specifically designed for operators to manage their Everbridge instance has now been out for almost half a year. Everbridge Technology Blog (ETB) reached out to the leader of the development team, Allen Peng, to get a sense for what it was like going from a more conventional approach of a separate native Android and native iOS app, to the multi-platform approach of Flutter/Dart. Incidentally, in 2019 ETB co-editor John Maeda named Flutter as one of the most important ideas of the decade in Fast Company.
ETB: What drove you to get going with “FlutterBridge,” Allen?
Allen Peng: Two ideas in Flutter drove me to try it it out:
- One is the cross-platform interface idea. Flutter draws everything by itself and it can write directly to the screen buffer. It means that you can create any kind of visual interface with native-like performance on all platforms.
- Another important design of Flutter is the plugin framework. It means that you can extend an app’s functionality easily. Most hardware-related features, performance-restricted features, and existing 3rd-party libraries can be added into a Flutter project easily.
These two concepts have give me thefeeling that Flutter is more like one development platform and middleware — not just a frontend framework by Google. It help us to reduce the cost by letting us maintain one code-base to support multi-platforms.
ETB: What system does Flutter remind you the most of?
AP: I’ve been involved with cross-platform technologies for a while. Like React-Native, Xamarin/Mono, Cordova/PhoneGap, Titanium, Sencha, andMeteor. All of them tended to be based on native API/SDK or web technologies. When they’re based on native APIs like React-Native or Xamarin, it’s difficult to make customized experiences and to embed existing libraries. If it’s based on the web, the app’s performance will become a problem when it grows in complexity or it has hardware-related features.
“Flutter totally stands out.”
Technically, Flutter is more like the Android system — which leverages one VM to support cross-platform behavior and renders everything by itself. Dart is like Java, and run in its own VM. The plugin framework is like the JNI/NDK on Android, which can using C/C++ to write plugins for solving performance issues or for adding existing C/C++ libraries. But Flutter is extremely lightweight and much simpler than Android — it’s unusually easy to make an app or plugin in flutter.
A similar system would be “Monet,” which was an old project of mine. It had the same ideas within Flutter — using a scripting language for the user interface and it supported vector graphics. It also used C/C++ for its plugin architecture. Monet apps can run on mobile and on the PC, too. My early experiences on Monet helped me to understand Flutter better.
ETB: What surprised you about Flutter as a development environment?
AP: Flutter Web surprised me a lot! Flutter Web compiles the same code base to a single-page web app — enabling an app developers to easily implement a web app. So the same architecture and design ideas can be used for both standalone apps and for the web. From my point of view, it’s a brand new methodology for web development. The biggest benefit is cross-platform: one code-base can support web and other platforms.
ETB: Where do you hope Flutter makes more improvements as it evolves?
AP: I have high hopes for Flutter in two dimensions:
- Flutter Responsive: I hope Flutter will make more commonly usable widgets and layouts that work well across mobile, desktop, and web. If the user interface can adapt to each different platform automatically, it would be extremely helpful. Flutter should also give more guidance on how to make the cross-platform applications for desktop and web. One code-base driving fully adaptive user interfaces for all platforms would be simply amazing. :)
ETB: Thanks for the time, Allen!
Everbridge is hiring! We have many engineering positions now open and available across the world — come join us at Everbridge to help keep people safe and organizations running. Faster.
Everbridge, Inc. (NASDAQ: EVBG) is a global software company that provides enterprise software applications that automate and accelerate organizations’ operational response to critical events in order to Keep People Safe and Organizations Running™. During public safety threats such as active shooter situations, terrorist attacks or severe weather conditions, as well as critical business events including IT outages, cyber-attacks or other incidents such as product recalls or supply-chain interruptions, over 5,700 global customers rely on the Company’s Critical Event Management Platform to quickly and reliably aggregate and assess threat data, locate people at risk and responders able to assist, automate the execution of pre-defined communications processes through the secure delivery to over 100 different communication modalities, and track progress on executing response plans. Everbridge serves 8 of the 10 largest U.S. cities, 9 of the 10 largest U.S.-based investment banks, 47 of the 50 busiest North American airports, 9 of the 10 largest global consulting firms, 8 of the 10 largest global automakers, 9 of the 10 largest U.S.-based health care providers, and 7 of the 10 largest technology companies in the world. Everbridge is based in Boston with additional offices in 20 cities around the globe. For more information visit www.everbridge.com