Developers
September 18, 2020

What Does a Dart and Flutter Developer Do?

Google’s foray into cross-platform development is a big hit, and for good reason.

Gone are the days of focusing on a single platform for software development. In the modern development landscape, cross-platform is king.

With the rise of mobile computing, tablets and smartphones are more important than ever before. In addition, once on life support, the Mac platform is stronger than ever and will continue to gain ground as Apple switches to its own custom processors. Linux continues to have its supporters, while Windows still commands the lion’s share of the market.

With the increase of available and widely used platforms, companies ignore cross-platform development at their own peril. Despite the need for it, however, building cross-platform apps has historically been a challenging proposition. Using traditional methods, developers needed to be proficient in the best languages and frameworks for each target platform.

In recent years, however, a number of languages and frameworks have sprung up to make cross-platform development easier than ever. Two of these technologies are Dart and Flutter.

What Is Dart?

Dart is a programming language created by two Google developers in 2011. Google designed Dart to have a C-style syntax. As a result, developers who know Java, C, and C++ will be able to pick up the language relatively easily.

Dart is a general-purpose, object-oriented language. Much like Ruby, everything in Dart is an object, even the values assigned to variables. Because Dart is relatively new, it has many features and paradigms one would expect from a modern language.

One such feature is concurrency support. Concurrency is a program’s ability to run different parts out-of-order. The end result is usually a significant speed boost, as multiple functions can be run simultaneously, rather than consecutively.

Dart also includes garbage collection. Garbage collection is a type of automated memory management where the language will reclaim memory from objects that are no longer being used.

Dart was originally designed to be run on a server or in a browser. As a result, it can be transpiled to JavaScript and will run in any web browser, without any additional modification. The Dart VM provides a way to run standalone, command-line software, including servers, scripts, and other programs.

If this sounds familiar, it probably should. In many ways, Dart seems like a JavaScript replacement. While Google has never publicly commented on it, many in the industry suspected that Dart was an attempt to eventually replace JavaScript entirely. If that was Google’s initial goal, it never gained much traction, as developers continued to prefer JavaScript. In fact, Dart may have remained relegated to an interesting, but the unnecessary, the language had the Flutter framework never been invented.

What Is Flutter?

Flutter is an open-source UI toolkit created by Google. Version 1.0 was originally released in 2018. Flutter is almost inextricably bound to Dart, having been written using the language.

Flutter is designed to help developers create applications for Android, Google Fuchsia, iOS, Linux, Mac, and Windows. Flutter does not use native controls, as some cross-platform frameworks do. Nonetheless, it has two sets of widgets, one that conforms to Google’s Material Design guidelines, and a second that conforms to Apple’s iOS Human Interface Guidelines. This ensures that mobile apps have the same look and feel as those created with the built-in APIs, even if the framework does not actually use the native controls.

Because of Flutter’s close ties with Dart, apps built using the toolkit rely on Dart’s compilation paradigms. For apps targeting Linux, macOS or Windows, it relies on the Dart VM and Just in Time (JIT) compilation. In contrast, mobile apps use ahead-of-time (AOT) compilation. This ensures apps for Android and iOS feature the best performance possible. While native apps usually have an advantage, Flutter’s speed is good enough that it can be used for high-intensity applications and may even surpass native apps in some cases.

What Does a Dart and Flutter Developer Do?

As can be seen above, Dart and Flutter can be used for the entire gamut of development. Dart is ideally suited to web development, with the ability to run on the server or in a browser. The latter can be done without any modification or compatibility issues.

Similarly, the Flutter toolkit is a powerful option for developers looking to create software for Android, Google Fuchsia, iOS, Linux, Mac, and Windows. Few other options provide such a breadth of cross-platform support, not to mention the high-level performance Flutter provides.

As of the time of writing, Dart ranks 24 on the list of most popular programming languages, an impressive feat given its relative youth. In addition, the language didn’t really take off until paired with Flutter, further highlighting its impressive rise.

Given Google’s backing, and the role the language and framework play in Google’s own development efforts, it’s a safe bet that learning Dart and Flutter will pay off in the long run.

TagsDartFlutterDeveloper
Matt Milano
Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles

Back
DevelopersSeptember 18, 2020
What Does a Dart and Flutter Developer Do?
Google’s foray into cross-platform development is a big hit, and for good reason.

Gone are the days of focusing on a single platform for software development. In the modern development landscape, cross-platform is king.

With the rise of mobile computing, tablets and smartphones are more important than ever before. In addition, once on life support, the Mac platform is stronger than ever and will continue to gain ground as Apple switches to its own custom processors. Linux continues to have its supporters, while Windows still commands the lion’s share of the market.

With the increase of available and widely used platforms, companies ignore cross-platform development at their own peril. Despite the need for it, however, building cross-platform apps has historically been a challenging proposition. Using traditional methods, developers needed to be proficient in the best languages and frameworks for each target platform.

In recent years, however, a number of languages and frameworks have sprung up to make cross-platform development easier than ever. Two of these technologies are Dart and Flutter.

What Is Dart?

Dart is a programming language created by two Google developers in 2011. Google designed Dart to have a C-style syntax. As a result, developers who know Java, C, and C++ will be able to pick up the language relatively easily.

Dart is a general-purpose, object-oriented language. Much like Ruby, everything in Dart is an object, even the values assigned to variables. Because Dart is relatively new, it has many features and paradigms one would expect from a modern language.

One such feature is concurrency support. Concurrency is a program’s ability to run different parts out-of-order. The end result is usually a significant speed boost, as multiple functions can be run simultaneously, rather than consecutively.

Dart also includes garbage collection. Garbage collection is a type of automated memory management where the language will reclaim memory from objects that are no longer being used.

Dart was originally designed to be run on a server or in a browser. As a result, it can be transpiled to JavaScript and will run in any web browser, without any additional modification. The Dart VM provides a way to run standalone, command-line software, including servers, scripts, and other programs.

If this sounds familiar, it probably should. In many ways, Dart seems like a JavaScript replacement. While Google has never publicly commented on it, many in the industry suspected that Dart was an attempt to eventually replace JavaScript entirely. If that was Google’s initial goal, it never gained much traction, as developers continued to prefer JavaScript. In fact, Dart may have remained relegated to an interesting, but the unnecessary, the language had the Flutter framework never been invented.

What Is Flutter?

Flutter is an open-source UI toolkit created by Google. Version 1.0 was originally released in 2018. Flutter is almost inextricably bound to Dart, having been written using the language.

Flutter is designed to help developers create applications for Android, Google Fuchsia, iOS, Linux, Mac, and Windows. Flutter does not use native controls, as some cross-platform frameworks do. Nonetheless, it has two sets of widgets, one that conforms to Google’s Material Design guidelines, and a second that conforms to Apple’s iOS Human Interface Guidelines. This ensures that mobile apps have the same look and feel as those created with the built-in APIs, even if the framework does not actually use the native controls.

Because of Flutter’s close ties with Dart, apps built using the toolkit rely on Dart’s compilation paradigms. For apps targeting Linux, macOS or Windows, it relies on the Dart VM and Just in Time (JIT) compilation. In contrast, mobile apps use ahead-of-time (AOT) compilation. This ensures apps for Android and iOS feature the best performance possible. While native apps usually have an advantage, Flutter’s speed is good enough that it can be used for high-intensity applications and may even surpass native apps in some cases.

What Does a Dart and Flutter Developer Do?

As can be seen above, Dart and Flutter can be used for the entire gamut of development. Dart is ideally suited to web development, with the ability to run on the server or in a browser. The latter can be done without any modification or compatibility issues.

Similarly, the Flutter toolkit is a powerful option for developers looking to create software for Android, Google Fuchsia, iOS, Linux, Mac, and Windows. Few other options provide such a breadth of cross-platform support, not to mention the high-level performance Flutter provides.

As of the time of writing, Dart ranks 24 on the list of most popular programming languages, an impressive feat given its relative youth. In addition, the language didn’t really take off until paired with Flutter, further highlighting its impressive rise.

Given Google’s backing, and the role the language and framework play in Google’s own development efforts, it’s a safe bet that learning Dart and Flutter will pay off in the long run.

Dart
Flutter
Developer
About the author
Matt Milano -Technical Writer
Matt is a tech journalist and writer with a background in web and software development.