「Objective-C」と「Swift」どちらが良いか?
こんにちは。
受託開発セクション 大城です。
iOSでの開発で「Objective-C」と「Swift」どちらが良いか?という質問を頂きます。
現状で言いますと、BtoBでの既存のプロジェクトはObjective-Cが多いです。新規開発ではSwiftもだいぶ増えてきました。
アスタリスクはBtoBのビジネスなので、そのケースでの大まかなメリットとデメリットを記載したいと思います。
● Objective-C
メリット
・変更がほぼないため、XCodeのアップデートで気にするところが少ない。
・Swift開発者よりも人口が多く、熟練度が高め。
・マクロやライブラリがまだSwiftよりも充実
デメリット
・Swiftと比べ工数がかかる
・Swiftよりも難解
・書籍がなくなってきている
● Swift
メリット
・Objective-Cよりも敷居が低い。
・ヘッダファイルがないためソースファイル量が減る。
・コードも簡潔にできるためコード量が減らせる。
・書籍が多い
デメリット
・Objective-Cで使用出来るマクロやライブラリがSwiftで使用できないものがある。
・Swift開発者はSwiftのコーディングができるが、Objective-Cのコーディングが出来ない傾向がある。
・XCodeのアップデートでの変更がよめない。
まとめますと下記のイメージでの選択で良いかと思います。
新規での開発、熟練でなくとも変更にも柔軟に追従が可能ならSwift。
既存のプロジェクトが大規模で移管工数が莫大、開発者の知見があり、言語での安定を求めるならObjective-C。
大まかにざっと書きましたが、こんなところでしょうか。
Swiftも充実してきており、Swift3からだいぶ安定しているので、今後の選択条件は変更があると思います。選択で悩んでいるお方は、現状の目安としてはこのように選択してみて良いのではないかと思います。