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
0
680
[発表資料] オブジェクト指向初心者がSwiftでアプリを開発するまで
Swiftでアプリを開発する過程について説明。21頁。
Satoru Ohguchi
February 16, 2017
Tweet
Share
More Decks by Satoru Ohguchi
See All by Satoru Ohguchi
Use the M5Stack with 3G Modem
ochicchi
0
2.1k
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
84
IotLT_52-HobbyOmronSensors.pdf
ochicchi
2
790
JAWS-UG Beginner 2018/06/22
ochicchi
0
610
Swift愛好会初心者ハンズオン(vol.31)
ochicchi
0
250
Swift入門者向けハンズオンからの学び
ochicchi
1
430
Swift愛好会 #28
ochicchi
0
570
Other Decks in Programming
See All in Programming
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
140
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
CSC307 Lecture 02
javiergs
PRO
1
740
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
630
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
920
SQL Server 2025 LT
odashinsuke
0
120
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
280
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
600
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
500
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
1
1.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Statistics for Hackers
jakevdp
799
230k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
130
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Claude Code のすすめ
schroneko
67
210k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
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 !