【ReactNative】なるほど!UIWebViewとWKWebViewの違い(WKWebViewが来るので)

【ReactNative】なるほど!UIWebViewとWKWebViewの違い(WKWebViewが来るので)

自分はネイティブ開発に触れたことがないのですが、
最近「初めてReactNativeを触った」
のでWKWebViewを調べてみました。
調べるとじゃあなにが変わるのか違いが知りたいということで
記事書きました

概要
1. react-native 0.57からWebViewはWKWebViewで実装されたものが使える
2. UIWebViewとWKWebViewの違い

RNブログでの発表
https://facebook.github.io/react-native/blog/2018/08/27/wkwebview

1.react-native 0.57からWebViewはWKWebViewで実装されたものが使える

このように

<WebView useWebKit={true} source={{url: 'https://www.google.com'}} />

OSは12で正式にUIWebviewを廃止を予定していて、
RNは0.57からWKWebViewをサポートする

今までRNのWebViewはUIWebViewっていう古いWebviewの実装に依存していたんだけど
それをWKWebViewで作られたバックエンドを利用することになったらしい

JavaScriptとReact Native間の通信が円滑になる

アプリはすでにWKWebViewを使っているのが主流みたいで
実質アプリのようなWebView体験がRNでもできるようになる
という理解

2. UIWebViewとWKWebViewの違い

あまりまとまっている日本語記事がない。
下はUIWebViewとWKWebViewの違いの記事
参照

UIWebView・・・UIKitの一部。標準実装なのでなにもimportする必要がない。内部インターフェイスビルダーの中で利用可能。iOS2.0から導入、プロセスが1つでネイティブに頼っている。今ではdprecated
WKWebView・・・iOS8.0から導入、実行時のプロセスがSafariと分けられているのでWebを早く効率よく表示する。このことはメモリをオーバーヘッドしないように消費すること意味する。iOS8.0ではファイルを扱えなかったバグがあったがiOS9で解消されている

その他クラッシュ率とセキュリティと色々違いがあるみたい

一旦ここまで

WIP (あとで更新します)

全然関係ないけど、
React-NativeでWebViewからNaitiveのそれへの戻り方実装はここら辺かも


「武骨日記の」プライバシーポリシーに関して
・プライバシーポリシー
・個人情報取り扱いに関して

・サイトTOP
・私は何者か
・29歳よしもと芸人がWebデザイナー未経験で学校に通い5年後フリーランスのフロントエンドエンジニアになるためにやった9つのこと
・フロント記事
・
フロントエンドエンジニア
・フロントエンド記事(タグ)
・TypeScript
・TypeScript練習問題集
・【TypeScript】TypeSript中級者になる為に知っておくと良い108個のこと
・JavaScript練習問題
・styled-componentsの使い方
・SCSS問題集
・GraphQL「Apollo x Relay-Style-Cursor-Pagination(リレースタイルカーソルページネーション)」
・recomposeと仲良くなりたい
・機動戦士FlowType
・初めてReactNativeWebを触ってみて
・Ramda.jsシグネチャの読み方
・環境変数の話
・いちごタルトの作り方
・フロントエンドエンジニア豚汁の作り方


「武骨日記の」プライバシーポリシーに関して
プライバシーポリシー

株式会社TerraceTechについて
最近起業しました。
・株式会社TerraceTech

SNS
・しずかなインターネット kenjimorita
・インド旅 instagram
・適当な日常写真 instagram
・シュールさーん instagram
・シュールさーん LINEスタンプ
・もりたけんじTwitter
・ネタ帳Twitter
・note

・FaceBook -kennji.morita-

※わたしが結成しているWebチームではWeb未経験者、フリーランスの方へのお仕事を紹介しています。
また個人レッスンしてほしい生徒も募集中です。
もしご興味ある方はチャットからご連絡ください。

※業務連絡やお久しぶり連絡もチャットからお願いします。