はじめに
この記事は SAP Advent Calendar 2021 の12月23日分の記事として執筆しています。
このブログでは SAP モバイル開発について書きたいと思います。
with コロナの新しいライフスタイルが定着しつつある今、モバイルアプリを使っていつでも、どこでも、リモートであらゆることができるようになりました。SAP では、今年に入ってからの企業間インタラクションのうち、最大 70% がモバイルで発生していると推定されているようです1。今、モバイルがアツい
というわけで、モバイル開発をやってみたい、SAP にはどんな選択肢があるのか知りたい、という方の参考になれば幸いです。
SAP Mobile Services
SAP Mobile Services は、モバイルアプリの開発や設定、管理をすることができるサービスです。一昔前までは、ただ一つのバックエンドと接続すればいい、非常に単純なアプリだったかもしれません。しかし最近のアプリは、様々なデータソースやサービスを必要とするものが多く、その管理は複雑になります
そこで SAP Mobile Services です。下図の右側、オレンジ色のブロックが SAP Mobile Services が持つ機能で、エンタープライズレベルのモバイルソリューションに必要な管理・サポートが実現できます。一方、左側が開発者向けに提供されている SDK やツール群です。今回は、こちらにフォーカスしていきます。
SAP BTP SDK for iOS / Android
SAP BTP SDK for iOS は、Swift ベースのフレームワーク群と開発ツールです。認証や OData 呼び出しなどのコア機能をフレームワークがカバーしてくれるので、ビジネスロジックや View 開発に集中することができます。開発ツールには、プロジェクトの雛形を作ってくれる SAP BTP SDK Assistant for iOS、UI コンポーネントのサンプル集である SAP Fiori Mentor (iPad App) があります。もちろん、Android 版もあります。
開発ツールが充実しているとはいえ、ゴリゴリネイティブアプリを開発したい人向けです。ネイティブアプリの開発経験がないと本格的なアプリを作るのは難しいです。とはいえ、最高の UX を実現することができるのが他にない強みです。
What's New?
SAP Fiori for iOS
AR Kit は Developer Keynote でも取り上げられていました
SAP Fiori for Android
SAP Mobile Start
今年の SAPPHIRE NOW で紹介されていた SAP Mobile Start が TechEd セッションでも取り上げられていました。SAP Mobile Start は、SAP ビジネスアプリケーションとコンテンツへのモバイルエントリポイントとして機能するネイティブアプリです。確かにアプリを探すのは大変だし、いろんなところから通知が来るのも煩わしいものです。必要なものを全て指先に集めてくれる、そんなアプリみたいです。このアプリは、インストールすればデモを試すことができます。
SAPPHIRE NOW をまだ見ていない方はこちらから
Session / Tutorial
Experience SAP Fiori for iOS and Android [IIS110]
M1 Mac の方は、Xcode を Rosetta モードで起動しましょう
SDK for iOS (Xcode 13.1) は何故かダウンロードできません。13.0 を落としましょう (2021/12/23 現在)
Mobile development kit (MDK)
MDK は、メタデータベースのアプリケーション開発プラットフォームで、ワンソースでマルチデバイス対応のアプリを作ることができます。ランタイムにネイティブコードに変換されるメタデータと JavaScript を生成して、アプリを構築します。これを SAP Mobile Services にデプロイすると、エンドユーザーがデバイス上で iOS / Android のネイティブアプリを利用できます。また、同じメタデータをWebにデプロイして、同じアプリケーションをブラウザからでも使えるという仕組みです。開発は、SAP Web IDE である SAP Business Application Studio を使います。MDK の登場により、これまでのハイブリッドアプリのアプローチが徐々に廃止されるようです。
ただし、よくあるネイティブアプリとは少し異なります。App Store からダウンロードするのは、開発したアプリではなく SAP Mobile Services Client
というアプリです。このアプリで QR コードを読み込み、開発したアプリにアクセスする必要があります。もちろん、生体認証に対応しており、新しいバージョンが利用可能になるとポップアップでお知らせしてくれます。私の iPhone は古いので Touch ID になっていますが
MDK Page or Action Editor が用意されているので、基本的には GUI ベースで開発していきます。
ソースコードビューで見ると、こんな感じです
ゴリゴリのネイティブ開発が必要な SAP BTP SDK と比べると、Xcode も面倒なアプリ配布も不要なので、かなりお気軽に開発できます。サクッとデモアプリを作りたい時にも活用できそうです。
What's New?
What’s new in Mobile development kit client 6.1
Session / Tutorial
Develop Enterprise-Grade Mobile Apps and Mobile Experiences [DEV162]
Mobile card kit
Mobile card kit を使うと、SAP Mobile Cards というウォレットスタイルのモバイルアプリを作ることができます。こちらも MDK と同じで、SAP Business Application Studio を使って開発し、SAP Mobile Cards
というアプリを通して開発したカードを使うことになります。
カードテンプレートが用意されています。承認ワークフローやコンタクトカードなど、用途に応じて選択します。
テンプレートは HTML ベースでできているので、Web アプリケーションと同じように開発できます。
Tutorial
さいごに
SAP モバイル開発についてまとめてみました。ネイティブアプリから Web ベースで開発できるものまで、幅広くサポートされているのが SAP モバイル開発の魅力です。ほとんどのケースで、デモを試すことができるので、興味のある方はぜひ実際に触ってみてください。