私の中で、ひとつ疑問があります。ネイティブ ラッパーを使用せずに(PhoneGap のように)javascript(または他のライブラリ)を使用して、モバイル Web ブラウザのデバイス固有の機能にアクセスできますか。SMS の送信、写真のキャプチャ、位置情報へのアクセスなどのデバイス固有の機能にアクセスするモバイル Web サイトを開発したいと考えています。これらはすべて、ラッパー用のネイティブ コードを使用せずに、モバイル Web ブラウザーからアクセスする必要があります。 出来ますか?モバイルブラウザで携帯電話のネイティブ機能にアクセスできますか?
3 に答える
何をしたいかによります。SMS の送信は、ほとんどのブラウザーで sms: uri を介して行うことができます。Geolocation API は、ほぼすべてのブラウザーにも実装されています。ただし、写真をキャプチャすることは問題になります。
caniuse.com をチェックして、ターゲット ブラウザで利用できる機能を確認してください。
JavaScriptを使用するWebページは、ホスティング環境でアクセスが許可されているものなら何でもアクセスできます。モバイルブラウザは、セキュリティ上の理由と標準化の欠如により、SMSの送信などのモバイルデバイスのネイティブ機能の多くにWebページがアクセスすることを許可していません。
最近のブラウザで利用できるものに驚かれるかもしれませんが、GeoLocationを含めてやりたいことのいくつかを行うことができます。現在利用できるものについては、http://www.html5rocks.com/を参照してください。
ただし、標準のブラウザーAPIを介して公開されていないものにアクセスする必要がある場合は、PhoneGap / CordovaなどのネイティブシムでWebページをホストする必要があります。これにより、不足している追加の機能にアクセスできるようになります。別のセキュリティコンテキストで実行されているため、非標準的な方法で提供できます。
理由がわかりません。私の理解では、PhoneGap はブラウザをエミュレートするため、ブラウザ内でモバイル Web サイトを作成し、すべてスタンドアロン アプリにコンパイルされます。
モバイル サイトに同じ JS/html コードを使用しても問題はあまりないと思います