もしネイティブ開発(例えばiOS)時にSUPを開発基盤として選択するとして、またバックエンドがSAP外であるとすると、何がメリットになるのでしょうか?
すぐに思いつくのは以下です。
- MBO(Mobile Business Object) が使える
- MAKit(Mobile Analytics Kit)が使える
- ユーザやデバイスの登録/認証や通知機能を開発しなくて良い
MBOは以前postしたように、O/RマッピングされたようなSUP上のデータオブジェクトで、実際にはバックエンドデータのキャッシングもしてくれます。また、SUP上のMBOのデータはローカルデバイスにも同期されるため、「オフライン要件」がある場合に有用です。ここまでデータキャッシュを実現しているフレームワークはまだ無いのではないでしょうか?
MAKitは、これはインタラクティブなグラフやチャートを表示できるもので、名前どおり「分析系のアプリ」作りに良いです。
http://blogs.sap.com/analytics/2012/03/16/mobile-analytics-kit-launches/
あとは「
ユーザやデバイスの登録/認証や通知機能を開発しなくて良い 」というのは、その部分をSUPの基盤サービスが提供してくれている、という意味です。さすがにSUPはモバイル専用のAPサーバなのでそこらへんは一通りそろっています。
一方で悪いところは、
・SUP自体やMBOをコールするAPIを追加で覚えないといけない。またXCodeとMBO操作機能が統合されていない(MBOのスタブコードをEclipseから吐き出し、XCodeに読み込ませて開発していく必要がある)
・価格が高そう (開発ユーザと実行エンジンライセンスが必要)
・中間にSUP挟むので、デバッグが難しそう (バックエンド<->SUP、SUP<->デバイスと分けてチェックしないといけない)
でしょうか。
なので開発ツールとしての魅力はまだまだなところも多いです。
ただ、SAPは今後はSAP Mobile application storeにモバイルアプリ公開して、ユーザが購入したらすぐNetWeaver Cloudで動かせるようにする、というマーケットプレースとCloud実行環境を構築する予定になっていますので、そこの切符を手に入れられるというのが本当のメリットのような気がします。
※参考
http://blogs.sybase.com/ithain/?p=1796
http://www.bluefinsolutions.com/insights/blog/the_developers_guide_to_the_sap_mobility_platform/