Win32 C/C++向けMicrosoft Edge WebView2、製品版アプリケーションで使用する準備が整う 43
ガッ 部門より
Microsoftは19日、Win32 C/C++向けのMicrosoft Edge WebView2が一般に利用可能(GA)となり、製品版アプリケーションで使用する準備が整ったことを発表した(Microsoft Edge Blogの記事、 GitHubのアナウンスページ、 リリースノート)。
WebView2はMicrosoftの新しい埋め込み用Webコントロール。Chromium版Microsoft Edgeをベースに構築されており、最新のWeb技術を容易かつ迅速にネイティブのデスクトップアプリケーションに取り入れることが可能だ。今回の発表と同時に前方互換のWebView2 SDKと製品としてリリース可能なWebView2ランタイムも提供が始まった。これらはすべてのWin32 C/C++アプリケーションで使用でき、Windows 7/Server 2008 R2以降のWindowsがサポートされる。
WebView2はWindows開発環境の統一と進化を目指すProject Reunionの一環であり、今後Win32アプリケーションだけでなくUWPアプリケーションでも利用可能になる。現在のところ.NET(WinFormsおよびWPF)はプレビュー版が提供されており、2020年末のGAが計画されている。WinUI 3ではWinUI 3プレビューでサポートされており、WinUI 3と同時のGAを計画しているという。
WebView2では「Evergreen」と「Fixed」という2つの配布モデルが用意される。Evergreenは同モデルを使用するすべてのアプリケーションでWebView2ランタイムを共有し、安定版Microsoft Edgeの更新に合わせて自動更新される。将来のWindowsリリースでは、Evergreenモデルのランタイムが同梱されるようになるとのこと。ただし、すべての環境にMicrosoft Edgeがインストールされているわけではなく、特定のMicrosoft Edgeバージョンが必要な環境もあるため、WebView2ランタイムはMicrosoft Edgeとは別に更新される。
Fixedモデルのランタイムはアプリケーションにバンドルして配布され、自動更新は行われない。開発者は自らランタイムのバージョンをコントロールできる一方で、更新の責任も負うことになる。今回提供開始されたのがEvergreenモデルのランタイムで、Fixedモデルのランタイムは現在Win32 C/C++および.NETに対応するプレビュー版が提供されており、2020年末のGAを計画しているとのことだ。
スゴイぞMicrosoft (スコア:1)
これ Windows 7 もサポートしています.前方互換,つまり古いOSである Windows 7 でも最新のブラウザエンジンが利用できるようになっています.
Windows 7自体は延長サポートさえ終了しているのに,今後も最新のブラウザが利用できるわけです.
意地悪な言い方をすれば, Win32 に対応させてるから結果的に Windows 7 でも動いちゃう,って事なんでしょうが
Microsoft は頑張ってるなぁと思います.
Re: (スコア:0)
ブラウザエンジンをWin32使わない縛りで書く方が難しそうだけど。
Re: (スコア:0)
「Win32で書く」は親トピックが言いたいことの一部で、Windows 7 もサポートしているということはすごいねということが本題だよね。
普通に書いたら動かないなんてすぐ起こるでしょ?
動くようにしっかり作ってるんだよ。
Re: (スコア:0)
sradの基準で言えば、普通に書いたら、動いて当たり前。テストもあるんだし。
そうでもなくて、7を切らなかったこと、だろう。
最適化のため、pre 10を切る判断もできた。
Re: (スコア:2)
>動いて当たり前。テストもあるんだし。
動いて当たり前って考え方が一番危ない。それは今までいろいろとやらかしてきたM$が一番わかってるはず。
だからこそ「結果的に Windows 7 でも動いちゃう」のは「動いて当たり前」にかなり近いんだけどそれでOKとはせず、テストまで完遂させて公式サポートまで持って行ったわけでしょう。
普通の企業ならわざわざ金と時間をかけてまでサポート切れの旧OS上でのテストなんかしないわけで、やはりそこはM$頑張っていると思いますよ。
Re: (スコア:0)
"M$"って蔑称だよな。
どういう考えなら、この文脈で"M$"を使うんだろうか。
褒めるような文章であっても隙あらば叩きたいぐらいMSが憎いとかか?
Re: (スコア:0)
> だからこそ「結果的に Windows 7 でも動いちゃう」のは「動いて当たり前」にかなり近いんだけどそれでOKとはせず、テストまで完遂させて公式サポートまで持って行ったわけでしょう。
ネットワークまわりと、暗号化関連はWin7とWin8以降では、OS側の機能にもWin32のAPIレベルでも別OSだろうって言いたくなるくらい機能の隔りがあるので、そのまま作ったら動きません。
おそらくは、Edgeの Win7対応のときにやったんだと思いますが、Win7で動作するように、移植層も書いたりOS機能のバックポートとか、Win7で動かすためにはかなり手が入ってるはずですよ。
Re: (スコア:0)
7用に書いて、それ以上の環境では、それ以上の機能使うように書けばいいのでは。
# ちょっとソースがでかすぎて、今しゅっと見てこれないが、いい機会だから近々見てみるとする。今日は雑談。
Re: (スコア:0)
sradの基準てなに?
そもそも普通なんて人によって答え変わるんだから共通見解はありえないでしょう。
だいたいテストをするにもお金はかかるんですよ。
Windows 7向けのテストしてたらWindows 7向けにしっかり作ってるってこと。
ものづくりってのはテストを含めての話になるよね。
Re: (スコア:0)
もともとwin7に対応させないつもりで作ってたらこんぱいるえらーwin7にそんなライブラリはありませんとかになるかもね
Chromium自体がwin7でビルドできるのが大きんじゃない? (スコア:0)
win 8.1 sdkでビルドできれば別に技術的には大したことじゃないけど、なんで7切らなかったのか気になる。
組み込みエンジンの多様性 (スコア:0)
WindowsはOS組込のHTMLエンジンまで多様な選択肢を用意してくれるんですね。
IEコンポーネントやEdgeHTMLも維持するんでしょ?
Re: (スコア:0)
EdgeHTMLはセキュリティフィックスだけになるのかな。
EdgeはChromeと挙動が違う場合はバグ、という方針だったから、Edge WebView2と差し替えてもいい気もするけど。
どうせまた (スコア:0)
派生元のChromeみたいに [gigazine.net]「Cookieとサイトデータを削除」を有効にしてもMicrosoft系のサイトのデータは消さないとか普通にやってそう。
そしてそうなった場合でもMicrosoft信者は、Googleがやった時とは違いダンマリと。
Re: (スコア:0)
Chromeにそういう挙動があったのは知らなかったけど、もし同様の挙動が出たら文句言うと思う
単体製品じゃなくて組込みだしねえ
# 単体でもよほど明確な理由がないと文句言うと思うが...
自分がMS信者ってこともないので、普通にどっちにもだけど
Re: (スコア:0)
そういうのを自分だけ挙動変えちゃうのはトラブルの元だからねぇ。
Re: (スコア:0)
Chromeに限らずYandexとか、アカウント連携機能のあるChromiumブラウザはそういう仕様みたいですよ
Re: (スコア:0)
このコメントで初めて知ったが、Googleひでえな。
Re: (スコア:0)
同時に、Googleならやりかねんと納得している。
Re: (スコア:0)
クッキーは消すといろいろ動かなくなるので、最近はあまり消さなくなってしまい、代わりにブラウザごと変えるようになりました。Googleに関係することはChromeに任せ、それ以外のことはFirefoxとかEdgeとかにしてます。なんかよくわからなくはなりますが。
Re: (スコア:0)
WebViewの話ってわかってる?
Re: (スコア:0)
Google叩いてんのはMicrosoft信者じゃなくてお前だろ。
Re: (スコア:0)
Google糞すぎwwww
Re: (スコア:0)
あー、これはブラウザ事業が分割されますわ。
Re: (スコア:0)
YouTubeを別アカウントでログインするには、プライベートモードか、別プロファイルで立ち上げるしかないような仕様だしね。
ついにIEコンポーネントとおさらば? (スコア:0)
IEのときはBSキーなどのキーがきちんと処理されなかったり、Javascriptエラーのダイヤログ出たり、デフォルトのIEバージョンが古かったりで、コントロールとして貼り付けただけじゃうまく動かず四苦八苦したものだけど、
新しいのでは使いやすくなってるのかな
Re: (スコア:0)
ブラウザを組み込めるだけだから使いやすくはなってないよ。
エレメントを操作できるようになってれば完全に代替できるんだけどね。
Re: (スコア:0)
エレメントってDOMエレメントのこと?
それはもちろんJavascriptインジェクションで操作できるけど。
別のものを指してるのかな?
Re: (スコア:0)
javascriptインジェクションってww
そんなことしないと扱えないレベルなのかよ。ゴミだな
Re: (スコア:0)
密結合になってる方が穴突かれるよ。
頭古い。
Re: (スコア:0)
テイントモデルを進化させるとかもっとマシな実装があるだろ。
原始的なインターフェースを疎結合なんて言いかえをするのはペテン師だよ。
Re: (スコア:0)
主要なOSの提供するWebViewはJavascript経由の操作が普通だよ。
IEの密結合っぷりが古いだけ。
あんたの言う方式は難があるから採用されてないのが現実。
反論するなら実例を出してみな。
Re: (スコア:0)
主要なOSの提供するWebViewって、どうせ1系統しかないだろ。。(横槍
Re: (スコア:0)
まあみんなWebkitベースだからな。
APIはOSごとに違うけどできることは似たり寄ったりだね。
もちろんエレメントの操作も。
Re: (スコア:0)
残念ながら、未だにIEコンポーネントと付き合ってるような人々が、
挙動の変わる新コンポーネントに乗り換えるためのプログラムや知識の更新をする訳が無いのだ…
Re: (スコア:0)
関連としてこちらに。
NT5/mmc世代のUIがたぶんいまだにmshtmlに接続してるけど、あのへんも疎結合になってくれないかな。
そしたら、Win98以来ずっと願っていた、ブラウザフリーなWindowsが帰ってくる。
# 操作してない間は、きっちりアンロードされててほしいんだ。
Re: (スコア:0)
IEコンポーネントですらブラウザのバージョンの影響を受ける。
こいつならそこも固定できる。
Re: (スコア:0)
知ってる。レジストリにEXE名を書けば固定できて、デフォはIE7に固定だろ。
Re: (スコア:0)
「自作のネイティブアプリに手軽に組み込めるWebブラウザ」
って縛りだとIEコンポの次として将来性が期待できる物があんまなかったから……
Electronはブラウザがメインでネイティブアプリをそこに組み込むような物だし、
Mozilla系はもっと面倒そうだし、Edgeは既に死んでいる事から明らかだがまだ先が見えなかった。
IEコンポはモダンブラウザこそ使えないがOSのアップデートの恩恵を受けられつつ、
大規模な仕様変更からは距離を取ることも出来て導入が楽と圧倒的だった。
Re: (スコア:0)
それほど甘くなかろう。
Legacy EdgeがインストールされていないWindows 10 ver.20H2にもEdgeHTML.DLLがUWPサポート用に残っている。
ブラウザとして直接使えないだけで、TLS1.3対応もされてこのまま残っていくのではないか?
UWPアプリケーションでも利用可能 (スコア:0)
WebView2を使ったChromeがリリースされるのかな? またMicrosoftはストアから弾くための新しい屁理屈をこねるかな?
Re:UWPアプリケーションでも利用可能 (スコア:1)
割り当てられたアクセスのキオスクモードで使うために、WebView2を使った公式UWPブラウザアプリ(「Kiosk Browser」の後継)は出してほしいな。
Re: (スコア:0)
実は、Evergreen版ってver.86.0.622.48のChromium EdgeをC:\Program Files (x86)\Microsoft\EdgeWebViewにインストールしているだけだったりする。コンポーネントのGUIDとかレジストリでの扱いが通常のChromium Edgeとは違うのだろうがな。