Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.
$0
HAProxy Community Edition
Score 9.3 out of 10
N/A
HAProxy Community Edition is a free, open source reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is presented as suited for very high traffic web sites.
$0
Kemp LoadMaster
Score 8.9 out of 10
N/A
LoadMaster from Kemp Technologies in New York is an application delivery controller.
Setup is easier and more straight forward on the Kemp. While I am a technical person and can setup HAProxy for the client's needs, it would be difficult for the client to manage the configuration themselves.
Flutter by Google is well suited where you have to make an app across multiple platforms like iOS, Android, Web, Desktop and you don't have the bandwidth to create multiple teams for the Native app. This makes sure you have a faster development and you don't have to worry about how your product will look across different platforms. It is also very smooth/fast in response, making it close to feel like a Native app, this makes it an easy pick for a Fintech product where speed matters. Flutter by Google also has a huge library of Components, which are well tested and developed by Google's Flutter by Google team itself, making the development even more fast since the majority of required components are already available.
It prevents a single server failure from being a downtime event by adding redundancy to every layer of your architecture. A load balancer facilitates redundancy for the backend layer (web/app servers), but for a true high availability setup, you need to have redundant load balancers as well. So it is well suited for all production related servers and less suited for individual servers that do not require redundancy.
Loadmaster is very powerful and flexible load balancer. Variety of options allows to create a complex network of rules and routes. During our website rollout Loadmaster allowed us to run multiple generations of the website simultaneously and seamlessly by doing the content switching on the fly. Powerful API allows easy integration into any development lifecycle.
Where the LoadBalancer excels is the multiple levels at which you can load balance servers. We currently use layer 7 LB, but others are available as well.
I particularly like the ability for the LB to know when servers are down, and if all are offline then you can create a redirect to a static HTML page or some other destination that is more informative.
The ease in which a service can be created and deployed using already pre-canned templates makes it a very convenient setup process.
Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good.
While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for.
Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability.
Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis.
A few, rare times each year, HAProxy CPU utilization spikes to 100% and server has to be rebooted - this may be related to HAProxy OR it could be an external factor causing this.
Flutter by Google is very easy to start with. The initial setup they provide is very helpful and easy to understand. The default project setup is also good and can be deployed to production without changing much. Flutter by Google provides a huge library of components, which are created and tested by their own team, making the development of application much faster and robust. Flutter by Google also has a huge community support where we can find components built by the community and we can contribute our own components as well, which helps in faster dev time. Applications developed using Flutter by Google are very smooth, almost feels like native, which helps in creating good impression on customers/clients.
It is very easy to use. I was able to find a lot of documents for it on the internet. Very good community support. There are lots of examples available to try. We mostly use a command-line user interface to interact with it. The CLI is also super easy to use and very easy to interact with
Kemp makes it very easy to setup, configure and manage the LoadMaster without needing a lot of help from their engineers. The interface is very easy to understand and intuitive to use. We like how it is not complicated - I can easily have one of my techs login and they can figure out how to setup/configure virtual services for load balancing without needing a manual or tech support.
We haven't used customer support. We mostly used the community version. We build a multi-node HAProxy cluster with HA to the proxy itself using opensource plugins available. With the support available on the internet and the documents available we don't need to use much customer support.
Support has been easy to deal with; I have only need[ed] to contact them a few times during setup. Once its been in place and operational, we have not need[ed] to mess with the system [which] is a huge advantage. I like system[s] that do not break and require constant attention in a production environment.
I have experience with react and React Native. I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
We chose HA Proxy because it is cheaper than a hardware balancer, it is an open-source solution with a large community behind it and with constant updates. It also allows custom scripts according to needs.HA Proxy is a solution used in many internet sites like GitHub, Reddit, Twitter, and Tuenti.
We chose Kemp LoadMaster because it is 1/10 the price of the competition and MUCH easier to deploy and configure and WORKS. We have had ZERO issues with the product since installation. Their engineers and their sales team have both reached out post-install to check in and see if everything is working as expected.
The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams.
Free and open licensing made adoption very easy (ie. free/low cost!).
In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially.
Significantly lower investment vs competitors. In the case of F5s we have Virtual Editions so we're paying for the hardware to run it on top of the several thousand dollar licenses that are required for each pair and we currently have a pair of F5s per client so there's a huge potential for cost savings there.
Requires our network engineers to learn a new skill or our Systems engineers to take on the responsibility of managing the load balancers. It's not a huge difference either way, but it does impact the way we have done business in the past.
We used Kemp LoadMaster for many projects. For a lot of customers, load balancers were too expensive or too complicated before we introduced Kemp products.
It's not a overly complicated product, so we were able to train many engineers on it and have them get a certification.