Appmethod で何か作ってみる 
プログラミング生放送勉強会 
第30回@名古屋ソフトウェアセンター 
2014/11/08(土) You&I
ジコ、ショウカイ。 
H/N:You&I(読み:ユーアンドアイ) 
SNS:@you_and_i 
出身:生まれも育ちも名古屋市 
年齢:30代中盤 
本職:商学部出身の職業プログラマ 
言語:C++, C#他 
所属:プログラミング生放送勉強会名古屋支部 
名古屋アジャイル勉強会 
わんくま同盟名古屋勉強会 
Appmethodで何か作ってみる 2
暮井慧ファンクラブ会員№2 
Appmethodで何か作ってみる 3
プロ生勉強会の参加状況について 30回中、21回参加。 
回数 
参加 
回数 
参加 
回数 
参加 
第1回@渋谷 
不参加 
第11回@大阪 
不参加 
第21回@福岡 
参加 
第2回@新宿 
不参加 
第12回@品川 
参加 
第22回@松山 
参加 
第3回@大阪 
不参加 
第13回@愛媛 
参加 
第23回@大阪 
参加 
第4回@名古屋 
参加 
第14回@品川 
不参加 
第24回@名古屋 
参加 
第5回@新宿 
不参加 
第15回@大阪 
参加 
第25回@品川 
不参加 
第6回@大阪 
参加 
第16回@名古屋 
参加 
第26回@大阪 
不参加 
第7回@新宿 
参加 
第17回@品川 
参加 
第27回@品川 
参加 
第8回@名古屋 
参加 
第18回@大阪 
参加 
第28回@仙台 
参加 
第9回@大阪 
参加 
第19回@品川 
参加 
第29回@松山 
参加 
第10回@品川 
参加 
第20回@品川 
不参加 
第30回@名古屋 
参加 
Appmethodで何か作ってみる 4
プロ生@名古屋開催嬉しいです 
Appmethodで何か作ってみる 5
AGENDA 
1.何してるんですか 
2.何作りますか 
3.どれにしますか 
4.準備しますか 
5.どう作りますか 
6.やってみますか 
7.やってみてどうでしたか 
Appmethodで何か作ってみる 6
1. 何してるんですか 
Appmethodで何か作ってみる 7
1. 何してるんですか(1/9) 
去年のプロ生@名古屋でセッションした 
Qt5のセンサーAPIを使ってみたい 
http://www.slideshare.net/youandi060219/youandi-qt5-sensor 
で触れたタッチパネルのお仕事が最近やって きて、ここ二ヶ月は大変でした。 
もっとちゃんと調べておけば良かった・・・。 
Appmethodで何か作ってみる 8
1. 何してるんですか(2/9) 
さて、皆さんご存じ 
_人人人人人人人人人人人人人_ >マスコットアプリ文化祭<  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ 
http://pronama.github.io/mascot-apps-contest/2014/ 
Appmethodで何か作ってみる 9
1. 何してるんですか(3/9) 
さて、今日この場にいらっしゃる 
皆様におかれましては、 
「マスコットアプリ文化祭」に 
既にアプリなどを投稿されて 
いらっしゃるかと思います。 
Appmethodで何か作ってみる 10
1. 何してるんですか(4/9) 
私はまだですw 何もしていない・・・ 
https://twitter.com/you_and_i/status/503681036572565504 
Appmethodで何か作ってみる 11
1. 何してるんですか(5/9) 
つらみ 
ねむい 
つらい 
Appmethodで何か作ってみる 12
1. 何してるんですか(6/9) 
と言う事で何か作ろうか? 
と考えたのですが、 
いいネタがありません。 
それでも考え続けた所・・・、 
Appmethodで何か作ってみる 13
1. 何してるんですか(7/9) 
プロ生の大人気コンテンツの一つである、 
[Web Comic] 
情報処理研究会漫画すぱこー http://pronama.azurewebsites.net/category/web-comic/ 
に活路を見出しました。 
Appmethodで何か作ってみる 14
1. 何してるんですか(8/9) 
とあるプロ生勉強会後に開催される 
プロ生ちゃん会議にて 
「すぱこー」の知名度が 
イマイチだという話題が出てですね、 
色々考えてはいたんです。 
Appmethodで何か作ってみる 15
1. 何してるんですか(9/9) 
余談ですが、私は 
「すぱこー」が好きすぎて? 
名ツッコミ役のフィネスさん 
(左側)の等身大パネル 
も購入しました! 
皆さんもお一ついかが? 
http://goo.gl/Ea3R6E 
Appmethodで何か作ってみる 16
2. 何作りますか 
Appmethodで何か作ってみる 17
2. 何作りますか(1/7) 
まずは「すぱこー」をじっくりと読みます。 http://pronama.azurewebsites.net/category/web-comic/ 
Appmethodで何か作ってみる 18
2. 何作りますか(2/7) 
あっという間に数時間経ってしまい、 
そろそろ眠る時間になってしまいました。 
(´・ω・`) 
でも寝たらスッキリした頭で閃きました。 
Appmethodで何か作ってみる 19
2. 何作りますか(3/7) 
プロ生のblogページから、 
「すぱこー」の最新話を探すのは 
ちょっと一手間掛かってしまいます。 
熱心な「すぱこー」の 
読者の皆さん(すぱこーだー?) 
はどうしているんでしょうか? 
Appmethodで何か作ってみる 20
2. 何作りますか(4/7) 
ということで、 
アプリを立ち上げていつでも 
すぐに「すぱこー」が読めたら 
個人的には嬉しいかも? 
というアイデアに至りました。 
Appmethodで何か作ってみる 21
2. 何作りますか(5/7) 
某ストアアプリの黎明期に 
某社がRSSリーダーの 
開発テンプレートを 
配布していたんですね。 
Microsoft Windows 8 アプリ開発テンプレート 
http://msdn.microsoft.com/ja-jp/jj556277 
Appmethodで何か作ってみる 22
2. 何作りますか(6/7) 
プロ生の公式サイトは、 
WordPressベースで作成されていて 
カテゴリのRSS feedは 
簡単に取得できるようです。 http://pronama.azurewebsites.net/category/web-comic/ 
↓ 
http://pronama.azurewebsites.net/category/web-comic/feed/ 
Appmethodで何か作ってみる 23
2. 何作りますか(7/7) 
feedの内容が使えそうですね 
Appmethodで何か作ってみる 24
3. どれにしますか 
Appmethodで何か作ってみる 25
3. どれにしますか(1/10) 
•RSSリーダーアプリで使いそうな技術 
•HTTP通信, HTTPクライアント 
•XMLパーサー 
•Browser表示コントロール 
•マスコットアプリ文化祭に提出する目的とし ては、何らかのプロ生ちゃん素材を使う事 も検討したいですね。まあ後回しですが。 
Appmethodで何か作ってみる 26
3. どれにしますか(2/10) 
•処理フロー 
Appmethodで何か作ってみる 27 
起動したら 
RSSを読み込む 
読み込んだRSS をリスト表示 
リスト項目が 
クリックされたら 
Browserコント ロールでblog内 容を表示 
リスト表示に戻る 
blog表示中に 戻る操作
3. どれにしますか(3/10) 
Windowsストアアプリで 
作成してみるのは 
お手軽で良いとは思いましたが、 
一応はC++erなので、 
C++/CXは選択肢としてはアリだが、 
C#/VB.NET/JavaScript 
はなぁちょっと・・・。 
Appmethodで何か作ってみる 28
3. どれにしますか(4/10) 
そんなときに出会ったんですね。 
Appmethodで何か作ってみる 29
3. どれにしますか(5/10) 
ずっと携帯電話はAndroidを 
使っているので端末は持っている。 
しかもC++でAndroid開発する 
のなら無料で使えるんですって 
奥さん! 
Appmethodで何か作ってみる 30
3. どれにしますか(6/10) 
Appmethodで何か作ってみる 31
3. どれにしますか(7/10) 
•Appmethodとは 
1.旧Borlandの開発部門を2008年に買収し た、Embarcadero社が開発している統合 開発環境(IDE)。 
2.IDEの実行環境はWindowsのみ。 
3.開発のターゲットプラットフォームは、 Windows, Mac OS X, iOS, Android。 
4.開発言語は、C++とObject Pascal。コン パイラはNativeコンパイラとなる。 
5.FireMonkeyと呼ばれるCross Platform GUIフレームワークが基盤となっています。 
Appmethodで何か作ってみる 32
3. どれにしますか(8/10) 
•AppmethodのC++環境 
1.C++コンパイラはClang 3.1ベース。 
•おおよそのC++11規格には対応 
•http://clang.llvm.org/cxx_status.html 
2.Appmethod専用のBoost C++ Library も提供されています。WindowsとMac OS Xのみで使用可能。 
•AppmethodとRAD Studioの違い 
•モバイル寄りがAppmethod 
•デスクトップ寄りがRAD Studio 
Appmethodで何か作ってみる 33
3. どれにしますか(9/10) 
うむ。前にちょっと 
C++Builderを使った事もあるし、 
これはなかなか良いのでは・・・? 
Appmethod、君に決めた! 
Appmethodで何か作ってみる 34
3. どれにしますか(10/10) 
うーん。MSCCに申し込んだので、今となっ てはVisual StudioのUltimate版が使え る状況ですが、時既にお寿司。 
今回はAppmethodで行きましょう。 
Appmethodで何か作ってみる 35
4. 準備しますか 
Appmethodで何か作ってみる 36
4. 準備しますか(1/3) 
•Java SE Development Kit(JDK)の インストール 
•Android開発なのでJavaが必要 
•Oracleのサイトから入手します 
•http://www.oracle.com/technetwork/java/javase/downloads/ 
•7系と8系がありますが、無難に7系にしまし た 
Appmethodで何か作ってみる 37
4. 準備しますか(2/3) 
•Appmethodをセットアップします。 
•公式サイトにアクセスします。 
•http://www.appmethod.com/jp 
•右上のダウンロードリンクから最新のインス トーラーをダウンロードします。 
•サイズは2.4GBあるので、今この会場の回 線でダウンロードするのは止めて下さいね! 
Appmethodで何か作ってみる 38
4. 準備しますか(3/3) 
•注意事項! 
•Android ToolsからAndroid SDK関連を 更新してしまうと、ZipAlign.exeが見つから ないというエラーになります。 
•http://d.hatena.ne.jp/youandi/20140929/p1 
•今日会場で不用意にアップデートしてしまい 大変な事になっております・・・。 
Appmethodで何か作ってみる 39
5. どう作りますか 
Appmethodで何か作ってみる 40
5. どう作りますか(1/5) 
•Appmethodを無料で利用できる AndroidアプリケーションをC++で開発す る事にします。 
•開発ターゲットが決まったら、ちょっと気にな る事が・・・。 
Appmethodで何か作ってみる 41
5. どう作りますか(2/5) 
•C++だけでは、HTTPやTCP/IPは話せ ないんですよね。C++の規格には Socket通信などは含まれません。 
•Socket通信APIは各プラットフォーム毎の APIとして提供されています。 
Appmethodで何か作ってみる 42
5. どう作りますか(3/5) 
•C++でTCP/IPを話せるようにするには、プ ラットフォーム毎に提供されているソケット通信 APIを使ってHTTP通信処理を実装する必要 があります。 
•Linux, FreeBSD環境 
•BSD Socket API 
•Windows環境 
•WinSock API, WinHTTPAPI, WinINetAPI 
•Mac OS X環境 
•Cocoa API, Core Foundation API
5. どう作りますか(4/5) 
•Appmethodの場合はどうする? 
•コンポーネントのIndy Clientsカテゴリに 「TIdHTTP」コンポーネントが有りました。 
•コレを使えば良さそうです。 
Appmethodで何か作ってみる 44
5. どう作りますか(5/5) 
•TIdHTTPの使い方 
•同様にXML Parserをどうするかという問 題も、「TXMLDocument」コンポーネン トを使えば良さそうです。 
Appmethodで何か作ってみる 45 
TMemoryStream* ms = new TMemoryStream(); 
IdHTTP1->Get("http://pronama.azurewebsites.net/category/web- comic/feed/", ms);
6. やってみますか 
Appmethodで何か作ってみる 46
6. やってみますか(1/5) 
•Androidエミュレーターの準備 
•Android AVD Manager を起動する 
•Windowsのスタートメニュー 
•Appmethod1.15 
•Android SDKs 
•Android AVD Manager 
•デバイスを選択して「Create AVD」します。 
Appmethodで何か作ってみる 47
6. やってみますか(2/5) 
Appmethodで何か作ってみる 48
6. やってみますか(3/5) 
•Appmethodを起動します 
Appmethodで何か作ってみる 49
6. やってみますか(4/5) 
•新規作成から「マスタ/詳細」テンプレート を今回使ってみます。 
Appmethodで何か作ってみる 50
6. やってみますか(5/5) 
デモ 
Appmethodで何か作ってみる 51
7. やってみてどうでしたか 
Appmethodで何か作ってみる 52
7. やってみてどうでしたか 
ダメでした>< 
Appmethodで何か作ってみる 53
7. やってみてどうでしたか 
•Android上ではデスクトップアプリとは若干 フレームワークの動作が異なる 
→よくある話。慣れの問題か・・・。 
•Androidエミュレーター遅い 
→実端末使えばかなり改善。 
•デバッグ中に落ちるとプロジェクトが壊れて ビルドが通らなくなる 
→(´・ω・`) 
Appmethodで何か作ってみる 54
未完 
Appmethodで何か作ってみる 55 
https://twitter.com/akari_appy/status/408202083716698112

Appmethodで何か作ってみる