iOS
ポエム
Swift
新人プログラマ応援
ARKit

[Swift]プログラミング未経験者が独学で5ヶ月勉強してARのiosアプリをApp Storeに公開するまで

はじめに

・今まで全くプログラミングをしたことない人で、iosアプリを出してみたいが勉強方法が分からない方や、本一冊読み終えて何していいか分からなくなった方など初心者の方々向けにこの記事を書かせていただきました。
・あくまで勉強方法の一例です。
・記事内にコードや技術的な話は書いていません。
・プログラミング経験自体は5ヶ月程で、内訳は2ヶ月がPython、今3ヶ月程になるのが
Swiftです。
・勉強方法は書籍、ネット上で見つけたコードの写経、勉強会への参加です。

作ったもの

180.png
https://itunes.apple.com/us/app/ar-piling-bottles/id1441125552?mt=8&ign-mpt=uo%3D4

AR機能を使った、瓶を30秒以内にできるだけ多く並べて、その後並べた数によって
リザルト画面が変わるというシンプルな連打ゲーです。

IMG_3074.jpg
プレイ画面の一例
IMG_3060.jpg
こんな感じで結果が出ます。

勉強方法

結果としてリリースまで以下の5つのフェイズに分かれました。
「独習Python入門―1日でプログラミングに強くなる!」という本を実際に手を動かしながら2ヶ月ほどかかって読了。

「絶対に挫折しない iPhoneアプリ開発「超」入門 第6版 【Swift 4 & iOS 11】完全対応」という本を実際手を動かしながらこちらも2ヶ月ほどかかって読了。

Hacking With Swift(https://www.hackingwithswift.com/read)
というサイトに載っている サンプルコードと解説をよみながら10日で10個ほどプロジェクトを完成。

思いつきでToDoアプリを二週間アレンジしてオリジナルのアプリを作成しAppStoreに出すも、Minimul FunctionalityによってReject。

ARで適当にモデルを動かして遊んでいてなんとなく思いついたゲームを二日で作成、
一度リジェクトがありその後二日後にリリース。

*紹介した二冊の本、そしてサイトは本当に初心者にも優しいつくりになっていて、
オススメです。(サイトは英語です。)
また勉強に行き詰まった時は勉強会に出て、新しい知識を得たり経験者の方から進め方の意見を聞いたりしました。

勉強方法の背景

pythonから入った理由としては、他の言語よりシンプルらしい、という情報をネットで見つけたからです。
ところが本を読み終わったあと、これをいつまでやれば自分の手でアプリケーションが作れるようになるのだろうかという不安が生まれ、Xcodeがあれば実際に動いている様子がすぐ確認できるiosアプリ開発の方が、自分のアプリを作るイメージが浮かびやすいと予想し、言語をSwiftにチェンジしました。

Hacking With Swiftというサイトを使ったのは、サンプルコードが載っているサイトがSwift2で更新が止まっており、写経しても全く動かないということがちょくちょくあったので、完全にSwift4に対応しているこのサイトを使いました。

勉強方法について今思うこと

自作アプリの作成はもう少し早く始めるべきであったと思います。二冊目の本を読み終わった後、サンプルアプリの写経をし始めたくらいがベストタイミングだったと思います。やはり、自作アプリを作っているときは、集中力も違って、かなり楽しく取り組むことができました。また勉強してインプットしている時もこの機能は今のアプリに使えそう、とか少し違う観点から学べると思います。ありものの改変でいいので、早めに取り組むべきだったと思います。

pythonから始めた点については本が丁寧なこともあって、プログラミングの基礎へのとっかかりとしては良かったと思います。ただ、未経験からiosアプリをリリースしたいという目的が明確であれば、やらなくても良いと思います。

プログラミング未経験からiosアプリをストアに出す効率的方法

あくまで個人的な意見です。

1.「絶対に挫折しない iPhoneアプリ開発「超」入門 第6版【Swift 4 & iOS 11】完全対応」を実際手を動かしながら最後まで読む。

2.Hacking With Swift(https://www.hackingwithswift.com/read)
というサイトに載っている サンプルコードと解説をよみながら手を動かしてできるところまでやる。(英語が苦手な方はグーグル翻訳などに頼ってください。)並行して今まで書いてみたアプリに自分が思いつくオリジナルの機能を追加してみる。

3. オリジナルの機能を追加するのに慣れてきたら、自分のアプリを作ってみる。今まで作った機能を組み合わせたり、その機能を変更したり、用途を変えたりetc..

4. できたものをAppStoreに提出し、Rejectと戦う。

最後に

乱文ですが最後まで読んでくださりありがとうございました。
少しでも未経験の方や初心者の方の助けになれれば幸いです。