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
Microsoft、ワンクリックの脆弱性緩和ツール公開 「Exchange Server」の脆弱性悪用続く :この頃、セキュリティ界隈で(1/2 ページ)
セキュリティ
2021-03-18 22:52
IBM、分社化するマネージドインフラ企業の幹部2人を新たに発表
IT関連
2021-03-05 06:00
Spotifyがようやく米国でも歌詞をリアルタイムで表示する機能のテストを開始
ネットサービス
2021-02-11 19:17
M1搭載の薄い「iMac」登場 Touch ID付きMagic Keyboardも
企業・業界動向
2021-04-22 18:29
PayPayに「ログイン管理」機能 利用状況を確認、遠隔ログアウトも
セキュリティ
2021-01-27 08:16
セキュアワークス、安定成長を目指す第3段階の事業戦略を発表
IT関連
2024-05-24 14:33
Canonical、「Ubuntu 22.10」をリリース–IoT開発者向けの機能強化など
IT関連
2022-10-27 07:09
横川電機、製造業のDXを支援する新会社「横河デジタル」を設立
IT関連
2022-07-02 05:29
スペースXが再利用Dragon宇宙船での宇宙飛行士の打ち上げに初成功
宇宙
2021-04-25 07:41
ストックホルムの成熟したスタートアップエコシステムについて8人の投資家に聞く(後編)
IT関連
2021-03-23 02:39
Electron代替を目指すTauriがGUIライブラリ「tauri-egui 0.1.0」をリリース
Rust
2022-09-27 15:06
いまだ複雑なクラウドに対するセキュリティの意識
IT関連
2022-02-16 09:07
「新しい景色」を見るために情報の価値化と知の協創をデザイン–内田洋行・大久保社長
IT関連
2023-01-06 17:51
超巨大クラウドのシステム開発現場を行動観察。ガチ三流プログラマが米国システム開発の現状をリークする話(1) Regional Scrum Gathering Tokyo 2022
DevOps
2022-01-18 19:51