Slide 1

Slide 1 text

オブジェクト指向初心者が、 Swi$でアプリを開発するまで 2017.02.18 Swi$ビギナーズ勉強会 @ファンコミュニケーションズ Satoru Ohguchi

Slide 2

Slide 2 text

自己紹介 大口 聡(おおぐちさとる) 出身: 北海道札幌市 在住: 埼玉県 仕事: 中堅SIerに在籍するシステムエンジニア。 主に、インフラを中心としたシステム構築のコンサルティング、環境構築支援をしています。 経歴: ハードウェアエンジニア → 制御SE → 社内SE → ネットワークエンジニア → 現職 趣味: ひたすらコンピューター好きです。趣味で、AWS、Bluemix、VPS、Swift(iOS)、RaspberryPi とか楽しんでます。Swift歴は、勉強初めて、2年弱というところです。 ほかに好きなものは、お酒、音楽鑑賞(クラシック、吹奏楽、ポップスなど)、アニメーショ ン、フィギュアスケート観戦などです。 Twi7er:@o_chcchi Facebook:h7ps://www.facebook.com/ohguchi.satoru Qiita: h7p://qiita.com/o_chicchi Blog: h7p://blog.maripara.org/

Slide 3

Slide 3 text

去年、ポエムを書きました URL: h7p://qiita.com/o_chicchi/items/80e6a64f24c893bf4882

Slide 4

Slide 4 text

アプリ作って 公開してますか?

Slide 5

Slide 5 text

SimonCats というアプリを公開してます

Slide 6

Slide 6 text

サイモンゲーム 参考: h7ps://www.youtube.com/watch?v=4YhVyt4q5HI 出典: h7ps://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%A4%E3%83%A2%E3%83%B3_(%E3%82%B2%E3%83%BC %E3%83%A0)

Slide 7

Slide 7 text

最初、考えてみた •  ①~④の領域を点滅させて、人がそれを覚えて、ユーザーが 入力するというゲーム •  30年以上前に書かれた書籍の中で、N-BASICのゲームプログラ ムが紹介されていて、動作ロジックは、それが元になっています。 SCORE [ ] ① ② ③ ④

Slide 8

Slide 8 text

iPhoneの画面にはめ込む ゲームメイン画面案 通常のSimonのゲーム 普通は、4個なのですが、 拡張して、8個にしています。 ゲームは合間にやる前提と いうことから、中断と、Give Up も設ける

Slide 9

Slide 9 text

悩ましいこと • 自分のアプリのアイディアを何に するか • どうやって製作時間を確保する か

Slide 10

Slide 10 text

アイディアを考える •  実は作りたいものがある。 –  そういう人は、すぐに作りましょう。 •  ブレーンストーミング –  とりあえず、時間を決めて(ex.10分)、考えられるだけ 書き出して、そこから選んでみる。 •  まわりに相談してみる –  自分の草案のアイディアを見せて、時間を決めてアイ ディア出しのお手伝いをお願いしてみる。

Slide 11

Slide 11 text

設計過程で考えたこと •  できるだけシンプルに設計する。 – 完成出来なかったら、心が折れる。 •  サンプルアプリケーションの画面構成を真似 てみる。 – 何事も真似からだと思うので。 •  プロトタイピングをして実現性を考える。 – 絵を描きました。

Slide 12

Slide 12 text

時間の確保 •  会社員には有給休暇というものがあります! •  年末や、夏休みというのもあります! •  自分は、調整して3日間まとめて使える期間を確 保しました。 •  プログラミング合宿というのもあるので、それも 選択肢と思います。

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

この本であれば、Swi$ 3.0 対応で学習できます。

Slide 15

Slide 15 text

技術要素 •  エクステンションを使って枠線付きボタンを、 StoryBoard で描く •  Admob の広告処理をSwi$で記述 •  可愛らしいイラスト •  サウンド処理 •  多言語対応(英語、日本語)

Slide 16

Slide 16 text

技術要素 •  iOSでボタンやラベルの枠線を Storyboard で 簡単に描く方法 – h7p://qiita.com/o_chicchi/items/ c4469e956c2118226a2d •  Admobの広告をSwi$で表示する – h7p://qiita.com/o_chicchi/items/ da8ebfd1d4536f29398b

Slide 17

Slide 17 text

素材について •  友人に原画を描いてもらって、CLIP STUDIO、 PhotoShop Elements で加工して、プログラム 内で使用しています。 •  音の素材については、「魔王魂」「ポケットサ ウンド」から使用しています。 – 利用規約については、注意しましょう。

Slide 18

Slide 18 text

多言語対応 •  実は、密かに、英語に対応しています。 – プログラムとは別な意味で苦労しました。 •  より適した表現を、実際にアプリを見て貰いながら、詳 しい人にアドバイス頂いて表現を練りました。 •  英訳したことで、日本語表現のよくないところも見つ かったりして、全体的に見直したところもあります。 – 他の言語への対応もしてみたいと思っています。

Slide 19

Slide 19 text

Swi$3.0対応 •  先日、Swi$3.0対応もしました。 –  基本的には、自動で置き換えてくれる機能を使いまし た。 –  勝手に、“NS” が全て削除されると思ってましたが、全 てではなかったので、余計なところも消してしまい悩 む結果に。 –  当初の Admob のライブラリの入れ方が悪く、解決で きないエラー多発で、結局、プロジェクトを作り直して、 再構成しました。 –  AVPlayerLayer の使い方が変わっていました。使い方 を見直しました。

Slide 20

Slide 20 text

オブジェクト指向プログラミングに向けて •  実は、動くこと優先で、オブジェクト指向を置 き去りにしてコードを書いている部分がたくさ んあります。 •  正しい書き方をもっと勉強して、よりよいコー ドにリファクタリングしていくことが当面の目標 です。

Slide 21

Slide 21 text

Thank you !