パスワードを忘れた? アカウント作成
14966414 story
Windows

Win32 C/C++向けMicrosoft Edge WebView2、製品版アプリケーションで使用する準備が整う 43

ストーリー by nagazou
ガッ 部門より
headless 曰く、

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を計画しているとのことだ。

  • これ Windows 7 もサポートしています.前方互換,つまり古いOSである Windows 7 でも最新のブラウザエンジンが利用できるようになっています.

    Windows 7自体は延長サポートさえ終了しているのに,今後も最新のブラウザが利用できるわけです.

    意地悪な言い方をすれば, Win32 に対応させてるから結果的に Windows 7 でも動いちゃう,って事なんでしょうが
    Microsoft は頑張ってるなぁと思います.

    ここに返信
    • by Anonymous Coward

      ブラウザエンジンをWin32使わない縛りで書く方が難しそうだけど。

      • by Anonymous Coward

        「Win32で書く」は親トピックが言いたいことの一部で、Windows 7 もサポートしているということはすごいねということが本題だよね。

        普通に書いたら動かないなんてすぐ起こるでしょ?
        動くようにしっかり作ってるんだよ。

        • by Anonymous Coward

          sradの基準で言えば、普通に書いたら、動いて当たり前。テストもあるんだし。
          そうでもなくて、7を切らなかったこと、だろう。
          最適化のため、pre 10を切る判断もできた。

          • by hakikuma (47737) on 2020年10月21日 18時27分 (#3910753)

            >動いて当たり前。テストもあるんだし。

            動いて当たり前って考え方が一番危ない。それは今までいろいろとやらかしてきたM$が一番わかってるはず。
            だからこそ「結果的に Windows 7 でも動いちゃう」のは「動いて当たり前」にかなり近いんだけどそれでOKとはせず、テストまで完遂させて公式サポートまで持って行ったわけでしょう。

            普通の企業ならわざわざ金と時間をかけてまでサポート切れの旧OS上でのテストなんかしないわけで、やはりそこはM$頑張っていると思いますよ。

            • by Anonymous Coward

              "M$"って蔑称だよな。
              どういう考えなら、この文脈で"M$"を使うんだろうか。
              褒めるような文章であっても隙あらば叩きたいぐらいMSが憎いとかか?

            • by Anonymous Coward

              > だからこそ「結果的に Windows 7 でも動いちゃう」のは「動いて当たり前」にかなり近いんだけどそれでOKとはせず、テストまで完遂させて公式サポートまで持って行ったわけでしょう。

              ネットワークまわりと、暗号化関連はWin7とWin8以降では、OS側の機能にもWin32のAPIレベルでも別OSだろうって言いたくなるくらい機能の隔りがあるので、そのまま作ったら動きません。
              おそらくは、Edgeの Win7対応のときにやったんだと思いますが、Win7で動作するように、移植層も書いたりOS機能のバックポートとか、Win7で動かすためにはかなり手が入ってるはずですよ。

              • by Anonymous Coward

                7用に書いて、それ以上の環境では、それ以上の機能使うように書けばいいのでは。

                # ちょっとソースがでかすぎて、今しゅっと見てこれないが、いい機会だから近々見てみるとする。今日は雑談。

          • by Anonymous Coward

            sradの基準てなに?
            そもそも普通なんて人によって答え変わるんだから共通見解はありえないでしょう。

            だいたいテストをするにもお金はかかるんですよ。
            Windows 7向けのテストしてたらWindows 7向けにしっかり作ってるってこと。
            ものづくりってのはテストを含めての話になるよね。

            • by Anonymous Coward

              もともとwin7に対応させないつもりで作ってたらこんぱいるえらーwin7にそんなライブラリはありませんとかになるかもね

    • win 8.1 sdkでビルドできれば別に技術的には大したことじゃないけど、なんで7切らなかったのか気になる。

  • by Anonymous Coward on 2020年10月21日 16時14分 (#3910659)

    WindowsはOS組込のHTMLエンジンまで多様な選択肢を用意してくれるんですね。
    IEコンポーネントやEdgeHTMLも維持するんでしょ?

    ここに返信
    • by Anonymous Coward

      EdgeHTMLはセキュリティフィックスだけになるのかな。
      EdgeはChromeと挙動が違う場合はバグ、という方針だったから、Edge WebView2と差し替えてもいい気もするけど。

  • by Anonymous Coward on 2020年10月21日 16時21分 (#3910668)

    派生元のChromeみたいに [gigazine.net]「Cookieとサイトデータを削除」を有効にしてもMicrosoft系のサイトのデータは消さないとか普通にやってそう。
    そしてそうなった場合でもMicrosoft信者は、Googleがやった時とは違いダンマリと。

    ここに返信
    • by Anonymous Coward

      Chromeにそういう挙動があったのは知らなかったけど、もし同様の挙動が出たら文句言うと思う

      単体製品じゃなくて組込みだしねえ
      # 単体でもよほど明確な理由がないと文句言うと思うが...

      自分がMS信者ってこともないので、普通にどっちにもだけど

      • by Anonymous Coward

        そういうのを自分だけ挙動変えちゃうのはトラブルの元だからねぇ。

    • by Anonymous Coward

      Chromeに限らずYandexとか、アカウント連携機能のあるChromiumブラウザはそういう仕様みたいですよ

    • by Anonymous Coward

      このコメントで初めて知ったが、Googleひでえな。

      • by Anonymous Coward

        同時に、Googleならやりかねんと納得している。

    • by Anonymous Coward

      クッキーは消すといろいろ動かなくなるので、最近はあまり消さなくなってしまい、代わりにブラウザごと変えるようになりました。Googleに関係することはChromeに任せ、それ以外のことはFirefoxとかEdgeとかにしてます。なんかよくわからなくはなりますが。

    • by Anonymous Coward

      WebViewの話ってわかってる?

    • by Anonymous Coward

      Google叩いてんのはMicrosoft信者じゃなくてお前だろ。

    • by Anonymous Coward

      Google糞すぎwwww

    • by Anonymous Coward

      あー、これはブラウザ事業が分割されますわ。

      • by Anonymous Coward

        YouTubeを別アカウントでログインするには、プライベートモードか、別プロファイルで立ち上げるしかないような仕様だしね。

  • by Anonymous Coward on 2020年10月21日 16時36分 (#3910677)

    IEのときはBSキーなどのキーがきちんと処理されなかったり、Javascriptエラーのダイヤログ出たり、デフォルトのIEバージョンが古かったりで、コントロールとして貼り付けただけじゃうまく動かず四苦八苦したものだけど、
    新しいのでは使いやすくなってるのかな

    ここに返信
    • by Anonymous Coward

      ブラウザを組み込めるだけだから使いやすくはなってないよ。

      エレメントを操作できるようになってれば完全に代替できるんだけどね。

      • by Anonymous Coward

        エレメントってDOMエレメントのこと?
        それはもちろんJavascriptインジェクションで操作できるけど。
        別のものを指してるのかな?

        • by Anonymous Coward

          javascriptインジェクションってww
          そんなことしないと扱えないレベルなのかよ。ゴミだな

          • by Anonymous Coward

            密結合になってる方が穴突かれるよ。
            頭古い。

            • by Anonymous Coward

              テイントモデルを進化させるとかもっとマシな実装があるだろ。

              原始的なインターフェースを疎結合なんて言いかえをするのはペテン師だよ。

              • by Anonymous Coward

                主要なOSの提供するWebViewはJavascript経由の操作が普通だよ。
                IEの密結合っぷりが古いだけ。
                あんたの言う方式は難があるから採用されてないのが現実。
                反論するなら実例を出してみな。

              • by Anonymous Coward

                主要なOSの提供するWebViewって、どうせ1系統しかないだろ。。(横槍

              • by Anonymous Coward

                まあみんなWebkitベースだからな。
                APIはOSごとに違うけどできることは似たり寄ったりだね。
                もちろんエレメントの操作も。

    • by Anonymous Coward

      残念ながら、未だにIEコンポーネントと付き合ってるような人々が、
      挙動の変わる新コンポーネントに乗り換えるためのプログラムや知識の更新をする訳が無いのだ…

      • by Anonymous Coward

        関連としてこちらに。
        NT5/mmc世代のUIがたぶんいまだにmshtmlに接続してるけど、あのへんも疎結合になってくれないかな。
        そしたら、Win98以来ずっと願っていた、ブラウザフリーなWindowsが帰ってくる。

        # 操作してない間は、きっちりアンロードされててほしいんだ。

      • by Anonymous Coward

        IEコンポーネントですらブラウザのバージョンの影響を受ける。
        こいつならそこも固定できる。

        • by Anonymous Coward

          知ってる。レジストリにEXE名を書けば固定できて、デフォはIE7に固定だろ。

      • by Anonymous Coward

        「自作のネイティブアプリに手軽に組み込めるWebブラウザ」
        って縛りだとIEコンポの次として将来性が期待できる物があんまなかったから……
        Electronはブラウザがメインでネイティブアプリをそこに組み込むような物だし、
        Mozilla系はもっと面倒そうだし、Edgeは既に死んでいる事から明らかだがまだ先が見えなかった。
        IEコンポはモダンブラウザこそ使えないがOSのアップデートの恩恵を受けられつつ、
        大規模な仕様変更からは距離を取ることも出来て導入が楽と圧倒的だった。

    • by Anonymous Coward

      それほど甘くなかろう。
      Legacy EdgeがインストールされていないWindows 10 ver.20H2にもEdgeHTML.DLLがUWPサポート用に残っている。
      ブラウザとして直接使えないだけで、TLS1.3対応もされてこのまま残っていくのではないか?

  • by Anonymous Coward on 2020年10月21日 21時52分 (#3910873)

    WebView2を使ったChromeがリリースされるのかな? またMicrosoftはストアから弾くための新しい屁理屈をこねるかな?

    ここに返信
    • 割り当てられたアクセスのキオスクモードで使うために、WebView2を使った公式UWPブラウザアプリ(「Kiosk Browser」の後継)は出してほしいな。

    • by Anonymous Coward

      実は、Evergreen版ってver.86.0.622.48のChromium EdgeをC:\Program Files (x86)\Microsoft\EdgeWebViewにインストールしているだけだったりする。コンポーネントのGUIDとかレジストリでの扱いが通常のChromium Edgeとは違うのだろうがな。

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...