iOSアプリ開発は初心者でもできる?
Yes
はじめに
先に結論から述べると100%できます。なぜなら、ボンクラの僕にもできたからです(笑)どのくらいボンクラかと言うと、普通運転免許?の学科試験に二度落ちたくらいです(笑)おそらく、この記事の読者のほうが何十倍も賢いことでしょう。
そんな僕がたった1ヶ月半でどうやって、自作アプリをApp store(アプリケーションのダウンロードサービス)に公開するまでに至ることができたのかを、勉強法やマインド面を中心に、専門用語は避けて語っていきたいと思います。
iOSアプリを開発してみたいけど何から始めたら良いのかわからなかったり、はじめてみたけれど、進め方がよくわからないと感じている方への助け舟となれたら嬉しいです。ただし、科学的根拠は一切ないので、一意見として受け止めてください(笑)
用意するもの
アプリ開発において用意するものは以下の2点です。
パソコンに関しては、Windowsでできないこともないらしいですが、使い方ガイドや参考資料が豊富なMacが望ましいです。また、iOSアプリを開発するための環境は、Xcodeを利用します。以下のURLからダウンロードページに飛べます。
1.Macのパソコン
2.Xcode(できれば最新バージョン)
[ダウンロード] https://apps.apple.com/jp/app/xcode/id497799835?mt=12
App storeに公開するためには上記の2点+Apple Developer(年会費:1万1800円)に登録する必要があります。実機実験やシミュレータの利用は登録しなくてもできます。詳しくはググってみてください。
勉強法
僕の勉強法を大雑把に説明すると、以下の3つのステップです。
効率よく学習するコツは、ステップ③を重視することです。以下で説明します。
① Swift(iOS開発用言語)の基礎学習
・「15時間でわかるSwift集中講座」(Swiftのバージョン間違った)著者:高橋広樹
・「本気ではじめるiPhoneアプリ作り」著者:西磨翁
・ドットインストール(動画学習)
②サンプルコードを写経する(mainはXcodeの使い方を学習)
③自作(バス時刻表アプリ)
かけた期間で言うと、①に2週間②に1~2週間③に2~3週間程度です。
自粛期間中と言うこともあり、1日の平均学習時間は3時間くらい取れていました。
ここで大事なことは③の自作の段階にすぐに移ることです。
多くの方が、理解していないのにできる訳ない(怒)と考えると思います。
確かにそうです。基礎がわかっていないのに作れるわけがありません。ここで言いたいことは、①の基礎学習期間に時間を使いすぎるな!と言うことです。
ここに時間を使いすぎる人の多くは、完璧に理解しないと、もしくは覚えないといけないと考えていると思います。しかし、はっきり言って、Swiftを完璧に理解してるエンジニアは、ほとんどいないですし、ましてやコードを全て暗記している人なんてSwiftの開発者ぐらいです(笑)多くのエンジニアは、ネットなり書籍なりを調べながら開発しています。iOS開発を仕事にしてバリバリお金を稼いでいる人たちがどうなのかはわかりませんが、その方達もはじめは、調べながら開発していたはずです。全てを理解しようとせずに、何となくわかってきたぞとフワッとした感じで十分です。英会話とは違って、コンピュータは入力を待ってくれます(笑)とにかく簡単なもので良いので、自作アプリを作ってみましょう。
とは言っても、学習能力には個人差あるし、「やっぱりどのくらい学習すれば良いかわからないよ」と言う方もいると思います。そこで、ボンクラの僕を最底辺として、学習量の目安を立てると、多くても上の3つの様な参考書(何でも良い)を一周すれば十分だと思います。理解力がある人は3つ目の動画学習だけで良いかもしれません。
何を開発すれば良いの?
とにかく作れと言われても、何を作ったら良いのかわからないし、そもそも何が作れるのかもわからないと思います。iOSアプリでは情報さえあれば、基本的に何でも作れると言っても良いです。しかし、初学者にとって技術的に難しすぎると言ったことはあると思います。例えば、ネットと通信を行ったりするようなアプリは、サーバーサイドの知識もある程度はないといけないため、初学者には難しいかもしれません。したがって、自分ができそうなレベルのちょっと上のレベルくらいのものが良いと思います。初学者が比較的に作りやすいアプリを以下に書いてみました。アイデアが浮かなければ、他者が開発したアプリを真似してみるのもありだと思います。
・バス時刻表アプリ
・メモ機能アプリ
・現在位置取得(GPS)を利用したアプリ
・画像認識系アプリ
・計算アプリ
アプリを公開するためには
しかし、上記のようなアプリは世の中に無数にあり、そのまま公開するとなると難しいです。恐らく審査ではねられます。appleの審査にこのような項目があるからです。
4.1:模倣
4.2:必要最低限の機能しかない
そのため、何かひとつ独自性のある機能を足してあげたら良いと思います。僕が初めて、公開したアプリ(バス時刻表アプリ)もその程度のレベルでした。
最後に
独学でプログラミングを学習しようと思うと、正直かなり根気がいります。実際に、プログラミングを学習したけれど、挫折する人がほとんどだそうです。その原因の一つとしては、一緒に勉強する仲間や指南してくれる人がいないからだと思います。そんな時は、オンライン上のセミナーに参加したり、SNSで志が同じ仲間を探してみたりすることでモチベーションを保てるのではないかと思います。プログラミングも言語の学習と同様で、学び続ければ必ず会話ができるようになります。一緒に頑張りましょう。