今後のiOS/OS Xアプリ開発の方向性

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

一つ前の記事「新プログラミング言語「Swift」所感」では試験的にSwiftを触ったことによる当方の視点による所感を述べた。ここではそれをふまえて、今後のiOS/OS X向けのアプリ開発にあたっての今後の方向性はどうなるのかについて個人なりに述べてみたい。

現時点ではiOS/Mac向けのアプリ開発では基本的にCocoa/Cocoa Touchを中心に使う上ではObjective-Cを中心にC/C++を補助的に扱って開発をしていた。それがXcode 6ではSwiftを使ってもアプリ開発ができるようになるのは周知の通りである。これによって、Objective-Cよりも簡潔な記述でアプリを開発できるようになる。また、動作速度も速いとのことなので、ピュアなSwiftコードだけで書ければパフォーマンスも向上すると言えそうだ。

なお、当方がXcode 6 betaおよびSwiftを使ってみたところ、現時点ではアプリの開発は問題ないものの、ライブラリーの開発にはObjective-C以上に使えない状態にあると言える。一つ前の記事の通り、各々のメソッドおよびプロパティーのアクセス範囲を制限できないだけでなく、ヘッダー/実装ファイルが統一されたために最低限見かけ上隠蔽するという回避方法さえとれないためである。これは単体アプリを作るのであれば開発者サイドが心がければまだよいのだが、ライブラリーを開発するにあたっては絶対に外部クラスからは呼んでほしくないメソッドが呼ばれてしまったり、プロパティーの値を意図せず変えてしまったりするという危険性がObjective-Cよりも深刻であり、カプセル化が貧弱と言わざるを得ない。

また、ポインターをはじめとしたアンセーフな処理は意図的に排除されているため、それを必要とする場合は必然的にObjective-Cが必須になると考えられる。

これを考えると、iOS/OS Xのアプリ開発において従来の言語に加えてSwiftが新たに加わり、使い分けられるようになったと考えるのが現実的と言える。また、正式にXcode 6/Swiftが出たとしても全面的にSwiftに移行するというのは非現実的であると言える・

今後は新たにiOS/OS Xアプリを開発するにはObjective-CとSwiftの両方がある程度使えることが望ましいと考える。そういう点ではiOS/OS Xアプリ開発を教える場合もObjective-CとSwiftの両方を同時に教えるのが適切だろうか。

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