Skip to content

Research Frameworks

There are many different frameworks that can be used to create apps, we’ve looked into multiple “Hybrid” frameworks that will allow us to use one code-base to deploy to multiple platforms. The five platforms that we’ve looked into are Flutter, React Native, and Xamarin

Requirements

  • The framework must have the ability to work with Bluebooth using one single integration; No platform specific code.
  • The framework must work on Windows, Mac, and Linux for development.
  • The framework must be easy to get started with due to the time limit for this project.

Frameworks

Flutter

Flutter is a framework initially created by Google in 2017, it uses Dart. Flutter apps are highly performant but as the platform is relativly new, it may not be as stable or mature as other platforms.

Flutter seems like a great platform with very good documentation, but the “FlutterBlue” library that can be used to manage Bluetooth has not received updates in years and there are lots of issues with no response to them; It seems like the project is not maintaned a lot anymore. Besides that, it seems like Flutter is a good platform to use. One of the big drawbags though would be that it uses the Dart programming language, and nobody on our team has ever used it before. Due to the time limit on the project we have to weigh this as a problem.

React Native

React Native is a framework created by Facebook in 2015. It uses Javascript and thus has a lot of libraries ready to use, it has a big and active community that can help with any issue that we may face.

Reacht Native is a growing platform, it has lots of documentation, and lots of libraries because it uses Javascript and a big community around it. The “ble-manager” library seems to be active and development for the platform works on every device.

Xamarin

Xamarin is a framework released in 2013, it was acquired by Microsoft in 2016. It uses C# and thus has a lot of plugins ready to use. Our client, Stephear, also uses this framework for their Mobile application.

After creating a test application using Xamarin I noticed a few things, first, it requires Visual Studio, and that is only usable on Windows & Mac. My personal machine users Linux and could not install it without a lot of work-arounds so I had to use Windows intead.

After setting everything up and downloading the Bluetooth LE library, I notied that it uses a very old version of .NET that is no longer receiving any security updates, there are pre-release versions for newer platforms that but running pre-release software is not desirable. So combining the two leads me the not recommend Xamarin for our POC.

Conclusion

After looking into the different platforms, React Native would be the best fit for the POC application, because it uses Javascript the barrier to entry is low, and because it has multiple maintained Bluebooth packages it seems to be the best framework.


Last update: April 20, 2023