How to improve Flutter performance?
I've gathered some valuable insights:
π Keep build functions pure - no logic inside; build method can be called 120 times per second
π Prefer slivers for complex lists - instead of nesting multiple lists
π Make use of ListView.builder and SliverChildBuilderDelegate. When items in the list are the same size - set fixed extent
π Wrap frequently repainted widgets in RepaintBoundary
π When working with heavy computations (cryptography, encryption/decryption) - use isolates
π Keep the number of network requests to a minimum
π Dispose of resources - focus nodes, controllers, listeners
π Use the right state management solution
π Optimise assets - limit use of png, jpg files; replace svgs with icon fonts
π Set up Crashlytics or Sentry
π Don't get too involved with
third party libraries and plugins
π Use AnimatedBuilder's child field properly
π Test on real devices and look at the Profiler tab
Hope this was useful!
I've gathered some valuable insights:
π Keep build functions pure - no logic inside; build method can be called 120 times per second
π Prefer slivers for complex lists - instead of nesting multiple lists
π Make use of ListView.builder and SliverChildBuilderDelegate. When items in the list are the same size - set fixed extent
π Wrap frequently repainted widgets in RepaintBoundary
π When working with heavy computations (cryptography, encryption/decryption) - use isolates
π Keep the number of network requests to a minimum
π Dispose of resources - focus nodes, controllers, listeners
π Use the right state management solution
π Optimise assets - limit use of png, jpg files; replace svgs with icon fonts
π Set up Crashlytics or Sentry
π Don't get too involved with
third party libraries and plugins
π Use AnimatedBuilder's child field properly
π Test on real devices and look at the Profiler tab
Hope this was useful!
π13β€5π₯4
Mobile Tech
How to improve Flutter performance? I've gathered some valuable insights: π Keep build functions pure - no logic inside; build method can be called 120 times per second π Prefer slivers for complex lists - instead of nesting multiple lists π Make useβ¦
An interesting idea came to me:
Create a curated post on my blog where I will share the suggestions and best practices for flutter apps ( it will be updated each time I find something new )
Create a curated post on my blog where I will share the suggestions and best practices for flutter apps ( it will be updated each time I find something new )
π22π₯5
How to ship apps faster π
- Choose speed over quality
- Eliminate code reviews
- Don't do sprint planning
- Remove CI & Analyzer & Linter
- Ignore user feedback and testing
- Don't build a working MVP with minimal functionality
- Avoid regular team communication and updates
- Ignore documentation and code comments
- Ignore industry best practices and coding standards
- Do not periodically refactor to improve code quality.
- Leave a pile of TODOs after coding
- Don't think about backups
- Don't handle errors & exceptions
By doing all this, your app will definitely be shipped very quickly (maybe not where you planned though).
- Choose speed over quality
- Eliminate code reviews
- Don't do sprint planning
- Remove CI & Analyzer & Linter
- Ignore user feedback and testing
- Don't build a working MVP with minimal functionality
- Avoid regular team communication and updates
- Ignore documentation and code comments
- Ignore industry best practices and coding standards
- Do not periodically refactor to improve code quality.
- Leave a pile of TODOs after coding
- Don't think about backups
- Don't handle errors & exceptions
By doing all this, your app will definitely be shipped very quickly (maybe not where you planned though).
β€2π2
I am writing an article on one of the most popular Stoic principles - the dichotomy of control.
After it, I will post a curated list of tips, best practices, and suggestions for flutter apps.
After it, I will post a curated list of tips, best practices, and suggestions for flutter apps.
π5β€4
And one more thing I wanted to share: I decided to set myself a challenge:
Post on LinkedIn every day for a month.
I will tell you how many followers, impressions, likes, etc. I gained during that time.
Post on LinkedIn every day for a month.
I will tell you how many followers, impressions, likes, etc. I gained during that time.
π4π₯4
How to efficiently transform data using Codecs in Dart. Read in today's post :)
https://www.linkedin.com/feed/update/urn:li:activity:7130419429242224642/
https://www.linkedin.com/feed/update/urn:li:activity:7130419429242224642/
Linkedin
Michael Lazebny on LinkedIn: #dart #flutter #converter #json #utf8 #serialization
How to effectively serialize data in Dart & Flutter?
There is a very sophisticated way:
Dart has a built-in package called "dart:convert" that includesβ¦
There is a very sophisticated way:
Dart has a built-in package called "dart:convert" that includesβ¦
π₯6
Decided to hide the dock in macos. Always thought it was inconvenient.
In fact, it is, but it removes distractions and allows you to focus on the open window.
How do you fight with #distractions?
In fact, it is, but it removes distractions and allows you to focus on the open window.
How do you fight with #distractions?
π3β€2
Hey! Today I created a brief article about character encoding. A bit of history and explanations of terms like ascii, utf8 and unicode.
https://lazebny.io/character-encoding-and-how-it-works-2/
https://lazebny.io/character-encoding-and-how-it-works-2/
π2π₯2
Will it be interesting if I create my own Dart & Flutter roadmap?
π18π₯5π2
Starting the work on Flutter best practises and tips.
π8π₯5π₯°3
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Whatβs new in Flutter 3.16
Material 3 by default, Impeller preview for Android, DevTools extensions, and much more
π₯8
I will publish Best practices of flutter on Monday :) hope you are waiting!
π₯11β€5π5
When to use InheritedModel in Flutter?
Inherited widgets are a powerful, natural way to propagate information down the tree in Flutter.
The crucial thing is that they are O(1). It means, that the time needed to obtain an inherited widget from the tree is equivalent to constant.
When InheritedWidget changes (i.e., some data is updated), dependent elements are notified via didChangeDependencies and eventually rebuilt.
However, when clients (modules that depend on a widget) are interested only in a certain part of its data things become a bit complicated as the inherited widget doesnβt support it.
In such a case, the Inherited Model comes to our help. Basically, they extend the functionality of InheritedWidget by adding an aspect field.
Clients declare the aspect theyβre interested in and are notified only if the data theyβre interested in changes!
Iβve enclosed an example of an inherited model used for settings. Basically, when the client is interested in the locale -> it will be notified if the locale changes.
There is also a widget called MediaQuery thatβs probably used by every #Flutter application. It also implements InheritedModel with its brightnessOf, sizeOf, and others.
LinkedIn
Inherited widgets are a powerful, natural way to propagate information down the tree in Flutter.
The crucial thing is that they are O(1). It means, that the time needed to obtain an inherited widget from the tree is equivalent to constant.
When InheritedWidget changes (i.e., some data is updated), dependent elements are notified via didChangeDependencies and eventually rebuilt.
However, when clients (modules that depend on a widget) are interested only in a certain part of its data things become a bit complicated as the inherited widget doesnβt support it.
In such a case, the Inherited Model comes to our help. Basically, they extend the functionality of InheritedWidget by adding an aspect field.
Clients declare the aspect theyβre interested in and are notified only if the data theyβre interested in changes!
Iβve enclosed an example of an inherited model used for settings. Basically, when the client is interested in the locale -> it will be notified if the locale changes.
There is also a widget called MediaQuery thatβs probably used by every #Flutter application. It also implements InheritedModel with its brightnessOf, sizeOf, and others.
Linkedin
When to use InheritedModel in Flutter? | Michael Lazebny
When to use InheritedModel in Flutter?
Inherited widgets are a powerful, natural way to propagate information down the tree in Flutter.
The crucial thing is that they are O(1). It means, that the time needed to obtain an inherited widget from the tree isβ¦
Inherited widgets are a powerful, natural way to propagate information down the tree in Flutter.
The crucial thing is that they are O(1). It means, that the time needed to obtain an inherited widget from the tree isβ¦
π11