FloraIT情報とか雑多な情報とか。この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。iOS/macOSのアプリ開発でどの言語を使えばいいのか悩んでいるのであれば、SwiftもObjective-Cも両方とも覚えておいたほうが良いだろう。いうのも、現時点ではSwiftもObjective-Cもどちらも万能と言えるものではなく、なおかつ他分野の開発にも関わる場合、両方の考え方は覚えておいたほうが良いからである。それぞれの言語の特徴についてSwiftはiOS/macOSを最大限に活かせるSwiftはiOS/macOS向けに作られて、現在ではオープンソース化がなされている新しい言語で、比較的簡単な記述でネイティブアプリを開発できるという利点がある。Objective-Cと比較して、言語仕様の面でスッキリしている部分があり、パフォーマンスを上げやすいという利点も大きい。Objective-Cと比較して記法がそれほど特殊ではなく、JavaやC++などの他のオブジェクト指向言語に比較的近い書き方もできる。Objective-Cと比較して言語仕様が頻繁に変更されるという問題点もあり、Xcodeのバージョンアップに従ってマイグレーションが必要になるという課題点がある。3では使うことはできず、ソースコードの混在も不可能で全体でバージョンを統一させなければならないという問題が大きい。従って、アプリを開発するのであれば問題ないが、フレームワーク・ライブラリーの開発には分が悪いという問題がある。Objective-Cは互換性重視Objective-Cは元々はC言語にSmalltalkのオブジェクト指向システムを追加するという形で拡張された言語で、元々はmacOSの前身であるNEXTSTEPで使われていた。Countingを使用することで明示的に参照カウントをする必要がほとんどなくなったこと、C言語とC++を混在させることで連携させることも可能であり、C言語やC++の機能を最大限に利用することができるという利点がある。Swiftで問題となるバージョン間問題も基本的には起こらないため、ライブラリーの開発には適していると言える。現在ではSwiftとの親和性が上がるように力が入れられているが、言語仕様面で比較的古く、Swiftと比較してパフォーマンスはそれほど良くないため、パフォーマンスを重視したい場合は、むしろSwiftを使ったほうが良いだろう。メモリーがらみの問題を引き起こすというC言語由来の問題をそのまま引き継いでいるため、その点も気をつけたいところである。現時点ではそれなりに住み分けがなされている現時点ではライブラリーにはObjective-C、アプリやフレームワークはObjective-CまたはSwiftというような使い分けがなされているようである。それぞれの利点、南天を考えた時、これが最も現実的のように考えられる。個人的にはSwiftは使われるようになるのはほぼ確実視しているが、しばらくの間は双方とも使われ続けるように考えられる。最後に現状ではSwift、Objective-Cにはそれぞれ利点・難点があり、それを踏まえた上で住み分けがなされているということを説明した。それを踏まえると、もしiOS/macOSアプリやライブラリーなどを開発したいのであれば、基本的には両方とも学習したほうが良いだろう。Tomomiウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。Tomomi関連記事メールのエンコードはどうすべきかおよそ10年くらい前までは、日本語のメールを送信するときは、エンコードはISO-2022-JP(JISコード)で送るべきという不文律があり、...記事を読む最近のPCは普通に使う分にはオーバースペック気味?近年では新型PCを中心に64bit対応はほぼ完了、家電量販店やPCショップなどで売られているPCにインストールされているWindowsも64...記事を読む画像からテキストを書き起こす?最近、画像からテキストを書き起こす技術の進歩が進んでいて、普段使っているサービスでもその恩恵を得る機会があるかもしれない。