ずぶの素人がiPhoneアプリを開発することになった話

プログラム経験のまったくない素人(50、♂)が、突然iPhoneアプリを作ることになりました。備忘録、ブックマーク、あとはモチベーション維持のため、日誌をつけてみます。

まずは言語を決める

f:id:quiet_room:20190519230016j:plain
ぱくたそ(www.pakutaso.com)

弟のアイディアというのは、画期的なTodoリスト兼スケジューラ、ということらしい。

で、問題は彼はAndroidで私はiPhoneだということ。
こないだまでiPhoneだったのに、宗旨変えしたらしい。
でもまあ、国内のスマホのシェアとか、あとAndroidはいろんなスペックの機種がありすぎて、どれでも動くアプリを作るのは大変そうだとか、そんなようなことを相談して、まずはiPhoneアプリを作ろうというところで決着した。

Androidの場合は、開発はJavaで行うんだが、iPhoneの場合は、Objective CかSwift。Javaは知ってたんだけど、Objective C? なんじゃそりゃ。

というわけで、調べてみた。

Objective Cは、かつてAppleを追い出されたジョブズが、理想のコンピュータを作ろうと立ち上げたNextStepで採用した言語とのこと。今のMacのOS=OSXUnixベースになっているけど、ジョブズAppleに帰還するときにNextStepの技術を持ち込んだのが由来だとか。まあ、OSXアプリ開発には相性がいいんだろうね。

でも、Objective Cは何十年も前に作られた言語だから、最新の言語にはいろいろ見劣りするらしい。

そこでAppleが2014年に発表したのがSwiftという新しい言語。 まあ、名前はかっこいい。速そう。
Objective C用のツールやらライブラリやらの蓄積は分厚いものがあるけれど、今後はSwiftが開発の主力になっていくだろうというのが業界筋の見立てです。

ならばSwift一択じゃない、と思うでしょ。

私もそう思ったんですけど、いろいろ調べてみると、

  • 新しい言語のため、(言語自体の)開発が急ピッチで、バージョンアップや仕様変更が頻繁
  • ドキュメント(参考資料)が貧弱
  • さっきも書いたけど、ツールやライブラリも貧弱
  • (うちには関係ないけど)古いアプリやシステムがObjective Cで書かれている場合、複数言語を混在させると混乱するリスクがある

などというデメリットもあるんだそうだ。

まあ、でも、今からやるならSwiftだよね。
どっちにしろ、Objective CがいいとかSwiftのここがちょっととか、言える身分じゃないんだし。

というわけで、言語はSwiftに決定。