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
サイバー攻撃の標的は、パスワードよりも「認証後の証明」へ移ろうとしている。アイデンティティ管理のOktaはなぜ狙われ、どう対策していくのかを聞いた[PR]
PR
2024-03-26 21:51
凸版印刷とサイバーリンクス、小売業の営業支援で連携
IT関連
2021-05-19 10:27
NTT西、日本MSと協業–自治体DXで立ちはだかる壁にソリューション提供
IT関連
2023-05-24 07:33
IPA、「内部不正防止ガイド」を改訂–テレワークや検知技術を追加
IT関連
2022-04-08 09:27
オラクルとマイクロソフト、「Oracle Database@Azure」を発表
IT関連
2023-09-16 11:38
図書印刷ら3社、AIを活用した外観検査システムを開発–書籍の不良箇所を検知
IT関連
2022-10-01 14:44
企業は生成AIサービスに分かりやすい価格体系を求めている
IT関連
2023-09-21 11:55
AIエージェントのエコシステムが作る未来–アクセンチュア予測
IT関連
2024-01-26 06:17
開発スピードの速い企業は品質が高く、遅い企業は品質が低い。和田卓人氏による「組織に自動テストを根付かせる戦略」(その2)。ソフトウェア品質シンポジウム2022
CI/CD
2022-09-26 09:25
海洋研究開発機構と鹿児島大、デジカメ撮影による海岸の写真からAIで漂着ごみの被覆面積を高精度に推定する新手法を開発
IT関連
2022-02-08 08:54
起点は「データの集約」–Snowflake インダストリーCTOが説く、小売業界のデータ活用
IT関連
2023-12-05 18:24
オープンテキスト、「情報の再構築」を中心に据えた日本市場の事業戦略を説明
IT関連
2024-11-14 06:41
ホスティングのScalewayがMac miniのクラウドインスタンスを立ち上げ
ネットサービス
2021-02-04 12:40
PCの使い方で大きく違う温室効果ガス排出量の削減効果
IT関連
2023-03-10 20:02