Webアプリを作ってみよう

# 目次
1. はじめに
1. プロジェクトの作成
1. 動かしてみよう
1. どんな動きになるか見てみよう
1. アプリを公開しよう
1. まとめ

# はじめに
2章でVisualizerの使い方について簡単に学んだので、
3章からは早速実際のアプリを作成しながら学んでいきましょう！

今回は、まずWebアプリを作成するところからスタートします！

# プロジェクトの作成
まずはプロジェクトの作成を行います。

新しいプロジェクトを作成するので、
Project > New projectを選択してください。
![スクリーンショット 0004-06-28 11.06.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/30e49fb7-21c0-e7f5-2661-7c5aed79f813.png)

次に、ダイアログが表示されるので、
今回は、「Web App」を選択しましょう。
（モバイルアプリを作成する際は、「Native App」を選択します。）
![スクリーンショット 0004-06-28 11.07.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/02f1d0f8-a458-cbb1-e6e9-f0c4ceca4af9.png)

デバイスサイズを選択する画面が表示されるので、
「Desktop」を選択してください。
選択したデバイスサイズによって、ブレークポイントが設定されます。
![スクリーンショット 0004-06-28 11.08.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/bc2dc46b-6c2b-e8d6-9466-cd2b3c08736d.png)


プロジェクトの名前を設定し、「Create」をクリックしてください。
![スクリーンショット 0004-06-29 10.56.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/ea595cb1-8f88-9866-109f-4cb7324db65c.png)


しばらくすると、作成したプロジェクトが開きます。
![スクリーンショット 0004-06-29 10.59.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/4699d488-7afb-0413-2b35-e480ec5bc05b.png)


これでプロジェクトの作成ができました！

# 動かしてみよう

## 画面（Form)の作成
Viualizerでは、アプリの画面のことをFormという名前で表現します。
簡単に動くアプリを作成したいので、画面作成のため新しくFormを作成しましょう！

「Forms」を右クリックし、「New Form」をクリックすると、
Form1として画面が生成されます。
![スクリーンショット 0004-06-28 14.07.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/c542d2ae-626f-c687-fb7b-a6b45e7280b6.png)

何の画面かわかるよう、名前をつけてあげましょう。
フォーム名は、前にfrmをつけて、「frmXXXX」等と命名することが多いです。
![スクリーンショット 0004-06-28 14.14.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/3946917f-71f7-ee4c-1012-c99dd9a75490.png)

## Widgetを配置してみよう
次に、2章で学んだWidgetの説明を参考にしながら、
好きなWidgetをFormに配置してみてください！

▶︎[Widgetの機能について簡単にご紹介](https://qiita.com/Kony_Team/items/85a97af217ae0d53f3bf)

Widgetの配置の仕方については、上記記事で紹介しておりますので、
忘れた方は見直してみましょう:fist_tone1:

今回は、Labelを配置しました。
表示する文字を変えたい場合は、右メニューの「Text」から変更が可能です。
![ezgif-5-a145b3de7c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/d2164f1a-da8a-7e00-ecde-5bb48c8184a6.gif)

色や背景、枠線など見た目の変更は、Lookタブで変更が可能です。
![ezgif-5-5f86017cb5.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/e14b5d8b-70a3-e439-6961-0195af2fdb7d.gif)

Label以外にも様々なWidgetを配置してみて、
色やレイアウトの変更をして見るなどたくさん触ってみましょう！

## 画面遷移してみよう
操作感にも慣れてきたと思いますので、
画面遷移のアクションを追加していきましょう！

Form内に、Button Widgetを配置してください。

今回はこのように配置しました。
![スクリーンショット 0004-06-28 14.45.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/0c9043a8-16a6-9ee7-2ca7-1615673b376f.png)

Button Widgetを選択した状態で、
右メニューのPROPERTIES->Actionタブを見ると
「onClick」というイベント名が表示されていると思います。
onClickは、そのWidgetがクリックされた時に発生するイベント名となります。

クリックした時にどんなアクションを起こしたいか編集する場合は、
イベント名の横にある、「Edit」ボタンをクリックします。

アクションを設定するアクションエディタが表示されます。
![スクリーンショット 0004-06-28 14.52.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/2bcd02f6-f30e-1a64-f8c3-48237828d6cb.png)

左メニューに様々なアクションが並んでいますが、
今回は画面遷移をしたいので、画面遷移アクションの「Navigate to Form」を選択してください。

StartとEndの間に新しいアクションが追加されました。
![スクリーンショット 0004-06-28 14.54.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/92054f99-5fa4-8ed2-428b-6216061dc7a2.png)

このままだとどの画面に遷移するか定義できていないため、
右に表示されるFormの一覧から、遷移先のFormを選択しましょう。

他のフォームがない場合は、「Create New」をクリックすると新しいフォームが作成されます。
遷移先のFormを選択したら、「Save」で保存しましょう！
![ezgif-2-a2f84dfcea.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/163ff4d1-0a53-a8c0-46e0-87e78be9de98.gif)

これで画面遷移の設定は完了です。
コーディングすることなく、画面遷移ロジックを作成できるので、とても簡単です！

Button WidgetのonClick以外のアクションについては、公式ドキュメントに記載があります。
今のうちから公式ドキュメントを見る癖もつけておきましょう！
▶︎[Button Widget](https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/Button.htm)

# どんな動きになるかみてみよう
作成した画面が実際どのような表示になっているか確認したいですよね？
次に、プレビューの見方をご紹介します！

## ローカルで確認する
まず、ローカルで動作をチェックする方法を紹介します。

Visualizerの一番上にあるメニューから、
Build -> Live Preview Settingsをクリックしてください。
![スクリーンショット 0004-06-28 15.01.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/cc20c015-55ca-8f09-9461-73b156d04512.png)

以下のようなポップアップが表示されますので、
「RESPONSIVE WEB」を選択し「Clean Preview」を選択後、
「Save & Run」をクリックしてください。

![スクリーンショット 0004-06-28 15.04.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/08876b2b-88cb-9172-4b53-d4352dd8055f.png)

:::note info
【補足】
Clean Previewにチェックを入れない場合、
キャッシュが残りうまく表示されない可能性があるため、
Clean Previewに毎度チェックを入れることを推奨しています。
:::

しばらくすると、Visualizer Previewが開き、
作成した画面が開くと思います。
![スクリーンショット 0004-06-29 11.35.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/32c4290c-9c00-e74e-e04e-9498a950660e.png)

Visualizer Previewは、
Webアプリの表示確認で使えるプレビューアプリです。
Live Previewを実行すると自動的に開きます。
（モバイルの場合は、別のアプリで動作の確認ができます。
これについては次の回でご紹介します。）

Live Previewには、
プレビューを表示させた後、そのままVisualizer上で画面を編集し、
**その編集した箇所をプレビューに瞬時に反映させる**
**ホットリロード機能**というものがあります。

スピーディに作業ができる優秀な機能なので、
機能の詳細な説明については以下記事をご参考ください！
▶︎[Visualizer Version9でのLive Previewの使い方とホットリロードの説明](https://qiita.com/Kony_Team/items/b7cfb2c67b6eed1f7338#%E3%83%9B%E3%83%83%E3%83%88%E3%83%AA%E3%83%AD%E3%83%BC%E3%83%89%E3%81%AE%E8%AA%AC%E6%98%8E)

簡単な画面のレイアウト確認などは、Live Previewを使うと
ぱっと確認できるので便利です。

## ブラウザで確認する
また、先ほどのLive Previewを実行した場合、
VisualizerのConsoleを見ると、URLが発行されています。

こちらをクリックすると、ブラウザでの表示を確認することができます。
![スクリーンショット 0004-06-29 11.36.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/39a0c61a-d85d-3bfa-77b9-36244726878d.png)


APIの通信が必要な動作の確認などの場合は、
Visualizer Previewでは動作しないため、ブラウザで確認するようにしましょう👀

動作確認してみるとどうでしょうか？
ボタンを押すと次の画面に遷移したことがわかりますね！
![ezgif-5-73b13ae7a6.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/449fcfb9-661e-a412-6169-9627bac9495f.gif)



これで一通り動くアプリを作成できました。
次は、他の人もアプリにアクセスできるよう、アプリ公開手順をご紹介します！


# アプリを公開しよう

## 1.Fabricにアプリを作成する
まずは、アプリを公開するため、
以下のFabricコンソールにアクセスし自身のアカウントでログインしてください。
https://manage.kony.com

アカウントがない方は、「Create Account」のリンクをクリックし、
下記手順に沿ってアカウントを作成後にアクセスを行ってください。
[Fabric Consoleのアクセス方法](https://docs.kony.com/konylibrary/konyfabric/kony_fabric_user_guide/Default.htm#Accessing_Kony_MBaaS_Portal.htm)

コンソールが表示されたら、
「ADD NEW」をクリックし、新しいAppを作成します。



![スクリーンショット 0004-06-28 15.34.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/1113603b-7472-677c-d6ff-3ba5fa3e0b6f.png)
（引用：[User Guide: Create a Quantum Fabric Account](https://docs.kony.com/konylibrary/konyfabric/kony_fabric_user_guide/Default.htm#Accessing_Kony_MBaaS_Portal.htm)）



しばらくすると、作成されたAppの画面が表示されます。

鉛筆マークをクリックするとFabricApp名の編集が可能ですので、
Visualizerで設定した**ApplicationIDとApp名と同じ名前を設定**しましょう。
![スクリーンショット 0004-06-28 15.38.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/b3d63e67-a49c-acef-1913-aded2207e560.png)

:::note warn
【注意】
この時Fabricの名前は、
VisualizerのApplication ID、App名と同じになるようにしましょう。


ここが一致していない場合、
アプリを公開した際に500エラーが発生しアプリが開けない可能性があります。

**※下記3つの名前は一致するようにする**
|VisualizerのApp名  | VisualizerのID  |FabricのApp名 |
|:-----------|------------|------------|
|![スクリーンショット 0004-06-29 11.00.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/c2740d92-227c-d178-3e8b-43e8452bc9c1.png)    | ![スクリーンショット 0004-06-29 11.00.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/108ca6a8-80b8-49ef-c2d4-fde0e5887d82.png)| ![スクリーンショット 0004-06-29 11.01.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/6a1eb597-8087-f61c-7d80-414c528af0c7.png)|

:::



FabricサーバーにAppを作成できましたので、
次は、Visualizerに戻りアプリを公開するためのbinaryデータを作成します。



## 2.VisualizerとFabricの接続
Visualizerを開いたら、
左サイドメニューにある歯車のマークをクリックし、Project Settingsを開きます。

Fabricメニューを選択し、
アプリを公開する先のFabricサーバーを設定しましょう。
- Cloud Account : 所属している組織のクラウドアカウントを選択
- Environment: アプリを公開する環境を選択
![スクリーンショット 0004-06-28 15.41.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/82a6a258-8753-8fef-8293-87ecf5e9df68.png)

1の手順で作成したFabricAppに接続するために、
右メニュー「DATA & SERVICES」タブ内にあるハンバーガーメニューをクリックし、
「Link to Existing App」をクリックしましょう。
![スクリーンショット 0004-06-29 9.36.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/3af173d2-3620-c12b-d184-4f1a02e3ec48.png)

ログイン中のクラウドアカウントに存在しているFabricAppが一覧表示されるので、
1の手順で作成したApp名を選択し「ASSOCIATE」をクリック。
![スクリーンショット 0004-06-29 9.38.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/60278bc3-368e-78ca-a762-d9fc610e369a.png)

右メニューのFabric Backendの値が、選択したFabricAppに変わったかと思います。
![スクリーンショット 0004-06-29 9.42.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/fbcdb324-eb1e-455e-adb6-1dd2834e7638.png)

これでFabricとの接続が完了しました！

## 3.アプリのビルド
次に、Visualizerトップメニューから
Build -> Build and Publish Webをクリックします。

Post Build Actionsで「Generate Web App」を選択し
Environmentは、アプリを公開したい環境を選択、
他の値は画像の通りとなるように設定してください。
（※アプリのリリース時は、Build Mode: Releaseに変更します）

![スクリーンショット 0004-06-29 9.30.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/51dc06f7-3ef2-0e65-731a-6178d31d77dd.png)
設定が完了したら、「Build」をクリックしましょう。

しばらくしたら、Consoleタブにbinaryデータが出力されるので、
リンクをクリックしてフォルダを開いておきましょう。
![スクリーンショット 0004-06-29 9.52.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/ef2e74dd-3f46-3bfb-e453-4d8ee5da6ecd.png)

## 4.Publish（公開）しよう
Fabricを再び開きます。
1の手順で作成したFabricAppを開き、
Manage Client App Assets -> Webをクリックします。

「Upload」ボタンをクリックすると、ポップアップが表示されますので、
ドラック&ドロップエリアに先ほど出力されたbinaryをアップロードしましょう。
Versionは、初回なので「1.0.0」と入力し、Descriptionは何でも構いません。
![スクリーンショット 0004-06-29 9.56.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/42234c59-f1fc-6532-4d26-a8c04b5cc15e.png)

設定が終わったら、「Upload」ボタンをクリックしてください。
一覧にアップロードしたデータが表示されたらOKです。

![スクリーンショット 0004-06-29 11.20.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/5468cb61-ace9-9703-0e11-59bdd5727bfb.png)



次にPublishタブに移動し、
アプリを公開する環境にチェックマークをつけましょう。
![スクリーンショット 0004-06-29 10.02.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/2b05e4cd-4224-1872-77b6-296c1e2ec12b.png)
![スクリーンショット 0004-06-29 10.02.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/953984ff-1543-927a-1e55-290528d63ff3.png)
下にスクロールし、「CONFIGURE & PUBLISH」をクリックします。
![スクリーンショット 0004-06-29 10.03.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/8f4f5506-0fc2-bfd6-c027-735edd62a43c.png)

Web Clientのプルダウンで、先ほどアップロードしたbinaryのバージョンを選択します。
右下の「SAVE & PUBLISH」をクリックします。
![スクリーンショット 0004-06-29 10.03.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/0d183a83-f5a6-92db-605e-165084d060bf.png)


進行中のポップアップが表示されるので、このまましばらく待ちます..🕑


Publishされたら、ポップアップが表示されるので、
「Web Application URL」に表示されているURLをブラウザにコピペして見ましょう！
![スクリーンショット 0004-06-29 11.23.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/f2f9c237-56ab-dee3-b067-73dd37f11265.png)

ブラウザで表示できましたね！
![スクリーンショット 0004-06-29 10.13.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/2116141e-0dd6-e988-0beb-173f31eef692.png)

:::note alert
エラーが発生した場合
もし500エラーなどが発生する場合は、以下を確認して見てください。
・シークレットモードでアプリを開く
・ブラウザの履歴を削除して再度開く
・Visualzierでのビルド時に、Cleanにチェックをつけてビルドし直す
・VisualizerのAppID、AppName、FabricのFabricApp名が一致しているか、
またビルド時に出力されたbinary名を変更していないか確認する
:::

# まとめ
今回のまとめです:writing_hand_tone1:
アプリを公開する手順は、今後よく使うのでたくさん手を動かしながら慣れていきましょう！

- アプリを作成するには、まずプロジェクトの作成をする
- 画面遷移などのアクションは、アクションエディタで設定ができる
- 簡単な画面の確認は、Live Previewでできる
- APIの通信など確認する場合は、ブラウザで確認する
- アプリの公開には、まずFabricにAppを作成しVisualizerでビルド後FabricでPublishを行う
- Fabricの名前は、VisualizerのApplication ID、App名と同じになるよう設定する


# 次の記事
今回はWebアプリの作成方法でしたが、いかがだったでしょうか？
最初は難しい点もあると思いますが、
慣れると簡単で、すぐにスムーズにできるようになります:muscle_tone2:

早速、次はモバイルアプリの作成にいきましょう！
▶︎[モバイルアプリ（iOS/Android）を作ってみよう](https://qiita.com/Kony_Team/items/576711d7016e2f073b8b)

記事一覧：
https://qiita.com/Kony_Team/private/4c922fa016ce95c58406

# 最後に一言
より読みやすい記事にしていきたいので、
「ここがわからなかった！」
「ここがもっと知りたい」
など、コメントいただけると嬉しいです！


# 参考
https://docs.kony.com/konylibrary/konyfabric/kony_fabric_user_guide/Default.htm