Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[発表資料] オブジェクト指向初心者がSwiftでアプリを開発するまで
Search
Satoru Ohguchi
February 16, 2017
Programming
690
0
Share
[発表資料] オブジェクト指向初心者がSwiftでアプリを開発するまで
Swiftでアプリを開発する過程について説明。21頁。
Satoru Ohguchi
February 16, 2017
More Decks by Satoru Ohguchi
See All by Satoru Ohguchi
Use the M5Stack with 3G Modem
ochicchi
0
2.2k
Play with M5Stack
ochicchi
1
2.1k
How to study AWS IoT
ochicchi
0
1.1k
How to use OMRON sensors and M5Stack
ochicchi
0
92
IotLT_52-HobbyOmronSensors.pdf
ochicchi
2
800
JAWS-UG Beginner 2018/06/22
ochicchi
0
610
Swift愛好会初心者ハンズオン(vol.31)
ochicchi
0
260
Swift入門者向けハンズオンからの学び
ochicchi
1
440
Swift愛好会 #28
ochicchi
0
570
Other Decks in Programming
See All in Programming
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
290
モダンOBSプラグイン開発
umireon
0
190
OTP を自動で入力する裏技
megabitsenmzq
0
130
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
220
「速くなった気がする」をデータで疑う
senleaf24
0
110
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
830
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
130
Understanding Apache Lucene - More than just full-text search
spinscale
0
150
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
220
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
270
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2.2k
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
480
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Site-Speed That Sticks
csswizardry
13
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Test your architecture with Archunit
thirion
1
2.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
Art, The Web, and Tiny UX
lynnandtonic
304
21k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Transcript
オブジェクト指向初心者が、 Swi$でアプリを開発するまで 2017.02.18 Swi$ビギナーズ勉強会 @ファンコミュニケーションズ Satoru Ohguchi
自己紹介 大口 聡(おおぐちさとる) 出身: 北海道札幌市 在住: 埼玉県 仕事: 中堅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/
去年、ポエムを書きました URL: h7p://qiita.com/o_chicchi/items/80e6a64f24c893bf4882
アプリ作って 公開してますか?
SimonCats というアプリを公開してます
サイモンゲーム 参考: 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)
最初、考えてみた • ①~④の領域を点滅させて、人がそれを覚えて、ユーザーが 入力するというゲーム • 30年以上前に書かれた書籍の中で、N-BASICのゲームプログラ ムが紹介されていて、動作ロジックは、それが元になっています。 SCORE [ ]
① ② ③ ④
iPhoneの画面にはめ込む ゲームメイン画面案 通常のSimonのゲーム 普通は、4個なのですが、 拡張して、8個にしています。 ゲームは合間にやる前提と いうことから、中断と、Give Up も設ける
悩ましいこと • 自分のアプリのアイディアを何に するか • どうやって製作時間を確保する か
アイディアを考える • 実は作りたいものがある。 – そういう人は、すぐに作りましょう。 • ブレーンストーミング – とりあえず、時間を決めて(ex.10分)、考えられるだけ 書き出して、そこから選んでみる。
• まわりに相談してみる – 自分の草案のアイディアを見せて、時間を決めてアイ ディア出しのお手伝いをお願いしてみる。
設計過程で考えたこと • できるだけシンプルに設計する。 – 完成出来なかったら、心が折れる。 • サンプルアプリケーションの画面構成を真似 てみる。 – 何事も真似からだと思うので。 • プロトタイピングをして実現性を考える。
– 絵を描きました。
時間の確保 • 会社員には有給休暇というものがあります! • 年末や、夏休みというのもあります! • 自分は、調整して3日間まとめて使える期間を確 保しました。 • プログラミング合宿というのもあるので、それも
選択肢と思います。
None
この本であれば、Swi$ 3.0 対応で学習できます。
技術要素 • エクステンションを使って枠線付きボタンを、 StoryBoard で描く • Admob の広告処理をSwi$で記述 • 可愛らしいイラスト
• サウンド処理 • 多言語対応(英語、日本語)
技術要素 • iOSでボタンやラベルの枠線を Storyboard で 簡単に描く方法 – h7p://qiita.com/o_chicchi/items/ c4469e956c2118226a2d • Admobの広告をSwi$で表示する
– h7p://qiita.com/o_chicchi/items/ da8ebfd1d4536f29398b
素材について • 友人に原画を描いてもらって、CLIP STUDIO、 PhotoShop Elements で加工して、プログラム 内で使用しています。 • 音の素材については、「魔王魂」「ポケットサ
ウンド」から使用しています。 – 利用規約については、注意しましょう。
多言語対応 • 実は、密かに、英語に対応しています。 – プログラムとは別な意味で苦労しました。 • より適した表現を、実際にアプリを見て貰いながら、詳 しい人にアドバイス頂いて表現を練りました。 • 英訳したことで、日本語表現のよくないところも見つ かったりして、全体的に見直したところもあります。
– 他の言語への対応もしてみたいと思っています。
Swi$3.0対応 • 先日、Swi$3.0対応もしました。 – 基本的には、自動で置き換えてくれる機能を使いまし た。 – 勝手に、“NS” が全て削除されると思ってましたが、全 てではなかったので、余計なところも消してしまい悩
む結果に。 – 当初の Admob のライブラリの入れ方が悪く、解決で きないエラー多発で、結局、プロジェクトを作り直して、 再構成しました。 – AVPlayerLayer の使い方が変わっていました。使い方 を見直しました。
オブジェクト指向プログラミングに向けて • 実は、動くこと優先で、オブジェクト指向を置 き去りにしてコードを書いている部分がたくさ んあります。 • 正しい書き方をもっと勉強して、よりよいコー ドにリファクタリングしていくことが当面の目標 です。
Thank you !