|
Open the newsletter in your browser |
|
|
|
|
💙️ Support-me 💙️ |
|
|
|
|
|
|
|
|
Who is Chris Sells? Chris is a Senior Product Manager at Google in the Flutter team. He is a regular contributor to official articles on Medium. He is also responsible for go_router (which is already in version 2.0), a library that simplifies the use of Navigator 2.0.
The panel with widgets rebuilds generalized In an interview with SyncFusion (transcript ), he answers several questions, including how to identify widget rebuilds. At the moment, this information is already available in Android Studio and IntelliJ. Chris tells us that not only is it coming to Visual Studio Code, but that DevTools will also benefit from it. No date is given though.
Soon a visual editor for Widgets? On Android, the graphic part can be done either in XML or via Jetpack Compose (which is, to simplify, the equivalent of Flutter for interfaces). According to Chris, providing a WYSIWYG-like tool would not be useful in Flutter, thanks to Hot Reload. But that's what the Android team managed to do with Jetpack Compose on Android Studio…
The Googler also redirects users to community-created tools such as FlutterFlow, Supernova or Codelessly, which already offer drag'n'drop solutions. The Flutter team at Google prefers, for the moment, to help these initiatives, rather than create a tool that would compete with them.
Soon a "rich" text editor? Mind you, this is not a question about a Flutter Studio, but rather about a Widget that would allow you to write text, a bit like a Word document. Chris Sells explains: "About a year ago, we kicked off an effort. We gathered a bunch of interested members of the community together, and we started pulling together some requirements for a rich text editor, something beyond what text field can give you, which is multiline text, with all kinds of support for hotkeys and mouse and keyboard-based selection. It does have a number of really great features, but it doesn't do rich text editing.
So there have been a few efforts that have led to a rich text editor. The most recent one that I'm familiar with, the most fully-featured one, and one that we've been working pretty closely with as a partner, is Matt Carroll's Super editor, which does all kinds of great rich text editing and selection and multimodal kinds of things"… Again, don't expect anything in the short term from Google and keep an eye on Pub.
Support for App Clips and the Apple Watch As far as App Clips are concerned, there is already documentation on the official website . As for the Apple Watch (and connected watches in general), Flutter can work without any problem on the aspect of adaptation to different form factors. On the other hand, the fact that today the Flutter runtime occupies between 4 and 5 MB is a no-go. He concludes: "We don't intend to support watches any time soon". |
|
|
|
|
|
As we know, Canonical, the company behind the Linux distribution is fully behind Flutter. The first step was the creation of a brand new graphical installer. With this success, all application developments for the distribution now use the Google framework.
IOT, IOT, IOT ! Today Flutter can work on mobile, web and desktop. But Google wants to go beyond that by targeting "ambient computing": a sort of catchword for all the electronic objects around us. This is how the IOT becomes an accessible world with many solutions like Android Things (deprecated) or Ubuntu Core.
Ubuntu Frame: a kiosk on Ubuntu In addition to the 21.10 version that has just been released, Canonical took the opportunity to announce Ubuntu Frame : a kiosk running Ubuntu. Concretely, this is aimed at all "embedded screens" that have only one application to display: a bank machine, a billboard, train schedules……
Your Flutter application on Ubuntu Frame Among the frameworks that can run on this system, we can mention QT, GTK, Electron, SDL2… or Flutter! (note that a simple web page is also compatible. Just create the right configuration file (cf the Tutorials section of this newsletter) and boom your application is not only available on Ubuntu computers, but also on kiosks! |
|
|
|
|
|
Material Design is a set of graphic codes, notably used by Android. On the official website, iOS libraries and web libraries are made available to facilitate the one design = multiple platforms paradigm.
Google stops iOS support For iOS, there are two ways to use this design: via the implementation in Flutter or directly via dependencies written in Objective C and/or Swift . The development had a double objective for Google: public Google applications (e.g., Maps on iOS), but also for third-party developers. But late last week, Google has eventually announced it would stop supporting these "natives" libraries .
Whatever for and why? Initially the iOS bricks were developed to handle cases not implemented by UIKit (the iOS view framework). Over the years, though, UIKit has caught up, and is even doing better today. Jeff Verkoeyen , who is in charge of this project, says SwiftUI now provides a better solution for designing branded components. Finally, not using its components will allow Google to use Apple's graphics components directly and thus provide a better experience.
An impact for Flutter? As far as Flutter is concerned, this should not have any short-term consequences. It is indeed possible to use the Material components on iOS or, conversely, to choose the Cupertino library. However, some critics in the Flutter community are arguing Google should leave the development of Cupertino widgets to the opensource world and focus on new features. This is always a difficult choice to make… |
|
|
Miscellaneous news in brief |
|
|
⏫ Flutter 2.5.3 and Dart 2.14.4 are available in the stable channel, with essentially some minor bugfixes. |
|
|
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
|
🤑 Reminder - good deal: Google has just set up a partnership with the raywenderlich site to offer the book Flutter Apprentice until the beginning of January. But beware, this is the digital version… and not downloadable… and of course, this is in exchange for your email. |
|
✨ On the Flutter Pull Requests side, we can note:
- New Lint rules will be made available (PR #91659 )
- The ListTileThemeData will better respect Flutter conventions, get ready for an upcoming migration (PR #91449 )
- The InputDecorator will use MaterialState attributes where possible. As before, a migration process should be expected (PR #91182 )
|
|
☠️ Overnight, Google can basically call the shots on the life or death of a company. One more example of an app being unaccountably removed from Google Play … |
|
📅 Dart UP, the Russian conference on Dart and Flutter, is back for its fifth edition in a 100% online and free version. Take the opportunity to register for it : this year it will take place on December 3rd and 4th. |
|
📝 The DartPad seems to support additional dependencies: block, provider, riverpod, google_fonts… (the list is in the icon (I) at the bottom of the screen) |
|
⚙️ Intel has just made available and opensource a framework written in Dart to "verify" the operation of new software. |
|
⬆️ The AppWrite SDK (Backend As A Service opensource) for Flutter has just passed the symbolic milestone of version 2.0 . On the agenda: each method now returns a specific Object… and that's it! |
|
🕸️ The firebase_database package (FlutterFire) is now Android, iOS……… and web compatible! |
|
🧰 The XCode latest version can now "inspect" network requests, provided you have XCode 13 and a "real" phone or tablet. |
|
✖️ The support of Android applications on Windows 11 is not yet available, but it seems that the system can handle multiple instances of the same application. |
| |
|
In the 2000s, Windows XP was the operating system that won over millions of users worldwide. But XP was best known for its repeated security flaws, forcing Microsoft to patch it on a regular basis to try and stop the bleeding.
Faced with this problem, Microsoft launched a parallel project involving 35 developers under the code name Singularity. The idea was to design an operating system from scratch, but above all to provide a concrete solution to security problems.
Developed from 2003 onwards, the first version was released in 2007, before undergoing a few more versions. But the project was soon abandoned and no longer exists in this form today.
You can read this PDF document explaining what made it different from the others (or this condensed article). The various Windows releases since then have probably picked up some of the ideas, but it's interesting to see that at Redmond, security was a major issue at the time. |
|
|
Dart/Flutter articles and tutorials |
|
|
|
No, no, this article is not about Yvette Horner , but about the graphical component that displays information that unfolds. The idea here is not to show you the code, but rather to focus on the ergonomic aspect. In concrete terms: what are the best practices for using this component. |
|
|
|
|
|
This article explains how to create a "common" search function in your application on the one hand. Then on the other hand, how to display the results with different visuals according to the platform being used. |
|
|
|
|
|
|
|
Let's say you have a list with different widgets in it and you want to be able to move around in it, like in a table of contents. This article explains how this is possible from start to finish. |
|
|
|
|
|
Flutter on the desktop is not yet stable and its direct competitor is called Electron. This article discusses the strengths and weaknesses of each solution to determine which is the most optimal today based on various points of comparison. Verdict: read the article! |
|
|
|
|
| |
|
|
|
Get the version number in Flutter Web |
On Android or iOS, the version number is managed by the system directly. But a site is not versioned according to the same criteria. However, you will notice that in the build/web folder, a version.json file is present with the application name, its version number and a build number (via @GonPalma ). |
|
|
|
|
Generating fake data in IntelliJ |
Test Data is an official plugin for IntelliJ that allows you to inject fake data into your code. You can use predefined values (text, numbers, addresses) or create your own set (a JSON for example) |
|
|
|
| |
|
|
|
|
|
How do you create a Flutter card layout that grows horizontally up to a given width, then remains fixed at that width just like in this example?
|
|
|
|
On a regular basis Mike Rydstrom compiles a ranking of packages that make Navigator 2.0 easier to use. For this fourth edition, go_router (Chris Sells' solution) makes a promising debut. |
|
|
|
|
|
|
|
|
|
AppWrite, one of the Hacktoberfest partners, organized on Wednesday a mini online conference with the program: Connecting your Flutter App to AppWrite, Scalable Flutter app development, Structuring a Flutter desktop application with macos_ui and finally Generating a scalable Flutter App in seconds with Very Good CLI |
|
|
|
|
|
|
|
A few issues ago, fvm and its graphic interface Sidekick GUI were introduced in this newsletter as a tool that allows you to manage different versions of Flutter per project. Except that asdf is even better, since it can not only manage Flutter, but also any framework or language: Python, Kotlin, Symfony… (here is the complete list). Very practical, you will be able to define, per project, or globally a version,⁹ and then simply commit the .tool-versions file so that your whole team can benefit. |
|
|
|
|
|
|
Panache is a tool for Flutter that allows you to create a ThemeData for your MaterialApp. Visually and in your browser you can try out different colors and values. A great tool for Flutter developers, or even to give directly to your designers. |
|
|
|
|
|
|
Want to know if your SQL requests are optimal? With this Linter, you'll write queries that are both more readable and probably more efficient! |
|
|
|
29-30 October |
Online |
Flutter Kaigi |
|
|
03-04 December |
En ligne |
Dart Up |
|
08-09 December |
Online |
Flutter Global Summit |
|
|
Your opinion on this issue |
| | | | |
|