【告知】統合WebKitエンジンの今後について

Go down

【告知】統合WebKitエンジンの今後について

投稿 by miyako on 2017-02-01, 12:58 pm

v16 64ビット版では,一時的に統合WebKitエンジンが使用できなくなっています。
WebKitからBlinkのレンダリングエンジン切り替えが完了していないためです。

http://doc.4d.com/4Dv16/4D/16/Using-4D-Developer-Edition-64-bit-versions.300-3080161.ja.html

(切り替えは16R2で完了しています。参考: http://blog.4d.com/new-rendering-engine-for-web-area/)

v16 64ビット版でアプリケーションを開いた場合,「統合WebKitエンジン」プロパティが有効にされたWebエリアは,内部的にシステムレンダリングエンジン(Mac版は実質的にWebKit)が使用されるようになっています。

統合WebKitエンジンを選択する理由としては,これまで以下の点が挙げられていました。

1 プラットフォーム間の違いが少ない
2 $4dオブジェクトを介してメソッドをコールできる
3 日付やオブジェクト型の受け渡しができる

v16では,一部のWebKit限定機能がシステムレンダリングエンジンでも利用できるようになっています。ですから,64ビット版で統合WebKitエンジンが使用できないとしても,あまり不自由はないかもしれません。具体的には,2番(Macのみ)と3番の制約がv16で取り除かれています。

1 プラットフォーム間の違いが少ない
システム版Webエリアは,使用しているレンダリングエンジン(Mac=WebKit, Window=Trident)の違いにより,HTML/CSSの外観およびJavaScriptの言語仕様にかなりの差異が存在しました。JQueryやBootstrapのようなライブラリにより,ある程度,そうした違いを吸収することができます。一方,WebKit,クロスプラットフォームのレンダリングエンジンです。もっとも,4Dが採用しているのはオープンソース版のWebKitは,近年,特にWindows向けのサポートがあまり活発ではない事情もあります。

2 $4dオブジェクトを介してメソッドをコールできる
WebKitの場合,「4Dメソッドコールを許可」プロパティを有効にすれば,グローバルオブジェクト$4dのメソッドとしてプロジェクトメソッドをコールすることができます。また,WebインスペクターによるJavaScriptのデバッグができます。

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Programmed-management-of-Web-Areas.300-3112539.ja.html

【改良】v16(Mac/64ビット版)では,「統合WebKitエンジン」プロパティが有効にされたWebエリアが内部的にシステムレンダリングエンジンに切り替えられて動作している場合,引き続きグローバルオブジェクト$4dにアクセスすることができます。ちなみに,Mac版は,どちらのタイプのWebエリアでも,Webインスペクターが使用できます。

3 日付やオブジェクト型の受け渡しができる
WA Evaluate JavaScript/WA EXECUTE JAVASCRIPT FUNCTIONでオブジェクト型または日付型をそのまま扱うことができるのは,WebKitだけでした。システム版の場合,日付やオブジェクトを文字列に変換(Stringify)する必要がありました。



$date:=WA Evaluate JavaScript(*;"WA";"new Date()";Is date)
$object:=WA Evaluate JavaScript(*;"WA";"var o = {};o.a = 1;o;";Is object)

【改良】v16では,どちらのタイプのWebエリアでも,日付やオブジェクトをそのまま扱うことができます。

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/WA-Evaluate-JavaScript.301-3112522.ja.html

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/WA-EXECUTE-JAVASCRIPT-FUNCTION.301-3112521.ja.html

前述したように,16R2では,WebKitに代わるクロスプラットフォームのレンダリングエンジンとして,Blink from Googleが採用されました。Blinkは,Chromeブラウザで使用されている,優れたテクノロジーです。

Blinkの特長

内部的にマルチスレッドで動作
充実したHTML5のサポート(HTML5testで492点。WebKitは352点)
高解像度ディスプレイ(Retina)のサポート
プラットフォーム間の違いが(WebKit以上に)少ない

まとめ

16R2の64ビット版では,WebKitからBlinkにレンダリングエンジンが切り替えられています。
BlinkではWebKitよりも数段優れたパフォーマンスが期待できます。
v16の64ビット版で使用できるのは,システム版のWebエリアだけです。
v16の64ビット版Webエリアは,WebKit限定だった機能の一部がシステム版でも使用できます。
32ビット版は引き続きWebKitを使用しています。

miyako

投稿数 : 234
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可