|
Open the newsletter in your browser |
|
|
|
|
|
|
|
|
Just like Flutter, Dart receives regular updates to add new features. While the stable version is currently 2.14.4, the list of new features in Dart 2.15 is already available. Here is a first salvo:
Tear-off constructors
Let's say you have the following class:
class A { String a; A(this.x); } To create a new object, you would logically specify A("A value"). Thanks to the tear-offs, you can now write : List<String> list = ["1", "2", "3"]; for (String e in list.map(A.new)) {}
Le A.new is equivalent to calling the constructor, but without having to write the callback (String val) => A(val). Note that for named constructors, you only need to change the new to the correct name.
Generics There are many new features: Generic type literals, Explicit generic method instantiations, Generic instantiation of function objects…
Pubspec It's been mentioned several times, but self-hosted Pub instances will be better managed and the syntax in the pubspec.yaml will be lighter. It will simply be necessary to add a hosted line on each dependency: dependencies: colorizer: hosted: 'https://custom-pub-server.com' version: ^1.2.3
When publishing a library on Pub, checks will be made to ensure private keys are not being sent. |
|
|
|
|
|
Hands and feet tied South Korea has always been an exception regarding in-app payments. The restriction to use only Google and Apple solutions was not enforced. In October, however, the "Land of the Calm Morning" had to fall in line and follow the rest of the world. South Koreans MPs did not approve and made sure that by the end of August the giants could never force third-party developers in such a way.
Still not happy, they are Since last week, the bill has been definitively adopted and implemented, forcing Google and Apple to react quickly. Google says it will provide more details in the coming weeks, while Apple is indignant, citing less effective parental controls.
Google already gives an example In a blog post , Google reaffirms all the advantages of its solutions (Play Points, gift cards, number of users…) but laconically gives a screenshot explaining:
"In response to the recent legislation, developers will now be able to add an alternative in-app billing system, alongside Google Play's billing system, for their mobile and tablet users in South Korea. At checkout, users will be able to choose which billing system to use". |
|
|
Miscellaneous news in brief |
|
|
⏫ The Flutter plugin for VS Code has been updated to version 3.28 (changelog ). In addition to some new features, we note the support of the Hot Reload for "pure Dart" projects. On the other hand, on the IntelliJ side, it is minimum service with the M61 version . |
|
✨ On the Pull Requests Flutter side, we can note:
- On macOS applications, the default template will now have a "Help" menu to be in line with native applications (PR #92946 )
- An AppModel class is being added to easily propagate data in key/value form to child widgets. It is not intended to replace packages like Provider, but rather provide data to custom Widgets that need data that can be provided later (PR #92297 )
|
|
🎀 After many months of work, RiverPod , the State Management solution created by Rémi Rousselet is now available in version 1.0. You can discover the new features of this link . |
|
🏥 The advantage of opensource is that you can quickly hatch an ecosystem, but this becomes problematic if the projects are no longer maintained. This is the case of the library that manages Bluetooth in Flutter (flutter_blue ), which has not given any sign of life since March. The solution for the moment seems to be to turn to this ce fork . |
|
🔥 Firebase App Distribution makes it easy to share Android and iOS apps with testers. An API will soon be made available to integrate this brick into your deployment workflow. The dcumentation is available here . |
|
🧪 TestFlight for macOS is now available for everyone and makes it easy to deploy apps to 10,000 external testers. |
|
🐛 On some phones on Android 12, it seems that Network Service Discovery (a service to search for other devices on the network) is malfunctioning, malfunctioning very much … |
|
🤖 After Android, Chrome, Firebase… Google is planning an event dedicated to Machine Learning tomorrow! Somewhat organized on short notice… |
|
🍾 Let's get the champagne out, the very famous Vim editor just celebrated its 20th anniversary last week! |
| |
|
When you think of Japan 🗼 you immediately think of high-tech, but did you know that the Tokyo administration still used floppy disks? Yes, you heard right, 3.5-inch floppy disks in 2021!
In a Nikkei article (a major business daily), we learn that some of the city's districts have either started or are planning to implement the transition to more modern systems.
This old format is distinguished by its reliability: "[it has] almost never broken or lost data". But Sony, one of the suppliers of these diskettes, stopped production about ten years ago. And worse, Mizuho Bank said that from 2019 onwards, it would start charging 50,000 yen (~ €379) per month for the use of physical storage media, including floppy disks.
At the current rate, Chiyoda Ward is expected to complete its migration in 2026! |
|
|
Dart/Flutter articles and tutorials |
|
|
|
In contrast to the "Flutter draws everything on screen" paradigm, the WebView is the exception, as the Android or iOS graphical component is displayed instead. This doesn't change much in terms of widget management, but it does show how feature-rich this component actually is. In this article, you will learn both the "basic" methods, as well as the more advanced features. |
|
|
|
|
|
Generative art consists of designing graphic works with the help of algorithms. Since Flutter is known for its ease of use for non-developers, what about this art? This was the question James Porter asked himself and he a got excellent results. However, he has created a library to make it easier for you, should you wish to become tomorrow's Picasso of Flutter 🎨! |
|
|
|
|
|
Flutter allows you to design applications for the desktop, and in particular macOS, but leaves you free to deploy them. In this article, you will learn how to create *.dmg files to facilitate installation for your users. |
|
|
|
|
|
For Insiders, it is possible to use Android applications on Windows 11, via a tool called Windows Subsystem for Android. Although not yet in stable release, it already offers an alternative to the Android emulator. If you want to know how to set all this up, this article will guide you step by step. |
|
|
|
|
|
Security has become a major topic following the various ransomware that have been requested in recent months. This topic is not only relevant for servers or fat clients, mobile applications also have to comply with it. This article lists a whole bunch of elements that should be put in place to make life more difficult for malicious people. |
|
|
|
|
|
Flame is a 2D game engine that you can use with Flutter. But once the hello world is over, we have to get to the heart of the matter. Path finding is a technique that consists of getting from point A to point B, taking into account different constraints. In this article, you will discover how to implement this type of algorithm, while connecting it to Flutter. |
|
|
|
|
|
The excellent Raywerdenlich site (from which the free Flutter ebook is derived ) always provides extensive tutorials for Android, iOS or Flutter. In an article published a few days ago, they detail how to create a minesweeper game by explaining the implementation of the graphic part, but also by describing the algorithm behind it. |
|
|
| |
|
|
|
Using derry to automate your workflows |
derry is a tool developed in Dart that enables you to execute tasks for a given workflow. Very practical, it can even execute different commands depending on the platform (Windows/macOS/Linux). Some examples: make sure to call build_runner before producing an application, launch the flutter analyzer, generate documentation… Do not hesitate to read the documentation which contains many examples. |
|
|
|
|
Debugging your application remotely |
You have a problem that only occurs on specific Android phones, but you don't have access to these models? Well just consider that it is possible to access the USB Debugging remotely! All you need to do is use a service like ngrok that will make this possible. Another use case is the possibility to use an online IDE (like VSCode.dev) and test on your phone. Everything is explained in this article ! |
|
|
|
|
Don't wait for a Future |
Since Dart 2.14, dart:async contains an unawaited(Future) method, which does the exact opposite of the await keyword: not waiting for a Future to finish.
Another tip: if you want to ignore a potential exception, there is an extension ignore() on Futures. You just have to indicate: unawaited(monFuture).ignore() |
|
|
| |
|
|
|
|
|
Sometimes they just appear in my house! BirdGrinning face with smiling eyes
Btw, a new version of #ARKit for #flutter was released with body tracking improvements and various fixes!
|
|
|
|
AR Kit is the augmented reality platform developed for Apple products. Oleksandr Leushchenko, the maintainer of the arkit_flutter_plugin shows some examples of what you can achieve and the performance is amazing! |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subscription |
|
|
|
To reassure your users about the future of your application, there is nothing like a little transparency. This tool allows you to share the roadmap elements you have planned for the next few weeks or months. Most importantly, it is collaborative and enables your audience to help you prioritise or share ideas. In most cases, the free version is sufficient (10,000 page views per month). |
|
|
|
10 November |
Online |
Firebase Summit |
|
|
03-04 December |
Online |
Dart Up |
|
02-03 February |
Oslo & Online |
Flutter Vikings |
|
|
Your opinion on this issue |
| | | |