Flutter Language

April 4, 2023

cesla

by Felipe Silva
Tech Lead Cesla

Leader in the development of systems for Safety 4.0, Cesla is going through a transformation process and just with this moment, is making adjustments and improvements daily to offer the best possible experience for our customers. Since 2021, Cesla has chosen to adopt the Flutter language as its main development platform for hybrid mobile and web applications. But first, let's put into context what we use, challenges, and why we made this choice.

THE CESLA PLATFORM

Cesla is a platform for the Safety Workplace Safety market with an eye towards Industry 4.0. Our platform was developed by a risk engineering team with over 20 years of experience in the national and international safety and emergency market, based on the "operational pains" experienced daily in the industry, such as excessive paperwork, loss of operational time of those involved, guarding and preservation of documents and constant breaches of compliance(www.cesla.ind.br)

Our solutions enable effective security management in the companies where it operates, contributing significantly to increased productivity and guarantees of compliance, safe behavior, and sustainability.

Our products:

  • APR (Preliminary Risk Analysis) and Electronic PTs (Work Permits). 
  • Inspections and Checklist 
  • Hive: Contractor (Third Party) Management 
  • Incident Reports and Behavioral Deviations 
  • Lotto (Lockout & Tagout) 
  • Confined Spaces and Restricted Areas Management
  • Training Management (face-to-face and e-learning) 
  • Controls of PPE, EPCs and Tools 
  • PAE (Emergency Response Plan) 
  • Project Management

To build these products, we have a technical team with a high knowledge of what best fits between technology and business. Based on structured processes, after the ideation and mapping of what the product will contain ( https://cesla.ind.br/afinal-o-que-e-lean-inception/) we go to the technology choice phase. And for this, we carry out a process of R&D (Research and Development), where we gather our team to evaluate some characteristics of the technologies that best fit to solve a given problem. 

Some of these characteristics are:

  • How much content is there about this technology?
  • How is the acceptance of this technology by other companies?
  • Are there forums and discussions about?
  • What would be the learning curve in relation to the employees we have today?
  • Will we need outside help?
  • Is there a company or organization behind the technology?
  • Is there good official documentation?
  • Are there any successful cases?
  • Are there professionals with ease in the market?

We need to find answers to these and other questions to ensure that our technical choice is more assertive.

Here, some of the technologies we use in our products:

IONIC

https://ionicframework.com/

  • Enables you to develop cross-platform mobile applications (iOS, Android, and Windows) with just one source code
  • Uses common web technologies (HTML, CSS and JavaScript) for development, which makes it easy to learn and hire developers
  • It has a large community and a lot of resources and documentation available

PHP

https://www.php.net/

  • Widely used and with a large community, which guarantees a large amount of available resources and documentation.
  • It enables the creation of complete web applications, including back-end, front-end, and database.
  • It enables the use of several libraries and frameworks, which makes development easier.

CHALLENGES

A few years passed and then other challenges arose. From a technical point of view, we were faced with the following:

  • Cross-platform application development
    We needed to meet this requirement, as customers wanted to access our solutions on Android/IOS and some on the Web.
  • Attractive and lively user interface
    We understand that users would like a more friendly and intuitive interface.
  • Developer productivity
    Our technical team was already reporting difficulties in system maintenance for N reasons, one of them was updating libraries, which easily caused errors and unexpected problems.
  • Testing and debugging
    We needed something more practical for building automated tests and pointers to help fix bugs.
  • Performance
    Our users were reporting performance problems on more modest devices as well as large numbers of users synchronizing at specific times.
  • Operation part offline

Part offline operation and the challenges of synchronization with low quality internet;

APIs with other systems

  • Interfaces with other market ERPs facilitating the integration with human resources, maintenance OMs, access controls, AD (Active Directory);

THE FLUTTER

Flutter(https://flutter.dev/) is a tool that allows you to create applications for smartphones (Android and iOS) and other mobile devices. It is developed by Google and allows developers to create applications with a single code base, which means that you can create an application and use it for both iPhone and Android. It also allows you to create attractive and animated user interfaces, making apps more interactive and easy to use. 

In short, Flutter is a tool that helps companies and developers create high-quality, beautiful mobile applications that work on different platforms.

Flutter has gained popularity among developers due to its ease of use, performance, and ability to create user-friendly interfaces.

[A cool video explanation]

Flutter // Programmer's Dictionary

[If you want to learn, why not?]

The First Flutter Class Everyone Should Take

WHO USES FLUTTER

I bet you have some of these applications installed on your cell phone:

  • Google (yes, the creator himself uses the product - Google Ads is one of them)
  • IFood
  • Nubank
  • Fifth Floor
  • Digital Road Book
  • XP Investments
  • Will Bank
  • Bank BV

THE BENEFITS OF USING FLUTTER IN CESLA

Cesla decided to use Flutter because of its benefits over the other technologies they were already using. One of the main advantages is the speed of development, since Flutter makes it possible to create mobile and web applications using the same code base, thus reducing development time. This was especially important for Cesla, as the company has a large number of ongoing projects and needed a platform that would allow them to develop these projects quickly and efficiently.

Another advantage of Flutter is its ease of maintenance. Cesla was already using other technologies such as React, PHP and Ionic, and the developers reported difficulties in maintaining these systems. With Flutter, these difficulties were practically eliminated, since the platform has a simple and intuitive structure, making the maintenance of the systems easier.

Another benefit obtained by Cesla with the implementation of Flutter is the possibility to integrate systems with IoT (Internet of Things) easier and faster. This was possible due to the fact that Flutter has native support for mobile and web devices, thus facilitating the integration of systems with IoT. This was especially important for the Cesla platform, as the company is always looking for new technologies.

Flutter's performance was also compared positively with other technologies, such as React, PHP and Ionic. Flutter had better screen refresh rates and faster response time than React, and its ease of use and web application development capabilities were superior to PHP. In addition, Flutter was able to offer better performance and IoT integration capabilities than Ionic.

Thus, in addition to the benefits mentioned, Cesla's customers will benefit from more user-friendly and modern systems, and a greater cadence of new features in the products.

CONCLUSION

Today, we are very pleased that the choice of Flutter for new projects directly reflects Cesla's moment of transformation. We will reap many benefits from this choice and we are aware of the possible challenges it may bring.

One thing is for sure: we keep an open mind to constantly learn and evolve.