株式会社アスタリスク

製品情報

AsReaderブログ

「Objective-C」と「Swift」どちらが良いか?

カテゴリー:
最終更新日:2017年03月21日
objective C VS 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からだいぶ安定しているので、今後の選択条件は変更があると思います。選択で悩んでいるお方は、現状の目安としてはこのように選択してみて良いのではないかと思います。

● Apple、Apple のロゴ、iPhone、iPod touchは、米国および他の国々で登録されたApple Inc.の商標です。
※iPhoneの商標は、アイホン株式会社のライセンスにもとづき使用されています。
※iOS商標は、米国Ciscoのライセンスに基づき使用されています。
● Androidは、Google LLCの商標です。 ● Windowsは米国 Microsoft Corporationの米国およびその他の国における登録商標です。
●その他、各社の会社名、システム名、製品名などは、一般に各社の登録商標または商標です。 
当社サイト内に記載されている社名、製品名、サービス名及びサイト名には、必ずしも商標表示「®」「(TM)」を付記していません。
※iOSデバイスと接続して使用する当社製品は、MFi認証を取得しています。 ※ 形状・色など予告なく変更する場合があります。