OutSystemsでモバイルアプリを開発するには?(vol.11)

  • 公開日:2023年03月20日(月)

「モバイルアプリを自社開発したいけど、様々な技術要素が必要そうでハードルが高い、何から取り掛かればよいかわからない……」とお悩みではありませんか?
「OutSystems(アウトシステムズ)」を使えば、Webアプリ開発の知識を活かして簡単にモバイルアプリ開発をはじめることができます。

本ブログ記事では、豊富なテンプレ-ト/パーツを標準装備したローコード開発プラットフォーム「OutSystems」でモバイルアプリを開発する際のポイントを、業務システム開発の観点も交えて解説します。

OutSystemsでモバイルアプリを開発するには? 開発機能の特徴を知ろう

「OutSystems」には、モバイルアプリ開発を効率的に進めることができる機能的な特長が3つあります。

一つ目の特長は、Webアプリとモバイルアプリとで開発手法の違いがほとんどないことです。
OutSystemsでアプリ開発を行う時は、プレビュー上にパーツをドラッグ&ドロップで配置する画面開発と、ビジュアライズされたフローチャート上にロジックツールを配置する宣言的なビジネスロジック開発を組み合わせて行います。

今までWebアプリを開発してきた方にとっては、モバイル専用のUIを開発するために、新たに各OSの開発言語(またはクロスプラットフォーム言語)を習得することはハードルが高いかと思います。OutSystemsなら、Webアプリでもモバイルアプリでも、同じようにパーツのドラッグ&ドロップで画面を開発することが可能です。また、画面のベース技術はHTML/JavaScript/CSSのため、一般的なWebアプリ開発者にとって非常にスタートの切りやすい構成となっています。Webアプリ開発者は従来のシステム開発知識をベースに、OutSystemsの簡単なローコードの表現方法を習得するだけで、モバイルアプリも開発できるようになります。

二つ目の特長は、Webアプリとモバイルアプリで部品を簡単に共有できることです。
開発環境だけを提供するのではなく、開発したアプリケーションが稼働する環境としてデータベース/インフラを含めたプラットフォームとして提供する製品のことを「ローコード開発プラットフォーム(Low-Code Development Platform)」と言います。
OutSystemsはローコード開発プラットフォームであり、複数のアプリを同時に開発することを想定した作りになっています。OutSystemsは、アプリの中に役割別のモジュールを複数作成することで、それぞれの機能の独立性を高め、必要に応じてアプリを超えて互いを参照することで開発効率性を向上させることが可能となるモジュール型のアプローチを採用しています。これにより、バックエンドのロジックや共通利用したいUI部品は共通モジュールへと切り分けて公開することで、複数のモジュールから参照できるようになります。

また、「社内向けに開発したWebアプリをリリースしたら、一部の機能を外出先でも手軽に使用したい」と言われるケースは多いのではないでしょうか?
そういった場合にも、既存の資産をすぐに活用できる構成が可能なことは、素早い機能提供の実現に大きく貢献します。

三つ目の特長は、モバイルOSへの対応が簡単であることです。
モバイルアプリ開発者の頭を悩ませるのは各OSへの対応ですが、OutSystemsはクロスプラットフォーム開発が可能です。これまでの二つの特長からも分かるように、OutSystemsで開発されるモバイルアプリは、その実Webアプリとして動作する、いわゆるハイブリッドアプリケーションにあたります。そのため、iOS/Androidの両OSのアプリケーションを生成することも容易で、かつOSアップデートの影響を受けにくくなります。アプリケーションの再ビルドが必要になる場面も限られるため、運用保守の負担を減らすことが可能です。

OutSystemsは、単にローコード開発という手法によってモバイルアプリ開発を簡易化するだけではなく、プラットフォームとしての機能面での特長から開発上の様々な負担を軽減してくれるのです。

OutSystemsでモバイルアプリを開発するには? デバイスの機能を活用しよう

アプリ開発では、開発効率と同じくらい、機能の実現性も重要かと思います。特にモバイルアプリの場合は、豊富なデバイスの機能の活用や、不安定なネットワーク状況下でも動作することが求められます。OutSystemsでは、これらの点がどのようにカバーされているのか、解説します。

OutSystemsは、次のようなデバイスの機能をモバイルアプリで使用することができます。

・Calendar
・Camera
・File Viewer
・InApp Browser
・Location
・Local Notifications
・Touch ID
…等々

これらのデバイスの機能を利用するための部品は、拡張部品のストアであるForgeにて無料で配布されており、簡単にインストールしてアプリに適用することが可能です。デバイスの機能にアクセスするためのフレームワークにCordova Pluginを使用しており、一般的なハイブリッドアプリケーションとしてモバイルアプリを開発した場合と遜色ない機能実現性を持っています。

また、デバイスのローカルストレージを使用できるため、ネットワーク接続の悪い環境下で使用されるアプリの開発も可能になります。ハイブリッドアプリケーションはWebアプリの性質を持っているため、データの参照/更新というネットワーク接続の欠かせない作業が存在しますが、モバイルデバイスは必ずしもネットワーク環境の良好なところにあるとは限りません。
そこで、デバイスのローカルストレージを使用し、ネットワークがある時にあらかじめ必要なデータをデバイス内にレプリケーションしておきます。もし、接続が不安定な場所でデータ参照/更新が行われた場合はローカルストレージ内のデータを一時的に更新し、接続が復帰した際にサーバー上の最新のデータと同期する仕組みにしておくことで、ネットワーク接続の悪い環境下でも利用できるアプリとなります。
OutSystems社からローカルストレージと同期するロジックのベストプラクティスがパターン別に掲載されているので、開発者は安心してオフライン同期を実現することが可能です。

このように、OutSystemsで開発されたモバイルアプリは、デバイスの機能を活かすことができる利用価値の高いアプリとなることができます。

OutSystemsでモバイルアプリをユーザーに素早く提供するには? PWAを活用しよう

モバイルアプリ開発の最後の障壁となるのが、アプリのパッケージ生成とストア審査です。特にストア審査で手間取るとデリバリーに遅延が生じるため、そのような事態は出来るだけ避けたいですよね。

この問題を解決できる技術としてトレンドになっている「Progressive Web App(PWA)」をご存知でしょうか?これは、Webアプリをネイティブアプリのように利用できるようにする技術です。ユーザーはモバイルデバイスのブラウザからサイトにアクセスし、iOSの場合は「ホーム画面に追加」、Androidの場合は「インストール」することで、PWAとして利用できるようになります。提供される機能はWebアプリのものであるにも関わらず、アドレスバーが無いことや、全画面表示でネイティブアプリのようなUIが実現可能なことなど、ブラウザとは異なる動作を実現することができます。ストアを経由する必要がないので、パッケージ生成と審査のステップを省略した素早いデリバリーを可能にします。

OutSystemsは、この非常に便利なPWAの生成にも対応しています。しかも、有効化する方法はトグルをONに切り替えるだけであり、非常に簡単です。

社内利用を目的としたアプリなど、元よりストアでの配布を想定していない場合は、パッケージを生成する必要もないため、デリバリーにおける大きな恩恵を受けることができます。

ただし、PWAは全てのデバイスの機能にアクセスできるわけではありません。ハイブリッドアプリケーションでなくなるわけですから、Cordova Pluginで利用可能にされていた機能は使用できなくなってしまいます。OutSystemsが提供するデバイス機能を利用するための拡張部品は、基本的にCordova Pluginを用いて実装されていますが、その一部はPWAにも対応しています。モバイルアプリをPWAで配布することを検討する場合は、OutSystemsの拡張部品が該当機能をPWAでサポートしているかを事前に確認しておくとよいでしょう。

まとめ

OutSystemsは、豊富な機能によって、様々なビジネスシーンに適したモバイルアプリを開発することができます。特に同じ機能をWebとモバイルの両方で提供したい場合や、審査を省いてアプリをいち早く提供したい場合には、OutSystemsの開発生産性やモジュール型アプローチ、PWAへの対応などが大きな効果を発揮します。
モバイルアプリに限らず、今後はすべてのアプリが素早く進化し続けることを求められます。OutSystemsによる超高速開発は、必ずその助けになるでしょう。

弊社電通総研は、ローコード開発プラットフォーム:OutSystemsの導入/活用を支援する様々なサービスメニューをご用意しております。
ローコード開発のはじめの一歩を、電通総研と一緒に踏み出してみませんか?

電通総研のOutSystems関連サービスページ:https://itsol.dentsusoken.com/outsystems/service/

本ブログは、2023年3月1日時点の情報をもとに作成しています。
OutSystemsに関する詳しいお問い合わせは、弊社Webサイトからお問い合わせください。
https://itsol.dentsusoken.com/outsystems/inquiry/