初めてのハイブリットアプリ

現在アサインしている案件でハイブリットアプリを作っているので、どんなものかざっくり紹介しようと思います。

ハイブリットアプリとはWebで利用される言語(HTML,css,JavaScript)を用いて作られたモバイル端末向けアプリのことで、iOS用のアプリはSwift、Android用のアプリはJavaのようにOSに合わせて最適な言語で開発されるネイティブアプリに対して、同じ技術で二つのOS向けに開発できるのが特徴です。

メリット

  • ネイティブアプリを開発するのにそれぞれの言語の技術者、開発環境を整える必要があることを考えるとハイブリットアプリは開発コストが低い
  • ネイティブアプリに比べて、OSのバージョンによる影響を受けにくい(WebViewというOSの機能上で動作するため)

デメリット

  • 最適化された言語で作られたネイティブアプリに比べて動作が重い
  • フレームワークなどの枠組みの中で制作するため、柔軟性が低い

利用している開発環境

  • Monaca:Web上に開発環境が揃うため、すぐに開発を進めらる。CLIを利用してローカルでの開発や、実機上でのデバックなどが簡単にできる。
  • Cordova:Adobeが作ったハイブリットアプリ向けのフレームワーク。公開から10年ほど立っているため、情報やプラグインなどが豊富。MonacaはフレームワークとしてCordovaを利用しているため、Monaca上でCordovaのプラグインをインストールしたりして利用できる。

まとめ

ハイブリットアプリはWebの技術でスマホ向けアプリが制作できる素晴らしい技術だが、フレームワークや環境など普段のWeb制作では使うことのない技術も出てくるので当たり前だがお勉強が必要。