Dart言語のフレームワーク「Flutter 2」公開。単一コードでiOS/Android/Web/Win/Mac/Linuxのネイティブアプリ実現。WebAssemblyによるレンダリングエンジン搭載

今回は「Dart言語のフレームワーク「Flutter 2」公開。単一コードでiOS/Android/Web/Win/Mac/Linuxのネイティブアプリ実現。WebAssemblyによるレンダリングエンジン搭載」についてご紹介します。

関連ワード (世間、今年、安定版等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Googleは、Dart言語のフレームワーク「Flutter 2」の公開を発表しました。

Flutter 2では、Webアプリケーション開発機能が安定版となり、さらにWindows、Mac、Linux対応のアプリケーション開発も早期リリースフラグ付きの安定版になりました。

これによりFlutter 2は、単一のコードベースでiOS、Androidのネイティブなモバイルアプリケーション、Windows、Mac、Linuxのネイティブなデスクトップアプリケーション、Webアプリケーション、そして組み込みデバイスのアプリケーションまで生成できる、マルチプラットフォームのアプリケーション開発に対応するフレームワークとなりました。

fig

Flutter 2で用いられているDart言語は今から10年前、2011年にGoogleが「JavaScriptは単なる言語の進化では修正できない根本的な問題を抱えている」としてJavaScriptの代替を目指すWeb言語として開発したプログラミング言語でした。

参考:グーグル、新言語「Dart」を発表。JavaScriptのようなWebプログラミングを想定

いずれはDartVMがChromeに搭載される予定でしたが、Googleが期待したほどにはDartは普及せず、2015年にはChromeへのDartVMの搭載を断念。JavaScriptへのトランスパイラとなる方向性を打ち出します。

Darは世間からの注目を失いつつありました。そして2017年にTypeScriptがGoogle社内における標準言語の地位を獲得すると、DartはGoogle社内のWeb開発言語としてもTypeScriptとAngularに地位を脅かされるようになります。

こうした中、2018年にDart言語チームは突然「Dartを再起動する」としてDart 2を発表。Dart 2では型推論によってコードの品質を高める支援を行い、newやconstをオプションにすることで、より直接的にUIをコードで表現できるように強化されました。

そしてDart 2に対応したモバイルアプリケーション用のUIツールキット「Flutter」も発表され、Dartの復活劇が本格的に始まったのです。

参考:Googleが「Dart 2」発表、Dartを再起動。iOS/Android用ライブラリ「Flutter」と共にWebとモバイルのクライアント開発にフォーカス

Flutterは、単一のソースコードでiOSとAndroidのそれぞれに対応した美しいモバイルUIを実現する、ネイティブアプリケーション開発が可能なUIフレームワークとして登場しました。

2018年12月にFlutterがバージョン1.0に到達。

同時に、FlutterをWindows、Mac、Linuxに対応させる新プロジェクト「Flutter Desktop Embedding」と、FlutterアプリをWebアプリに変換する「Hummingbird」プロジェクトも発表され、Flutterはマルチプラットフォーム対応のフレームワークへと踏み出すことになります。

2019年5月、Hummingbirdによる実証が確認されたとして、FlutterをWebアプリへ正式に対応させる「Flutter for Web」を発表しました。

そして今回、リリースが発表された「Flutter 2」では、Webアプリケーション対応が安定版となりました。

fig2

Webアプリケーション対応では、WebAssemblyによる高速なレンダリングエンジン「CanvasKit」を搭載することで、ネイティブアプリケーションのように柔軟なグラフィックとUIを実現しています。

SPA(Single Page Application)やPWA(Progressive Web Application)などの開発にも対応します。

下記はお掃除ロボットのルンバで知られるiRobot社がFlutterで開発した教育向けプログラミング環境のWebアプリケーション画面です。

fig3

Flutter 2では、Windows、Mac、Linux対応のデスクトップアプリケーション開発も早期リリースフラグ付きの安定版のとなりました。

fig4

さらにFlutter 2は組み込み機器への対応も始めており、トヨタが新しい自動車向けのインフォテイメントシステム(インフォメーション+エンターテイメント)の開発にFlutter 2を採用したことが発表されました。

fig5

また、FlutterとDart対応のデバッグツールとしてステップ実行やブレークポイントの設定、スタックの状態の調査、レンダリングの状況、ネットワークの状況などを把握できるFlutter DevToolsがVisual Studio CodeとAndroid Studioで利用可能であることも発表されました。

fig6

このようにDartとFlutterは、マルチプラットフォームに対応したプログラミング言語およびフレームワークとして大きな発展を遂げようとしています。課題があるとすれば、Dart言語の人気を今度どうやって高めていくか、という点にあるでしょう。

その点で、同じくマルチプラットフォーム対応の競合フレームワークとして台頭しようとしているのがマイクロソフトの.NETです。.NETも今年11月に登場予定の.NET 6でXamarinの統合が完了します。

さらに.NET 6ではWindows、Mac、iOSやAndroidなど複数のプラットフォームのユーザーインターフェイスを記述できるUIキット「.NET Multi-platform App UI」(.NET MAUI)も含まれる予定です。

参考:マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど

つまり.NETも単一のソースコードから、iOS、Android、Windows、Mac、Linux、Webとあらゆるプラットフォームに対応したアプリケーションを構築するフレームワークとなります。

これまでも、マルチプラットフォーム対応を実現するというプログラミング言語とフレームワークは登場してきましたが、実際のところそれに成功し定着したといえるものはまだ存在しないといっていいでしょう。

果たしてGoogleのFlutter 2は、そしてマイクロソフトの.NETは、そうした成功にたどりつくフレームワークになるのでしょうか。

COMMENTS


8990:
2021-03-09 21:35

【機構城、ミカゲ光無効パ】 一応全対応になったと思います 2、3Fの指減少、回復減少、消せないの対策が出来てるので序盤から安定。 代用等含め、簡単にまとめたのでどうぞ 改訂版です

9001:
2021-03-09 18:57

「Microsoft Edge 89」の安定版にスリープタブや垂直タブが初期搭載 - 窓の杜

9000:
2021-03-09 18:38

【注目記事】   「OnePlus Nord」向けに「Android 11」ベースの安定版「OxygenOS 11」がリリース

8993:
2021-03-09 16:50

星龍チャレンジ、ミカゲ光無効パの自分なりの安定立ち回りの改良版です 3F闇魔剣士出ても44で耐えられるように片方のミカゲの遅延耐性を闇軽減+に変更しました 敵の行動は攻略サイト見ながら作ったので、間違えてたらごめんなさい?‍♂️…

8994:
2021-03-09 13:13

しんさん、ありがとうございます!? 自分なら2時間でここまでは弾けないです!安定していく過程が楽しみです。ちなみに何かで見ましたが、映画版?のソロギターしらべは難易度Aと言いながら実態はほぼCという噂を聞きました。なので難しいのかもしれません。

8997:
2021-03-09 12:41

「Microsoft Edge 89」の安定版にスリープタブや垂直タブが初期搭載/悪用が確認済みの脆弱性修正も含まれているので注意。できるだけ早い更新を はよChromeも垂直タブ導入しなさいよ

8999:
2021-03-09 10:25

テスト配信終了しました~! 安定して普通に配信出来ていたので、大丈夫そうですね…? ヨカッタ??? テスト配信にお付き合い頂いた方もありがとうございます? チュートリアルもろくに出来ませんでしたし、ウマ娘のDMM版が10日リリースなので、…

8995:
2021-03-09 10:11

楽天の注目キーワード 第19位「スマートウォッチ」をAmazonで検索!! アマゾンのセールスランク 12 位! 【最新Bluetooth5.0 IP68防水】スマートウオ… 【接続安定&運動ビジネス兼用】2021最新改良版…

8998:
2021-03-09 03:25

【Microsoft、「Visual Studio Code」v1.54を公開】 ・米Microsoftは3月5日(現地時間)、コードエディター「Visual Studio Code」の2020年2月アップデート(v1.54)を…

8991:
2021-03-09 02:34

【Apex/スイッチ版】フレームレート(fps)を上げる!安定させてカクつきをなくす設定

8996:
2021-03-09 02:21

ワンドライブが同期出来てないだけだからそれじゃないとおもう!! ブルスタの設定で パフォーマンスは中以上、グラフィックエンジンを互換性にして、32bit版で安定してる! 結局64bitは使ってない!

8992:
2021-03-09 01:18

ワーキングアニメ見返してるけどやっぱ、犬組の方が面白いなー。高津カリノ先生の漫画はワーキング、ワーキングweb版、サーバントサービスの3つしか知らんけど安定に面白い

Recommended

TITLE
CATEGORY
DATE
広島市、庁内業務の効率化に「Claris FileMaker」を導入
IT関連
2024-05-29 07:12
米国では未成年への電子タバコ「VAPE」販売にTikTokが使われている
ネットサービス
2021-02-17 11:51
オープンソースのWebAssemblyサーバレス基盤「Wasm Workers Server 1.0」正式リリース。RubyとPythonのWASMランタイムに対応し、Ruby/Pythonでの記述が可能に
JavaScript
2023-03-09 18:07
マイクロソフト、「Azure AI Studio」のパブリックプレビューを発表
IT関連
2023-11-18 08:10
RPAに企業の統合管理やAI活用を実装–Blue Prismが戦略発表
IT関連
2021-03-12 03:07
売りたい人と“売れる人”をマッチング フリマ出品代行「マカセル」アプリ公開
ネットトピック
2021-05-12 15:06
「Linux」に「Snap」を使用してソフトウェアをインストールするには
IT関連
2023-05-26 04:31
IBM、カナダで量子コンピューティングシステム導入へ–ケベック州と提携
IT関連
2022-02-08 05:49
サイバーセキュリティは「テトリス」と同じ–M・ヒッポネン氏が語るサイバー犯罪との闘い
IT関連
2023-06-27 23:13
[速報]AWS、読み込み性能も書き込み性能もスケールする「Amazon Aurora Limitless Database」プレビューを発表。AWS re:Invent 2023
AWS
2023-11-29 07:27
「Windows 10」の「IE」、完全に無効化
IT関連
2023-02-16 11:09
「ChatGPT」の内部の働き–ユーザーの意図を踏まえた回答を生成する仕組み
IT関連
2023-07-23 23:51
ピクセルカンパニーズ、生成AI向けコンテナー型データセンターを発表
IT関連
2024-08-24 13:09
コニカミノルタ、画像IoTを活用した「フォークリフト事故低減サービス」を開始
IT関連
2021-01-19 13:19