WeChat mini program (微信小程序)の開発環境を構築する

## はじめに

- WeChat(微信)とは、中国を中心に使用されているメッセージングサービスです。「中国のLINE」とざっくり説明されることがあります。
- WeChat mini program(微信小程序)とは、WeChat上に構築できるウェブサイト/アプリの・ようなものです。
- Canvasや通常のhtmlタグを使った画面表示、メディア録画・再生、マップ表示、WeChatのログイン及びペイメントとの連携、ストレージアクセスなどができるようです(まだ全部試せていない)。
- この記事では、WeChat mini programの開発環境の構築のしかたを説明します。具体的なコーディング方法については記載されていません。
- 開発言語はJavaScript, wxml(html方言), wxss(css方言)です。 

<img width="375" alt="IMG_3522.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/42108/d8eef3ec-5c72-730d-d11f-022ad20c54e2.png">

- 丸いやつがmini programです。

<img width="375" alt="IMG_3522.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/42108/70c4247d-73ab-2ac2-3026-bfe05bf51935.png"><img width="375" alt="IMG_3523.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/42108/d0298dde-05be-d730-f9c9-80aad297e26b.png">

- こんな感じに各社mini programをリリースしています。
- WeChat等でQRコードを読むだけでサクッとインストールされるので、アプリのインストールよりもユーザー的なハードルが少なく、使いやすいと感じました。

- 2018年4月時点での構築方法です。公式ドキュメントと実際の手順で整合性が取れていない部分もあったため、今後もどんどん変わっていくのだと思います。ので、あくまでご参考まで。

## 公式リファレンス等:

- [公式アカウントログイン](https://mp.weixin.qq.com)
- [チュートリアル](http://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mini-programs/development/brief-tutorial)
- [APIドキュメント](http://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mini-programs/development/api)
- [デモアプリのソースコード](http://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mini-programs/development/experience#development_experience)
- [Wiki](https://github.com/apelegri/wechat-miniprogram-wiki)
 

## 開発環境構築(1): 開発用App IDを取得する。

- 前提として、WeChatのユーザーアカウントは既に準備しているものとします。
- また、スマホにWeChatアプリが入っているものとします。
- [公式アカウントの取得画面](https://mp.weixin.qq.com)から、公式アカウントの取得を行います。

<img width="600" alt="Screen Shot 2018-05-03 at 17.30.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/50954024-7e93-81fa-1fd2-e3551f6d7e1a.png">

<img width="600" alt="Screen Shot 2018-05-03 at 17.30.56.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/f1cbd392-7a5a-aa46-b673-46ef55322688.png">

- まずはemail認証。この画面のあと、emailが届くので、メールに書いてあるリンクをクリックして認証を行います。

<img width="600" alt="Screen Shot 2018-05-03 at 17.32.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/4265880a-1d8a-b526-0ab4-5351c0ffaeb3.png">

- 次にSMS認証及び開発者情報登録。
- 会社名を入れる必要が有るのですが、自分の場合は(登記していない)自分が関連している開発者コミュニティの名称を入れました。ひとまずそれで登録はできました(なんでもいいのかも)。ただし、後々チェックされた際にアカウント凍結等のリスクがなくはないため、自己責任でお願いします。
- 身分証番号もなんでもいいのかもしれませんが、僕はパスポート番号を入れました。

<img width="600" alt="Screen Shot 2018-05-03 at 17.32.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/3a82ba77-bff0-7ed8-f23b-e83697508e1a.png">

- このあと、個人アカウントと開発者アカウントの紐付けフローが(たしか)あり(すいません、スクショ取り忘れてました)、開発者登録が完了します。

## 開発環境構築(2): 開発用IDEのインストール

- 取得したログインIDとパスワードを使ってログインを行います。
- この際、QRコードが画面に表示されるので、スマホにインストールしているWeChatアプリでQRコードを読み取ることで、個人認証を行う必要があります。
- ログインするとこんな画面

<img width="600" alt="Screen Shot 2018-05-03 at 17.52.19.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/77f566b5-1bc7-edc4-36a5-8aceddc63210.png">

- [開発環境のインストール用のページ](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)に行き、IDEをインストールします。

<img width="600" alt="Screen Shot 2018-05-03 at 17.53.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/c5daecca-7f0d-9ac7-b16d-76eeca978b23.png">

- これで、開発環境を手に入れる事ができます！

## 開発環境構築(3): IDEを触ってみる

- 起動するとこんな感じです。

<img width="327" alt="Screen Shot 2018-05-03 at 17.57.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/3c8f6774-e0c9-c77a-72d8-66b88c44fbb5.png">

- ここからアプリを新規作成します。

<img width="600" alt="Screen Shot 2018-05-03 at 17.57.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/09be50af-0781-c4cc-e803-ca86d6c63d94.png">

- こんな感じのIDEが立ち上がります。

<img width="1465" alt="Screen Shot 2018-05-03 at 18.01.12.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/c297b454-e74b-ab18-3426-7914c621bdac.png">

- [デモアプリ](http://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mini-programs/development/experience#development_experience)にさまざまなUIの作り方などが書いてあるので、参考にしながら(これから)勉強していこうと思います。

- IDE上にエミュレータが出ているのですが、実機で確認したい場合は「預覧」ボタンを押すと、QRコードを表示されます。これをWeChatで読み取ることで、スマホで動作を見ることが出来ます。

<img width="1071" alt="Screen Shot 2018-04-30 at 16.56.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/42108/5cf9ddde-5c6a-615c-1560-1f1870486442.png">

- アプリの公開には別途手続きが必要そうなので、それもおって勉強していこうと思います。

## デモ

- mini program→AWS上のサーバ→コンセント上のマイコンという径路で通知を送り、コンセントを制御するデモをつくってみました。

https://youtu.be/P2N6CXWdEuI

- mini programをつくったことが有るよ！という話をすると、中国のソフトウェア開発者の方と仲良くなりやすいのでおすすめです！