Apple製OS用プログラミング言語比較【後編】
「Objective-C」「Swift」はどちらを選ぶべきか? 2大Apple言語の比較ポイント
Apple製OS用アプリケーションの開発で使われるプログラミング言語は、従来中心だった「Objective-C」と、近年台頭している「Swift」の主に2つだ。どちらを選べばよいのか。長所・短所、選定時のポイントをまとめた。
「macOS」「iOS」などApple製OS用アプリケーションを開発するためのプログラミング言語の主流は大きく2つある。1つ目は歴史のある「Objective-C」、2つ目は2014年に登場した新顔の「Swift」だ。
Objective-Cはなぜ使われ続け、なぜ嫌われるのか
一般にObjective-Cエンジニアは、以下の点でObjective-Cを好む。
- macOS用アプリケーション開発のためのフレームワーク(特定の設計思想に基づくプログラム部品やドキュメントの集合体)「Cocoa」を扱うことができる
- メソッド(データに対する処理)を呼び出す際に角かっこ(ブラケット)を用いる独自の構文(メッセージ式)を採用する
- コンパイル時ではなくアプリケーション実行時に変数のデータ型(値の種類)を決定する「動的型付け」の仕組みを持つ
Objective-Cは1980年代からの古い歴史があり、レガシーアプリケーションを更新する上で重要なプログラミング言語であることは間違いないだろう。実績の豊富さや信頼性の高さを重視するエンジニアが安心して使うことができる。一方で開発者向け質問投稿サイト「Stack Overflow」が2020年に実施した調査では、「嫌いなプログラミング言語」としてObjective-Cを挙げた回答者は76.6%に上った。
Swiftが好まれる理由と、注意が必要な理由
Swiftエンジニアは概して、Swiftプログラムのコンパイル速度の速さ、自動メモリ管理機能の「ARC」(Automatic Reference Counting:自動参照カウント)によるメモリ管理効率の高さ、簡潔な構文によるプログラムの可読性の高さを評価している。Appleは同社製OS開発の中核にSwiftを据える意向を明確にしており、Swift用API(アプリケーションプログラミングインタフェース)の作成と公開に力を入れている。
アップデートが頻繁なため、参照しなければならないドキュメントやチュートリアルが増えやすく、それらの情報がすぐ古くなることがSwiftの課題だ。サードパーティー製IDE(統合開発環境)での開発に限界があることや、モバイルOS「iOS」の旧バージョンで稼働するアプリケーションを扱えないことを指摘する開発者もいる。
SwiftはObjective-Cのさまざまな短所の解決と新しい開発標準の開拓を目指している。ただしObjective-Cを使用していた開発チームがSwiftに移行するのは簡単ではない。資金、開発時間、人的リソースへの多大な投資が必要となる場合もある。
Objective-CとSwiftのどちらを選べばよいのか
Apple製OS用アプリケーション開発者は、Objective-CとSwiftの両方に、ある程度習熟しておくことが安全だろう。特定のプロジェクトに適したプログラミング言語を選ぶ必要がある場合は、次の項目を参考にするとよい。
- 新しいアプリケーションを作成するのか、それとも既存アプリケーションの改修が中心なのか
- プロジェクトおよび開発で重要な機能やツールでそのプログラミング言語を扱えるかどうか
- チームに所属する開発者はどちらのプログラミング言語に習熟しているのか
- Swiftのような新しいプログラミング言語を学ぶ意欲がチームにあるかどうか
- Swift経験者を新しく採用する資金がチームにあるかどうか
- 新しいアプリケーションアーキテクチャや設計方法を追求したいかどうか
- 開発するアプリケーションはビジネスクリティカルかどうか
- その際、どのような要件を満たす必要があるのか
- 開発者はObjective-CプロジェクトとSwiftプロジェクトの両方に従事できるかどうか
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「データストレージの活用方法」に関するアンケート
-
4
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
5
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
6
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
7
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
8
「プログラマー不要論」にThe Linux Foundationが示した答え
-
9
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー