‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 

Issue 09 (01/10/2023)

Open the newsletter in your browser

arrow

💙️ Support-me 💙️

arrow

Concours

Concours

The droidcon is a series are events dedicated to the Android ecosystem. After the Berlin edition last week, the one in London will be held on Thursday and Friday this week (28 and 29).

We offer you to win a ticket for the event. Please note that only people who can travel to the event are invited to participate. To do so, two conditions: be subscribed to the FlutterCroissants Twitter account and be registered to the Flutter Croissants newsletter. Due to the short time frame, the draw will take place this Tuesday 26th at 04:00pm (UTC). Good luck to all!

PARTICIPATE

The news

Image Microsoft: somewhere between good and bad news

Android applications make their first steps on Windows 11
The support of Android applications was announced with great fanfare at the unveiling of Windows 11. Unfortunately, on the first public version of its operating system, Microsoft did not include this feature.

Nevertheless, the good news is the latest build sent to Insiders now offers this feature flag_lng, while adding the Amazon Appstore to the Microsoft Store. This makes it possible to install applications in a dedicated virtual machine, which runs on Android 11, either through the Amazon store or directly by sideloading APKs.

However, Microsoft stops supporting UWP applications
Today when you want to design a Flutter application for Windows, you can choose between Win32 and UWP (Universal Windows Platform). The second option is the most interesting on paper, since it offers compatibility with Xbox consoles, as well as the Hololens headset.

Unfortunately, last week, Microsoft announced that it was backing off and putting the brakes on UWP, stopping its development, but continuing to support it. Concretely, if you start a new development, you'll have to use the Windows App SDK (with WinUI 3.0 and .NET 5). Otherwise, you can continue with UWP, but with WinUI 2.x and .NET Core 3.1. The end of support for the technology has not been specified.

Image Google reduces its tax on in-app purchases

Before the Epic Games company came and shook things up, Apple and Google were not worried about their practices on the App Store and Google Play with the famous 30% commissions. But since then, pressure has been mounting, both from developers and from legal authorities in many countries.

A first drop at Google
Historically, the Google Play took a 30% commission on application purchases and in-app payments. Without wanting to lose too much face, this year Google has introduced a reduction of about 15% for sales under $1m. Once the threshold is crossed, the rate goes back up to 30%.

Implemented as of July flag_lng, this measure is however ambiguous, because it is done on a prorated basis: July = 6 months = 500,000 dollars. Moreover, the calculation is made in dollars and not in the developer's currency.

A second drop
Unexpectedly, Google announced last Thursday their decision to extend this measure to subscriptions. Currently, the first year was charged 30% before dropping to 15%. But as the retention rate was generally low, few publishers benefited from this. From now on, all subscriptions will have a 15% flat rate.

An additional discount for streaming services and the purchase of digital books
An exception is made for all applications offering the purchase of ebooks, namely of the music streaming service type (Spotify, YouTube Music…). For any subscription, the commission will be reduced to 10% so that the redistribution of the generated income to the artists is more consistent.

Miscellaneous news in brief

⏫ A new version of Flutter is available on the beta channel: 2.7.0-3.0-pre

The creation of this newsletter takes me several hours each week.

You want to support the project and allow it to last in time? For that, you can donate from 1 euro on Patreon!

Support-me on Patreon

📅 We had lost hope by then, but conferences are starting to come back in "physical" mode. Flutter Vikings flag_lng will thus take place on February 2 and 3 in Oslo. The "early bird" ticket for both days costs NOK 2,500 (that's a ~€250 discount), but if you prefer to watch it online, it will be completely free!

✨ On the Pull Requests Flutter side, we can note:

  • On Android, the dex classes file can only accommodate 65536 methods. This number can easily be exceeded if you use a large number of dependencies or if your project gets bigger. In this case you have to activate the Multidex which allows you to have several dex classes files in parallel. On Flutter, the tools will now be smart and detect this scenario automatically, in which case, they will ask you to activate it (PR #90944 flag_lng)
  • Flutter is getting ready to support Android 12, now setting the "targetVersion" to 31 (PR #91719 flag_lng])
  • On the Dismissible flag_lng, a callback is added to notify you if a specified threshold is reached (PR #88736 flag_lng)
  • A TooltipVisibility widget will be added to allow you to block or not the display of children Tooltips (PR #88736 flag_lng)
  • On Flutter Web, you will be able to specify the URL where CanvasKit should be downloaded (PR #70101 flag_lng)

🔁 The moor package (ORM based on SQLite) has been renamed to drift flag_lng. Practically, nothing changes, but the old name could have a pejorative connotation in some languages.

🔥 From October 29 to 31, Flame, the engine for creating games in Flutter will launch a GameJam flag_lng. As for the conference that took place last week, it is already available in replay flag_lng. And if you do not know this tool's possibilities, do not hesitate to look at this site flag_lng, which shows some examples of implementation.

🍎 Some Apple announcements:

  • 📖 App Store rules flag_lng have just been updated to validate that developers can retrieve users' names and emails to communicate with them live.
  • 🛍️ On the App Store, you can now add events flag_lng specific to your app (e.g., a temporary promotion). Users will then be able to see it on the app store. An interesting initiative, but it remains to be seen how the selection will be done…
  • 🫖 Apple relaunches its Tech Talks flag_lng: the possibility to make an appointment with an Apple engineer to ask your questions about development.

🤖 Some Android announcements:

  • 😂 Android 12 is officially available on Pixel phones, which makes you wonder what the false start in early October was all about. By the way, here is the list of new emojis flag_lng on this platform.
  • 📱There are whispers that Android 12.1 would bring improvements for foldable screens. This version could be available in beta as early as December, as suggested by the current Android beta program flag_lng.
  • 📅 The Android Dev Summit flag_lng, a two-day conference, is being held on October 27 and 28. The program] is already available.
  • 🛡️ In February 2022, all apps will have to explain how user data is collected and then processed. To avoid bottlenecking, you can start providing this information flag_lng.

🔖 Google just launched the Dev Library flag_lng, a new tool flag_lng that hosts links to opensource projects and tutorials related to its own tools. Thus, we find sections for Android Angular, Firebase… or even Flutter. In terms of content, a selection process is in place to ensure quality.

📣 Firebase App Distribution allows to easily give test versions of your applications. In preparation for a future release, you can send an email to firebase-app-distribution-team@google.com flag_lng to get access to the new Android SDK letting you notify your users when a new version is available.

💾 Thoughts are being shared around a new file system for Fuchsia dubbed Fxfs flag_lng, the current one (Minfs) being considered too unscalable.

🟨 Need a reminder of the different concepts in Dart? These Flash Cards flag_lng will be a gold mine for you.

ico

Did you know that?

A very interesting question was asked on Reddit and Hixie. One of the historical members of the team answered it: why does Google invest in Flutter… though it is free?

"The main reason we are open source is because we forked from Chrome, which was also open source. We've found there's lots of benefits to being open source (such as many of the ones others have mentioned here).

That said, for a lot of projects, the real reason they're open source is that the people who created them are people who would only want to work on something if it was open source. For example, everything I've ever done in my career has been either open source or open standards (even when working for companies that are primarily working on closed-source stuff, all my work has always been in the open). So sometimes it may be less about a strategic decision by a company to make something open source, and more about that being the only way that certain projects will ever come to exist if they are to involve those people."

Dart/Flutter articles and tutorials

Tips & tricks

Dart/Flutter libraries

Lib inspector

inspector : Controlling and validating your Widgets

Android iOS Web Linux Mac Windows

This tool is useful for both development and testing (QA). It allows you to graphically measure components margins and sizes, but also to ensure that the right colors are used. Still under development, other features will soon be added to the tool, including text styling.

Lib windows_taskbar

windows_taskbar : Interacting with the taskbar on Windows

Android iOS Web Linux Mac Windows

On Windows, by hovering the mouse over an application icon in the taskbar, you can add shortcuts or indicate a progress. This package allows you to manage this, and thus better adapt to the platform.

Lib renderer_switcher

renderer_switcher : Change the Flutter Web renderer

Android iOS Web Linux Mac Windows

When you do Flutter for the web, you can use two renderers flag_lng. The HTML one uses a combination of HTML, CSS, Canvas and SVG tags and has the advantage of a small size. The second one, named CanvasKit, is a bit heavier to download (about 2 MB more), but offers superior performance.

By default, HTML is used on mobile and CanvasKit on other platforms. But you can decide otherwise, either by forcing a value, or by using this plugin that allows you to change it on the fly.

The tools

Image Outil readme.so

readme.so : Generate easily your README.md files

When you start a new project, the README.md file is a must, so that other people can contribute to it. This tool makes it easy for you to create it with the different blocks you're used to finding in it.

Image Outil Nowa.dev

Nowa.dev : Another No-Code tool to generate a Flutter application

As far as Flutter-based No-Code tools that generate Flutter applications are concerned, it would be possible to mention several of them. Here is the latest one, which seems to be attractive on paper with the possibility to connect many backends (API directly, Airtable…).

Upcoming events

26
October

Online

Samsung Developer Conference

27-28
October

Online

Android Dev Summit

29-30
October

Online

Flutter Kaigi

03-04
December

Online

Dart Up
Your opinion on this issue
😍😆🙄😡👍👎