SAPのすみっこ

SAP業界のすみっこに住んでます。すみっこから小さな声で発信します。

SAP業界のすみっこから小さな声で発信します

【AppGyver】次に注文するビールを決める

この記事は SAP Advent Calendar 2021 の12月25日分の記事として執筆しています。

 

SAP TechEd 2021、SAP TechEd Japan 2021でも話題となったNoCodeツール、SAP AppGyver(アップガイバー)。

 

今回のアドベントカレンダーでもAppGyverネタが投稿されています。

SAP AppGyverとES5を連携しようとして苦戦した話 - aki.Saitoのブログ

アドベントカレンダーを作る 創刊~創刊号はSAP AppGyverアプリの作成手順付き~ - Qiita

 

こちらは2021年2月にSAP社が買収したAppGyver社の製品となります。買収についてはこちら。

 

SAP TechEd での発表内容についてはこちら。

 

SAP Techedでは、従来のプログラミング技術者に対して、LowCodeとNoCode開発を「Citizen Developer(市民開発者)」向けと何度も強調して紹介していました。

市民開発についての簡単な説明はこちら。

 

ということで、永遠の市民開発者である私がAppGyverを触ってみたお話をします(業務ユーザでもなく、ガバナンス何それおいしいの?状態ですが)

 

目次

 

作ったもの

出来上がったアプリはこちらです。

※音楽は関係ないです

 

画面下部のボタンを押すと、ビールの情報をランダムで表示するアプリを作りました。(要件定義工程については、当記事内では触れません)

 

事前にやったこと

TechEdのワークショップ

私はAppGyverを、SAP TechEd 2021のワークショップで初めて触りました。ワークショップの資料はこちら(他のワークショップ資料もGitHubにアップされています)

当ワークショップでは、SAP Business Application StudioでAPIをLowCode開発し、それをAppGyverで呼び出すという一連の流れを経験できるものでした。おすすめです。

 

SAP Developer Tutorial

みんな大好きチュートリアルにもAppGyverが追加されていました。ここでは、食品のパッケージからバーコードを読み取り、Open Food FactsAPIを使用して製品に関する情報を表示するアプリを作成しました。

 

アプリを作る

では、手順について簡単に紹介します。

画面構成

開発の画面構成は以下。

f:id:mahko2:20211219065007p:plain

画面左側のコンポーネントをドラッグ&ドロップで画面中央に配置。配置した各コンポーネントの詳細は画面右側で設定。イベントなどのロジックは画面下部で定義、となっています。

詳細については公式資料を見てね♪

 

データ定義

取得するデータを定義します。今回利用したのは以下のAPIです。

Brewdog社のビールPunk IPAの情報を取得できるPunk APIというシャレたやつです。

 

AppGyverの画面上部のメニュー「DATA」にて、APIからデータを取得をする設定を行います。今回はRESTでのデータ取得となるため、「REST API direct integration」というTYPEを選択。

f:id:mahko2:20211219065738p:plain

次画面にて左側のメニューを切り替えることで、REST APIの各メソッドの設定が可能。まずは「BASE」でResource URLを設定。

f:id:mahko2:20211219070148p:plain

今回は「GET COLLETION(GET)」でランダムに製品情報が取得できる「https://api.punkapi.com/v2/beers/random」を設定。

f:id:mahko2:20211219070523p:plain

これで取得するデータの定義は完了。

次に取得したデータを格納する変数の定義を行います(画像中央上部のスライドバーをVIEWからVARIABLESに切り替えて設定)。

f:id:mahko2:20211219072717p:plain

 

ボタンを配置

次に、ボタンの設定を行います。コンポーネントから「Button」を設定すると画面下部のイベントが自動で設定されます。

f:id:mahko2:20211219071154p:plain

初期表示されたものから不要なものを削除し、以下のように三つのブロックを配置しました。

f:id:mahko2:20211219071407p:plain

左から順に「ボタンが押されたときのイベント(EVENT:Component tap)」「データ取得(DATA:Get record collection)」「取得したデータをセット(VARIABLES:Set data variable PunkIPA1)」となります。

 

「ボタンが押されたときのイベント」は設定不要。

 

「データ取得」には、データ定義で設定したPunk APIの情報を設定します。

f:id:mahko2:20211219072102p:plain

「取得したデータをセット」では、前工程で取得したデータを変数に格納します。

f:id:mahko2:20211219072344p:plain

f:id:mahko2:20211219072457p:plain

ボタンについての設定はこれで完了。

これで、ボタンを押して、データを取得して、変数に格納します。

 

出力情報の設定

次に、取得したデータを画面に表示します。

まずはビールの画像。こちらはコンポーネントの「Image」を使用します。Sourceにはデータ変数の1行目の項目「image_url」を設定します。

※1行目 = [0]

f:id:mahko2:20211219073143p:plain

項目名については、Sourceの設定画面にてExamplesとともに確認が可能です

f:id:mahko2:20211219073646p:plain

これで画像情報の設定が完了。

 

テキスト情報については、コンポーネントの「Text」を用いて、画像と同様に取得元の項目を指定するだけです。

これで出力する項目の設定は完了です。

 

テーマ設定

最後に、テーマ設定で「Fiori theme」を選択

f:id:mahko2:20211219073909p:plain

 

これでアプリの作成は完了となります。

 

プレビュー

f:id:mahko2:20211219074146p:plain

Web画面でも、スマホ画面でもプレビューが可能です。当記事の最初にお見せした動画は、スマホ画面でのプレビューとなります。

 

Web画面だとこんな感じ。

f:id:mahko2:20211219074340p:plain

 

まとめ

簡単!にアプリを開発できることは間違いないのですが、私はいくつか苦戦した箇所がありました。

まず「アプリの基本的な構築方法」を理解していないために、レイアウト作成時にContainerをうまく使えなかったです。アプリ開発の有識者さんに相談したところ、iOSならApple Style Guideを一読することをオススメされました。

Apple Style Guide on Apple Books

 

次に「APIの仕様確認」です。今回使用したPunk APIですが、「ランダムで1レコードを取得」となっていたので1レコード取得用の「GET RECORD(GET)」で設定を行い、全然データ取れねぇ〜とハマってました。chillSAPもくもく会にてプロ開発者の方に相談したところ、「これ、複数データ取得っす」と教えていただいて解決することができました。

 

ということで、AppGyverを開発する「市民開発者」は、「アプリ開発の基礎知識」と「APIの検証/確認をする知識」が必要であることがわかりました。

 

簡単!の壁は他にもありそうなので、可能な限り触ってみたいと思います。

 

 

SAPアドベントカレンダー2021、これにて終了となります。

エントリーいただいた方、ありがとうございました。

また、カレンダーを見てくださった方、ぜひぜひ次回はエントリーしてみてください!

 

ハッピーホリデー🎄