flutter.wtf
633 subscribers
53 photos
45 videos
60 links
🚀 Leading Flutter development agency. About us: https://flutter.wtf/about.
Download Telegram
#performance #advanced #bestpractices

Performance best practices

Generally, Flutter applications are performant by default, so you only need to avoid common pitfalls to get excellent performance instead of needing to micro-optimize with complicated profiling tools. These best recommendations will help you write the most performant Flutter app possible:

👉 Controlling build() cost
👉 Apply effects only when needed
👉 Render grids and lists lazily
👉 Build and display frames in 16ms
#states #architecture #bloc #video

Flutter State Management - The Grand Tour

This video will help you to take a tour of almost all state management techniques in Flutter. You may watch full lesson or use our timecodes:

👉 StatefulWidget – 1:25
👉 StatefulBuilder – 2:43
👉 InheritedWidget – 4:16
👉 RxDart + BehaviorSubject – 6:12
👉 BLoC – 8:50
👉 Redux – 11:34
👉 Mobx – 11:57
👉 Scoped Model – 12:27
👉 Flutter Hooks – 12:58
👉 Firebase – 13:22
#ui #scaling #screens

Flutter — Effectively scale UI according to different screen sizes

Since we have full control on all the pixels in Flutter, we might implement our own UI scaling approach. So, all objects will be scaled based on screen density and size.
#performance #bestpractices #advanced

Building performant Flutter widgets

This article is a part of series developed after the Flutter Material team worked on making the Flutter Gallery app more performant on the web. Some pro tips:

👉 Only build when necessary
👉 Only build what is necessary
👉 Check widget build counts
#dart #nullsafety #preview

Dart sound null safety: technical preview 2

Null safety is a major new productivity feature that helps you avoid null exceptions, a class of bugs that are often hard to spot. As an added bonus, this feature also enables a range of performance improvements. Dart Team announces a second tech preview of sound null safety, including support for the Flutter framework:

The article is:

👉 Why null safety?
👉 Null safety principles
👉 The null safety roadmap
#plugins #packages

Announcing: Flutter Community Plus Plugins

Flutter Community delighted to introduce their initial release of Plus plugins, with extensive support for most platforms. This builds on the foundation set by the Flutter Team's plugins to enable Flutter developers to build their apps for different platforms out of the box:

Plus Plugins have 3 main goals:

👉 Supporting Federated plugins
👉 Supporting and maintaining all platforms
👉 Updating to plus plugins with minimal effort
#news #flutter2

What’s New in Flutter 2

After more than two years since the Flutter 1.0, Flutter Dev Team is pleased to announce the release of Flutter 2. Shortly, what's new:

👉 Web support has transitioned from beta to the stable
👉 Flutter 2 contains Dart 2.12 with Null Safety
👉 Flutter desktop has moved to Beta (stable channel)
👉 Google Mobile Ads SDK is available for Beta
👉 Flutter has gotten new iOS features
👉 Autocomplete and ScaffoldMessenger widgets
👉 Some improvements in Dart CLI, DevTools, IDEs extensions
#news #flutter2

What’s new in Flutter 2.2

The Flutter 2.2 release focuses on polish and optimization, including iOS performance improvements, Android deferred components, updated service worker for Flutter web and more. The main headlines:

👉 Aliases for types as well as for functions
👉 DevTools now supports the layout explorer for Flutter web
👉 Improvements in page transitions and incremental installs for iOS
👉 Comprehensive guide for building adaptive apps is now available
👉 Lots of desktop related enhancements (cursors, text editing, scrolling)

And last but not least: by now Play Store has more than 200K Flutter apps 🥳
#dart2 #nullsafety

Understanding null safety

Null safety is the largest change in Dart 2.12 (default Dart version since Flutter 2). Now all Flutter Developers have to clearly understand null safety and be able to work with it. That's why Dart team prepared this comprehensive article you need to read.
#adaptive #responsive #desktop #web

Building adaptive apps

One of the first things you must consider when bringing your app to multiple platforms is how to adapt it to the various sizes and shapes of the screens that it will run on.

The article headlines:

👉 Layout widgets
👉 Visual density
👉 Contextual layout
👉 Device segmentation
👉 Single source of truth for styling
👉 Input and keyboard accelerators
👉 Mouse enter, exit, and hover
👉 Common idioms and norms to consider
​​#ffi #integration

Foreign Function Interface 🔥

For C-based APIs, including those that can be generated for code written in modern languages like Rust or Go, Dart provides a direct mechanism for binding to native code using the dart:ffi library.

The foreign function interface (FFI) model can be considerably faster than platform channels, because no serialization is required to pass data. Instead, the Dart runtime provides the ability to allocate memory on the heap that is backed by a Dart object and make calls to statically or dynamically linked libraries. FFI is available for all platforms other than web, where the js pachage serves an equivalent purpose.

To use FFI, you create a typedef for each of the Dart and unmanaged method signatures, and instruct the Dart VM to map between them. As a simple example, here’s a fragment of code to call the traditional Win32 MessageBox() API:
#threading #asynchronous

Exploring Threading In Flutter

Threading in Flutter?! But they say it's single-threaded! Yes and no. Advanced Flutter Developers should know about the Embedder Protocol, that forces all embedders to have 4 threads:

👉 UI Runner
👉 GPU Runner
👉 IO Runner
👉 Platform Runner
#immutable #patterns

Immutable Data Patterns in Dart and Flutter

Immutable data constructs are those that cannot be mutated (altered) after they've been initialized. There are a number of advantages to using immutable data: thread safety, pass safety, project simplicity. But how to implement immutability in Dart?

The article headlines:

👉 Final variables vs. constants
👉 Immutable data in Flutter
👉 Creating your own immutable data classes
👉 Updating immutable data
#wtfshow #youtube #podcast

🔥 Обсуждаем новшества Flutter 2.0 | WTF Show #1

WTF Show – это формат, в котором мы обсуждаем все, что связано с миром Flutter, делимся накопленными знаниями и опытом, стараемся сделать так, чтобы как можно больше людей узнало о данной технологии.

❗️Это наш пилотный выпуск, поэтому не судите строго. Обещаем, что с каждым разом качество контента будет только расти 😉
#interview #wtfinterview

🔥 Собеседование Middle Flutter-разработчика | WTF Interview #1

WTF Interview – это формат, в котором мы приглашаем Flutter-разработчиков различного уровня пройти онлайн-собеседование по Flutter и проверяем, действительно ли наши гости соответствуют заявленному грейду.

Не жалейте лайков ❤️
#interview #wtfinterview

🔥 Собеседование Middle+ Flutter-разработчика | WTF Interview #2

Второй выпуск WTF Interview – формата, в котором мы приглашаем Flutter-разработчиков различного уровня пройти онлайн-собеседование по Flutter и проверяем, действительно ли наши гости соответствуют заявленному грейду.

Как всегда, не жалейте лайков и оставляйте комментарии ❤️
Сегодня на YouTube-канале выйдет кое-что очень необычное. Надеемся, вам понравится. Следите за обновлениями 😉
#battle #wtfbattle

Взаимное собеседование по Flutter (Саша vs Глеб) | WTF Battle #1

WTF Battle – это формат, в котором мы приглашаем двух Flutter-разработчиков, чтобы они взаимно прособесили друг друга. Победитель баттла получает славу и почет – проигравший уходит ни с чем.

В первом выпуске сразятся Саша и Глеб (участники двух предыдущих серий WTF Interview). Будет жарко 🔥

Поддержите, пожалуйста, лайками и комментариями ❤️