Objective-CとSwiftは結構違う

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

Objective-CとSwiftは、どちらもApple製品向けアプリを開発するのに主要な位置を占めている言語で、どちらもCocoa Frameworkを使っているが、それぞれ意外と違いがあるようだ。わたしが両方使ってみて気になったところなどを書いてみたい。

Objective-Cは良くも悪くもC言語からの拡張である。このことはC言語の機能もほぼそのまま使える上に、C++との親和性も確保されており、Objective-C++としてC++とも比較的容易に連携させることも出来る利点がある。

一方で、独特な記法をしなければならない気持ち悪さやCに起因するポインター問題およびメモリーリーク問題など、あまり安全な言語とは言えない状況である。

SwiftはObjective-Cと比べれば初心者でも安全に利用できるようになっている。enumやクラスの定義、メソッドなどもかなりモダンで綺麗にまとまっている。

一方で、C言語やC++とは言語仕様が根本的に変わっているため、ブリッジを使わないとCやC++の機能を使えないという点では不便を強いられる。

今後は基本的にはSwiftを使い、C++との連携が必要になったときなどでObjective-Cを使うというようになるのだろうか?

思ったよりもObjective-CとSwiftは違ったものになっている。

タイトルとURLをコピーしました