Flutter Force Weekly

Ümit Duran
Flutter Force
Published in
4 min readJul 7, 2024

Your hub for all things Flutter! Discover codes, repos, libraries, projects, and articles. Let’s build amazing apps together!

Welcome to this week’s newsletter! We’ve got plenty of exciting updates and insights to share. Dive into the latest tips, tricks, and resources for Flutter development, keeping you up-to-date with the freshest content in the community. Whether you’re looking to enhance your skills, explore new libraries, or stay informed about the latest trends, this edition has something for everyone. Let’s continue building amazing apps together! 🚀

Articles

Dart: Algebraic Data Types

Algebraic Data Types (ADTs) are a powerful functional programming concept that allows developers to model complex data structures more elegantly than traditional object-oriented classes. They are composite types, meaning that they combine other types. Dart 3.0 introduced sealed classes and pattern matching, which made ADTs possible in Dart 3

Understanding Composited Layers to improve the performance of Flutter apps

In Flutter, besides Widget, Element and RenderObject trees, there’s also a Layer tree. And the same way the Element tree generates the RenderObject tree during the build phase, the RenderObject tree generates theLayer tree during the paint phase. A new Layer is created when RenderObject.isRepaintBoundary equals true.

Best Practices when Using the Shared Preferences Plugin

When you use the Shared Preferences plugin in Flutter you might have noticed that it can become difficult to manage. Think about having the Shared Preferences keys in different places in your code, calling the same function on multiple places, and perhaps even deleting entries that should not be deleted. In this post, we will discuss the best practices and ensure you can manage the Shared Preference entries effectively in Flutter.

Implementation of a unique Liquid Chart

There are many different forms and appearances of charts that can be integrated into apps. However, they are often hard to understand and don’t catch the user’s eye. When we’re looking for a distinctive chart design to give our app a unique look, our designers came up with a special idea of a liquid heart chart. While developing this chart, we faced two challenges:

  • Creating a heart-shaped path with Dart
  • Making the shape scalable across all device sizes

This article provides you with a quick guide on how to implement this design in Flutter.

Deploying Dart and Flutter Apps with Docker: VPS Setup Made Simple

Welcome to the last part of my series on deploying Dockerized Dart containers on Ubuntu VPS. This series is designed to guide you through every step of the process, from selecting the most cost-effective infrastructure to creating Docker images and setting up your server for deployment. By the end of it, you’ll have the knowledge and confidence to deploy robust Dart & Flutter applications in a production environment.

In this article, I’ll focus on deploying your Dockerized Dart code to Ubuntu VPS. It will include the whole setup of the VPS, how to deploy it, and some additional things you can use to make this process easier.

Packages

Forui

Forui is a UI library for Flutter that provides a set of minimalistic widgets heavily inspired by shadcn/ui.

DuckRouter

The DuckRouter is a Flutter router using intents. It has been tested at scale at Onsi. DuckRouter has been designed using a philosophy of no “magic”, while focusing on reliability.

WoltModalSheet v0.7.0

WoltModalSheet is designed to revolutionize the use of modal sheets in Flutter apps. Built with Wolt-grade design quality and used extensively in Wolt products, this UI component offers a visually appealing and highly customizable modal sheets with multiple pages, motion for page transitions, and scrollable content within each page.

Flutter/Dart <-> Rust binding generator

  • Just write down normal Rust code (even with arbitrary types, closure, &mut, async, traits, etc)
  • And call it from Flutter, as if Rust code is normal Flutter code
  • The bridge will generate all glues in between

os_ui

This package helps you to showcase your project or play with computer OS interface for any kind of projects.

All the functions are ready include in the package such as:

  • Window management system
  • Customizable toast notifications
  • OS-specific functionalities
  • Multi-language support

Videos

Future.wait (Technique of the Week)

Got a lot of Futures? Use Future.wait() to wait for multiple futures to complete and collect their results.

Game Development with Flutter & Flame | 2024

Are you interested in game development but unsure where to start? Join me as I share my journey of learning game development using Flutter and Flame! Whether you’re a seasoned developer or a complete newbie, my story will provide you with the inspiration and practical tips you need to start your own game development journey. In this video, you will learn: * Why I chose Flutter and Flame for game development * Key lessons and tips from my learning experience * Examples of projects I created along the way

Bare Bones Flutter

In this video, I mentioned a template project which is Bare Bones Flutter. This video helps you to understand the structure of the project.

Thanks for reading Flutter Force. Flutter Force is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

Thanks for reading and please don’t forget to follow from substack

--

--