まずは言語を決める
弟のアイディアというのは、画期的なTodoリスト兼スケジューラ、ということらしい。
で、問題は彼はAndroidで私はiPhoneだということ。
こないだまでiPhoneだったのに、宗旨変えしたらしい。
でもまあ、国内のスマホのシェアとか、あとAndroidはいろんなスペックの機種がありすぎて、どれでも動くアプリを作るのは大変そうだとか、そんなようなことを相談して、まずはiPhoneアプリを作ろうというところで決着した。
Androidの場合は、開発はJavaで行うんだが、iPhoneの場合は、Objective CかSwift。Javaは知ってたんだけど、Objective C? なんじゃそりゃ。
というわけで、調べてみた。
Objective Cは、かつてAppleを追い出されたジョブズが、理想のコンピュータを作ろうと立ち上げたNextStepで採用した言語とのこと。今のMacのOS=OSXはUnixベースになっているけど、ジョブズがAppleに帰還するときにNextStepの技術を持ち込んだのが由来だとか。まあ、OSXのアプリ開発には相性がいいんだろうね。
でも、Objective Cは何十年も前に作られた言語だから、最新の言語にはいろいろ見劣りするらしい。
そこでAppleが2014年に発表したのがSwiftという新しい言語。
まあ、名前はかっこいい。速そう。
Objective C用のツールやらライブラリやらの蓄積は分厚いものがあるけれど、今後はSwiftが開発の主力になっていくだろうというのが業界筋の見立てです。
ならばSwift一択じゃない、と思うでしょ。
私もそう思ったんですけど、いろいろ調べてみると、
- 新しい言語のため、(言語自体の)開発が急ピッチで、バージョンアップや仕様変更が頻繁
- ドキュメント(参考資料)が貧弱
- さっきも書いたけど、ツールやライブラリも貧弱
- (うちには関係ないけど)古いアプリやシステムがObjective Cで書かれている場合、複数言語を混在させると混乱するリスクがある
などというデメリットもあるんだそうだ。
まあ、でも、今からやるならSwiftだよね。
どっちにしろ、Objective CがいいとかSwiftのここがちょっととか、言える身分じゃないんだし。
というわけで、言語はSwiftに決定。