4 Essential Flutter Tools for App Developers | by DKATALIS | DKatalis | Apr, 2022

Each artisan has her or his favorite tools.

It could be one very sharp scissor for the hairdresser or a favorite brush for the painter. These are the essential items that help them do their job smoothly and boost the result’s quality at the same time.

As for a software engineer who primarily works with Flutter, what tools should you have?

In DKatalis, where Flutter is the main SDK, our engineers have built an arsenal of tools that help their app development projects run as efficiently as possible.

Here are 4 recommendations from our Tech Leads. Check them out:

Imagine this: you are working on a project with three teams. Each team only speaks a particular language: one only knows Indonesian, the second one speaks exclusively English, and the last one only knows Chinese.

That’s what you might have to face in a tech company. A team can comprise developers, project managers, testers, business analytics, and all other team members. For everyone to be involved and work productively, there should be a natural language that they can understand.

Dart is now heading towards this goal. But for tests, there is already a language for that! It’s called Gherkin. But how can we test a Flutter app with Gherkin?

bdd_widget_test is a code-generation plugin for BDD-style (Gerkhin) tests for Flutter apps. Watch how it works in real-time in the video below.

You have almost finished building your Flutter app, and now it’s time for the golden tests.

You want to make sure that your app’s UI will not change even after adding more functionalities to your widget. But a Flutter app can have a ton of them, and each one might have different states such as error, progressing, or even exceptional. Testing each one of them will be a Herculean task.

This is where the golden_toolkit lib comes in handy: it will run the test for us.

Instead of installing a specific version of the Flutter binary each time, Flutter Version Manager (FVM) allows you to easily switch between flutter versions as you move between projects or just to test SDK upgrades within the mobile repository.

Additionally, they get cached, so we don’t have to go through the full installation process all the time.

Watch how it runs in this video below.

OSX comes pre-installed with Ruby. But trust us, you don’t want to use it for project development.

You should try using a version manager instead, especially if you’re juggling multiple projects! It would save you from the heartache of permission and other dependency incompatibility issues.

rbenv works by adding shims (read here for more details) and intercepting ruby-related commands. Note that simply running source ~/.zshrc does not appear to affect the changes — reopen your terminal to ensure that changes are applied. It also picks a Ruby version for your application and guarantees that your development environment matches production.

But remember, in order for Flutter to work, cocoapods must be installed in the Ruby version that you have set for use globally.

Leave a Comment