Flutter Gems is a curated list of 5600+ useful Dart & Flutter packages that are categorized based on functionality.

Discord Medium LinkedIn Twitter

Top Flutter Python, Rust and Other Language Interface packages

Last updated: April 2, 2024

The quest for seamless integration between different programming languages is a never-ending pursuit. Developers often find themselves in situations where they need to bridge the gap between two languages to unlock the full potential of their code. One such integration that has been gaining traction is the integration of Rust, Python, Java and other programming languages in Dart & Flutter. One of the primary benefits is that they allow developers to use different programming languages together in a single project and developers can choose the best language for each component of their project, leading to more efficient and effective software development. For instance, a developer might choose to use Rust for building a high-performance core engine, Python for data analysis and machine learning tasks, and Java for creating a user-friendly interface.

Another advantage of language interfaces is that they enable code reuse. By using a language interface, developers can write code in one language and use it in another language, reducing the need to rewrite code and saving time and resources. This also promotes code sharing and collaboration among developers, as they can work on different parts of a project using their preferred programming language.

Furthermore, language interfaces can help overcome the limitations of a single programming language. Each language has its strengths and weaknesses, and by using a language interface, developers can take advantage of the strengths of multiple languages to create more robust and versatile software. For example, a developer might use Python's extensive libraries for data analysis and machine learning, while using Rust's memory safety features to build a secure core engine.

However, there are also challenges associated with language interfaces. One of the main challenges is the need for additional overhead in coding and maintenance. Developers need to write code that can interact with the interface, which can add complexity to the development process. Additionally, maintaining code that interacts with multiple languages can be more challenging than maintaining code written in a single language.

Another challenge is the potential for performance overhead. When using a language interface, there may be a performance cost associated with switching between languages. For example, there may be a slight delay when calling a Python function from a Dart program. However, this overhead is often minimal and can be mitigated with careful design and optimization.

The complete list of Dart & Flutter packages that can facilitate in integration of various programming languages is provided below.


js
Dart 3 compatible 👍 360
Maintenance Status: Good

Annotations to create static Dart interfaces for JavaScript APIs.

flutter_js Card Image
flutter_js
Dart 3 compatible 👍 281
Maintenance Status: Good

A Javascript engine to use with flutter. It uses Quickjs on Android and JavascriptCore on IOS

ffi
Dart 3 compatible 👍 243
Maintenance Status: Good

Utilities for working with Foreign Function Interface (FFI) code.

klutter
Dart 3 compatible 👍 52
Maintenance Status: Good

Write Flutter plugins for both Android and iOS using Kotlin only.

serious_python
Dart 3 compatible 👍 50
Maintenance Status: Good

A cross-platform plugin for adding embedded Python runtime to your Flutter apps.

flet
Dart 3 compatible 👍 45
Maintenance Status: Good

Write entire Flutter app in Python or add server-driven UI experience into existing Flutter app.

dartpy
Dart 3 compatible 👍 38
Maintenance Status: Good

A library for using dart with python via python's C API

rinf
Dart 3 compatible 👍 30
Maintenance Status: Good

Rust for native business logic, Flutter for flexible and beautiful GUI

jni
Dart 3 compatible 👍 30
Maintenance Status: Good

A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen.

lua_dardo
Dart 3 compatible 👍 26
Maintenance Status: Good

A Lua virtual machine written in Dart, which implements Lua5.3 version.

chaquopy Card Image
chaquopy
Dart 3 compatible 👍 95
Maintenance Status: Average

Chaquopy plugin which uses chaquopy sdk to run the python script on flutter apps.

flython
Dart 3 compatible 👍 58
Maintenance Status: Average

Use Flython to combine the power of Python with Dart. It was originally created to be used with Flutter but, it doesn't depend on Flutter and can be used in pure Dart code.

flutter_qjs
Dart 3 compatible 👍 29
Maintenance Status: Average

This plugin is a simple js engine for flutter using the 'quickjs' project. Plugin currently supports all the platforms except web!

dart_native Card Image
dart_native
Dart 3 compatible 👍 21
Maintenance Status: Average

Write native code using Dart. This package liberates you from native code and low performance channel.

node_preamble
Dart 3 compatible 👍 9
Maintenance Status: Average

Better node.js preamble for dart2js, use it in your build system.

node_interop
Dart 3 compatible 👍 47
Maintenance Status: Poor

Provides Dart bindings and utility functions for core Node.js modules.

flutter_jscore
Dart 3 compatible 👍 36
Maintenance Status: Poor

JavaScriptCore for Flutter. The plugin provides the ability to evaluate JavaScript programs from within dart.

import_js_library
👍 55
Maintenance Status: Poor

Import & use javascript libraries in your flutter web projects