2018/01/23

【初心者必見】iPhoneアプリ開発に必要な知識

先日購入した「絶対に挫折しないiPhoneアプリ開発「超」入門」を読み始めています。

目次:
Chapter 01 iPhoneアプリ開発の基礎知識
Chapter 02 Xcodeとシミュレータの基本操作
Chapter 03 今日からはじめるSwiftプログラミング【入門前夜】
Chapter 04 今日からはじめるSwiftプログラミング【超入門】
Chapter 05 クラスとインスタンス~UI部品の利用~
Chapter 06 iPhoneアプリ開発をはじめよう!
Chapter 07 SNSアプリ開発で学ぶボタン機能と画像配置
Chapter 08 カメラアプリ開発で学ぶプロトコルとデリゲート
Chapter 09 【総合演習】 今後につながる少し高度なアプリ開発
Chapter 10 アプリ開発の仕上げ
Chapter 11 iPhoneアプリで収益を上げる方法
Chapter 12 情報の収集方法とアプリの公開

今ざっと読んで色々いじっているところですが、大体のハードルというか全体像は理解してきましたので簡単にメモ書きとしてまとめます。

Xcodeに対する操作を理解

先ず英語なので、基本的にとっつきにくいです。
今回購入した書籍では、必ず使う操作方法とうまくいった場合の確認方法しか掲載されていません。
素人であれば、そこから理解していくのが当然ですし、シンプルなアプリであればそれで十分ですが、やはり一個一個試しに触って、調べるを繰り返していかなきゃですね。

Swiftの基本文法を理解

プログラミング初心者は地道に覚えるしかないですが、やはり難しいですね。
書籍では、簡単な例を出しているので、理解はできますし、簡単なアプリであれば実装もできそうです。
しかし、今自分が使っているアプリや、その辺に落ちているサンプルコードを見てもチンプンカンプンです。

もう少しレベルが上がれば、サンプルコードを見ればどういう構成になっているかはわかるかもしれません。
しかし、それを自分で一から実装というのはまだまだ先な気がしています。。

UI部品(LabelやButton)を理解

よく使うオブジェクトライブラリは限られてくるかもしれませんが、LabelやButtonなどのUI部品がどのクラスとして実装されているかを理解する必要がありますし(例えば、LabelはUILabelクラス、ButtonはUIButtonクラス)、さらにクラス毎に、実装できるプロパティも理解しなければいけないですし、覚えることは山ほどあります。
しかもAppleの公式解説を見ても、英語という・・・汗

あと、デフォルトはUIkitというフレームワークですが、ゲーム的な動きをさせたかったらspritekitとかまだ先は長いですね。

UI部品とコードの接続

ボタンがクリックされた時の機能(コード)を実装する必要がある。
ストーリーボードを使った操作としては何となくわかる。
しかし処理が複雑になってきたり開発が複雑になったことを考えると、ストーリーボードではなく、コードでやったほうがいいような気がしています。
実際公開されているサンプルコードを見ても、ストーリーボードを使っているのが逆に少ないように思えてきますので自分もそのコードを流用することを考えると、コードでやれるようにしたほうがいいんだろうな。。。

よくコードを入力しないでxcodeの処理だけでサンプルアプリを作りましょうみたいな本もありますが、絶対コードで慣れたほうがいいです。
自分が操作したものが動く喜びはありそうですけどね

Swiftをコーディングできる知識

学んでてよく思うのは、基本文法はあくまで基本なんで応用力は聞きません。
この処理を行いたい場合には、どういうコードを入力すればいいかは、意外にネットで検索しても出てきます。
ただ、swiftのバージョン違いだったり、長いコードの解説がないので、自分で読み解いて修正する必要がありますし
結局最後の自分でオリジナルに仕上げる必要があります。

おそらく根気よくやって学べるものだと思います。
そこらへんは英会話と似ていますね。
英会話は相手とコミュニケーションをとる必要があるので、もう一段階上な気はしますが。

まとめ

Xcodeに対する操作を理解
Swiftの基本文法を理解
UI部品(LabelやButton)を理解
UI部品とコードの接続
Swiftをコーディングできる知識

まだ勉強し始めてすぐなんで、「絶対に挫折しないiPhoneアプリ開発「超」入門」を読み切るのと、
なんでもいいので、簡単なアプリを作ることですね。

以上です。


お知らせ

ヒヨコ歩数計という歩きながらヒヨコが育っていくアプリを作って、いろんな方に結構使ってもらっています。
RealmSwift, Admobの動画・インステ・バナー広告、UICollectionView、iOS-Charts、UITableViewを使用しているので、是非ご利用ください!