HTMLを活用したモバイルアプリにおける同一生成元ポリシーの仕組み
ネイティブモバイルアプリにも同様のルールが存在
ネイティブモバイルアプリやアプリケーションにも、Webブラウザと同様のセキュリティルールが適用されます。ただし、PhoneGap(現Apache Cordova)やCordovaを利用する場合に必要な対応は、アクセスを許可するドメインをホワイトリストに追加するだけで済みます。
デバイスはサーバーとして機能する
モバイルデバイスはサーバーのように動作し、指定したURLからコンテンツへアクセスすることができます。PhoneGapを使用する場合、許可したいドメインをホワイトリストに登録するか、ワイルドカード(*)を指定することで、外部リソースへのアクセス範囲を柔軟に制御できます。
file://プロトコルからのリクエスト
ネイティブアプリケーションを扱う場合、リクエストはhttps://ではなくfile://から発行される点に注意が必要です。しかし、このリクエストはHTTPプロトコルを経由して行われるものではないため、通常の同一生成元ポリシー(Same-Origin Policy)のルールはそのまま適用されません。
任意のドメインへのアクセスが可能
ネイティブモバイルアプリからリクエストを送信する場合、大きな問題なく任意のドメインに対してアクセスを行うことが可能です。これは、厳格なオリジン制限を受けるブラウザ上のWebアプリケーションとは大きく異なる特徴であり、ネイティブアプリならではの柔軟性といえます。
-
PWA(プログレッシブウェブアプリ)とは?ネイティブアプリとの違いを徹底解説
テクノロジー好きなら、「プログレッシブアプリ(Progressive Apps)」という言葉を目にしたことがあるでしょう。「これからのアプリの未来だ」「すべてのサイトが対応すべきだ」と語る記事を。 では、プログレッシブアプリとは一体何なのでしょうか?標準的なウェブアプリと根本的に異なるわけではありませんが、開発者が満たすべき特定の要件が存在します。 PWA(プログレッシブウェブアプリ)とは? プログレッシブウェブアプリ(PWA:Progressive Web App)とは、ブラウザ上で動作する、HTML・CSS・JavaScriptで構成されたウェブアプリのことです。モバイルサイトとアプリの
-
React Nativeでモバイルアプリ開発を始める前に知っておくべき基礎知識
JavaScriptでアプリを開発することほど素晴らしいことはありません。ただし、モバイルアプリの開発は別話でした。JavaScriptはWebアプリ開発のための言語であり、ネイティブモバイルアプリの開発には使えないのが常識だったのです。Web開発者がネイティブモバイルアプリ開発に足を踏み入れるのは容易ではなく、JavaやObjective-Cなど、目的に応じたプログラミング言語を一から学ぶ必要がありました。そんな常識を打ち破ったのが、Facebook(現Meta)が生み出したReact Nativeです。React Nativeには、AndroidとiOSの両方に対応したクロスプラットフォー