Flutter 3.47、MaterialとCupertinoを分離し、デスクトップでImpellerをデフォルトに
What's New in Flutter 3.47
Flutter 3.47がリリースされ、MaterialとCupertinoのデザインシステムがスタンドアロンのパッケージ(material_ui、cupertino_ui)として分離され、1.0に達しました。これにより、SDKのリリースサイクルに依存せずにウィジェットの更新が可能になります。また、ImpellerがmacOS、Windows、Linuxでデフォルトのレンダラーとなり、Xcode 27、iOS 27、macOS 27への対応、Intel Macのサポート段階的廃止、WebAssembly(Wasm)への移行準備、Widget Previewsの安定版化などが含まれます。
デザインシステムを分離することで、Flutter SDK全体をアップグレードしなくても、最新のCupertinoおよびMaterialウィジェットスタイルを使用できます。
HNでの議論
214- meerita
私は今でもFlutterよりもReact NativeとExpoを好みます。主に実用的な理由からです:
* 言語と採用:TypeScriptは開発者のプールがはるかに大きいです。Dartは堅実な言語ですが、経験豊富なFlutterエンジニアを見つけるのは難しいです。
* プラットフォームモデル:React Nativeはネイティブのプラットフォーム概念にはるかに自然に対応します。Flutterはレンダリングスタックの多くを所有しており、それは強力ですが、アプリとプラットフォームの間に別の抽象化レイヤーを作り出します。
* パフォーマンス:Flutterも確かに高速になり得ます。それを否定するつもりはありません。しかし、私の経験では、RNの方が一貫してネイティブに感じられるインタラクションやアニメーションを実現するのに必要な作業が少ないです。
* エコシステム:RNはより広範なReact、TypeScript、JavaScript、ネイティブのエコシステムの恩恵を受けています。Expoも劇的に改善され、現在ではモバイルプラットフォームの一般的な作業の大部分をカバーしています。
* プラットフォーム固有の機能:どちらのフレームワークもネイティブコードを完全に排除することはできません。ウィジェット、Live Activities、Dynamic Island、拡張機能、NFC、その他のプラットフォームAPIは、結局SwiftやKotlinに戻らざるを得ません。
* ネイティブへの移行:長期的な目標がSwiftとKotlinであるなら、RNの方がより良い中間表現だと思います。そのコンポーネントモデルとプラットフォーム統合はネイティブの概念に近く、コードベースをエージェントが段階的に本格的なネイティブアプリケーションに変換するのも容易です。
とはいえ、これらはトレードオフであり、Flutterが悪いという主張ではありません。Flutterは大きく改善されており、チームによっては…
- doodlesdev
私はFlutterをAlpha版から使ってきましたが、数年離れていました。今回のリリースノートでいくつかのことに衝撃を受けました:なぜImpellerがまだ全プラットフォームでデフォルトエンジンになっていないのか?また、Dartのコア機能の一つがJavaScriptへのコンパイルであるのに、なぜWASMに移行しているのか?最後に、なぜマルチウィンドウサポートが、デスクトップサポートから4年経ってようやく実現可能になったのか?
正直なところ、Flutterは非常に楽しい開発体験ですが、私が気にかけている人には誰にも勧めたくありません。Googleが開発しているという事実は助けにはなりません:彼らがこれまでに多くのUIライブラリやフレームワークを殺してきたように、いつかFlutterも殺すのは時間の問題です。特にJetBrainsがCompose Multiplatformを開発し、AndroidチームがCompose戦略に全力を注いでいる中で。
- oDot
彼らのシンプルなレイアウトモデルの当初の約束が実証されたかどうか、誰か知っていますか?
確か、Flutterチームは幅と高さの制約だけを使うことで、関連するすべてのレイアウトを表現できると述べていました。これはとても素晴らしく聞こえます。Flexboxよりもはるかにシンプルで、CSS Gridの使い勝手よりもはるかに優れています。
その約束は果たされたのでしょうか、それともモデルをFlexやGridなどで拡張したのでしょうか?
- jimbob45
Googleの無数のプロジェクトの中で、なぜFlutter/Dartだけが斧を免れたのでしょうか?嫌いだと言っているわけではありません。両方とも本当に素晴らしいと思います。ただ、なぜGoogleがこれらを弱いサポートと明確なビジョンなしに、より広範なウェブエコシステムの中で引きずり続けているのか理解できません。
- Humphrey
ああ、ついにマルチウィンドウサポートか。これで、ずっと作りたかったシンプルなデスクトップアプリのサイドプロジェクトにFlutterを使えるかもしれない。
- BiteCode_dev
まだメンテナンスされているのはとても嬉しいです。なぜなら、それはLinux、Windows、Mac、iOS、Androidで同時に動作する、1つのコードベースで手軽に開発でき、そこそこ速いアプリを実現できる唯一の本当のフレームワークだからです。
とても素晴らしいです。
- TheChaplain
FlutterとReact Nativeは今日でも依然として実行可能な選択肢なのでしょうか?
最近は、ネイティブモバイル、KMP、またはPWAを選ぶ人が多いという印象を受けます。
- Aldo_MX
MaterialとCupertinoを分離するのは非常に理にかなっています。