「Objective-C」よりも“超”簡単なプログラミング言語
iPhoneアプリ開発の初心者に最適、Appleの新言語「Swift」が魅力的な理由
米Appleの「Swift」は親しみやすく使いやすいプログラミング言語だ。アプリケーション開発に起こりつつある変革の象徴で、特にモバイル開発の分野でチャネルパートナーを触発している。
米Appleのモバイル開発を手掛けているチャネルパートナーは、Appleの「iOS」と「OS X」向けのAppleのプログラミング言語「Swift」の検証を始めている。
AppleがSwiftを発表したのは、2014年6月に開催された同社の年次カンファレンス「Worldwide Developers Conference」だ。これまでiOS、OS Xアプリの主要な開発言語は「Objective-C」だった。Swiftの登場はObjective-C依存からの脱却を意味する。Swiftは使いやすいスクリプティング言語に倣っている。そのため、ネイティブモバイルアプリ開発の門戸が広範囲の開発者に開かれることが期待される。
プログラミング初心者に使いやすい“Swift”
SwiftはObjective-Cよりも構文がシンプルである。これは新しい言語に多く見られる特性だ。また、簡単にコーディングできるようにする最新機能が搭載されており、「プログラミング初心者に使いやすい」とAppleはうたっている。プログラミング初心者には、Apple環境におけるアプリの開発ピッチを上げる役割を担うことが期待されている。
Appleは2014年9月上旬にiOS向けの「Swift 1.0」が「ゴールドマスター(GM)版」に達したことを発表した。つまり、Swiftを商用アプリ開発に使用できるというAppleのお墨付きが出たことになる。現在、開発者はAppleの「App Store」にSwiftアプリを提出できる。OS X向けSwiftのGM版は、「OS X Yosemite」と同じタイミングで提供されることが予定されていた。だが、いまだに提供されていない。OS X向けSwiftでは、Yosemiteソフトウェア開発キットが必要になる。
ソリューションプロバイダーがSwiftを使用する最初のステップは多岐にわたる。社内アプリを開発することもあれば、開発者にSwiftの試用を奨励することもある。現時点では、Swiftの最終的な影響は未知数だ。また、その重要性についてはさまざまな意見がある。だがSwiftは、アプリ開発の多岐にわたるトレンドを網羅しているように見える。
エンタープライズモビリティに特化した政府向けソリューションプロバイダー、米Agilexの最高技術責任者(CTO)、ティム・ヘキスト氏は次のように語る。「一般的に、アプリ開発の変革が見られるのは下位レベルのコーディングではない。アプリケーションアセンブリに高い比重を置いている高位レベルの言語だ。Swiftはユーザーインタフェースだけでなく実際のソフトウェアを記述するという方向への大きな一歩であるように思える」
また、米クラウドコンサルティング会社Appirioで最高コミュニティー責任者を務めるデイブ・メッシンガー氏は、次のように補足している。「SwiftはObjective-Cよりも使いやすく、学びやすく、プログラミングしやすいように設計されている。また、最新言語の機能とメリットを取り入れている。そのため、これらを『iPhone』『iPad』『Mac』の開発で使用することが可能になる。Swiftが広範囲の開発者に浸透すれば、素晴らしい機会が提供され、非常に面白いことになるはずだ」
Swift草創期の取り組み
Apple Consultants NetworkのメンバーであるAgilexは、現場検査、緊急状態応答管理、医療などの分野のモバイルソリューションを提供している。その中でSwiftが影響を及ぼし始めているのが医療分野だ。Agilexでアプリケーションアーキテクトを務めるビス・パトローラ氏によると、同社がSwiftを使用するのはAppleの「HealthKit API」で医療分野の政府関係機関用に試作品を開発するときだという。
HealthKitにより、Appleが2014年9月にリリースした「ヘルスケア」アプリとその他の健康アプリでデータを共有できるようになるとAppleはいう。また、さまざまな健康アプリ間でデータ共有を可能にする。Appleのヘルスケアアプリには、ユーザーの健康データとフィットネスデータを表示するダッシュボードがある。このアプリに関する情報は2014年6月に「iOS 8」と同時に公表された。iOS 8は2014年9月中旬に提供されたがHealthKitにはiOS 8上での実行を妨げるバグがあり、9月下旬に提供された「iOS 8.0.2」で不具合が修正された。
Swiftの別の採用例として、ヘキスト氏はAgilexが同言語を主要言語として開発した社内アプリを挙げている。このアプリはBluetooth Low Energy(BLE)を使った「iBeacon」搭載デバイスと通信する。開発者の感想によると、Swiftは安定していて動作も速い。そのため、開発者は少ないキーストロークでより多くの作業を行えるという。
「このように生産性が向上し実用的な結果を得られるようになれば、ネイティブアプリの開発が大きく促進されるだろう」(ヘキスト氏)
Swiftを採用しているチャネルパートナーは他にも存在する。米Appirioは、同社の「Topcoder」の開発者コミュニティーとSwiftを結び付けるために取り組んでいる。TopcoderはAppirioのクラウドソーシング開発プラットフォームだ。世界中の設計者、開発者、データサイエンスの専門家のプールとビジネスのマッチングを行っている。Appirioは、別のモバイル開発環境を使用している開発者をSwiftに移行すべく努めている。これは、「Swiftに移行するとコミュニティーのスピードや機敏さが大きく変わる」という信念に基づいた対応だ。
「実用的なアプリを開発したり、各自の能力を高めたりできる最高の機会をコミュニティーに提供したい」とメッシンガー氏は話す。
Appirioは2014年8月に「GetSwifter」を発表した。これは50万ドルを超える賞金が用意されたTopcoderメンバー向けのコンテストだ。メッシンガー氏は、AppleがSwiftを企業に強くプッシュしていると見ている。このコンテストによって、開発者のモチベーションが高まる。また、アプリ開発の人材創出にもつながるため、Appleエコシステムのアプリに投資している企業にもメリットがある。
「このコンテストはコミュニティーに報酬を提供する方法として優れているだけでなく、今後、企業が利用できるSwiftのスキルを高めてくれる」(メッシンガー氏)
入門レベルの「Learn Swift」コンテストでは、開発者はランダムに課題を完了し、提出して評価を受ける。
「これは“まずは使ってみる”ことを奨励するコンテストで、参加者はいくらかの経験と評価を得ることができる」(メッシンガー氏)
その1つ上の「Fun Challenges」カテゴリでは、開発者は小型のアプリを開発し、優秀なアプリには賞金または賞品が贈られる。
「Real World Challenges」カテゴリでも開発者がアプリを開発するのは同様だ。だが、それを評価して勝者を決定するのは顧客企業だ。例えばある課題では、「モノのインターネット」(Internet of Things)に特化したSaaS(Software as a Service)企業の米Brivo Labsが使用するイベント会場のチェックインアプリの開発を競う。優勝者には1000ドル、準優勝者には250ドルが贈られる。
Swiftコンテストのスポンサーには、Brivo Labs、米BMC Software、米Booz Allen Hamilton、米Harman International、米HP、米NTT Innovation Instituteが名を連ねている。Appirioによると、TopcoderクラウドソーシングコミュニティーでSwiftの使用経験がある開発者数は、GetSwifterコンテストを立ち上げてから3500人を超えたという。
Swiftの影響
SwiftはObjective-Cと比べて「ずっと親しみやすい言語」だと述べているメッシンガー氏によると、Topcoderの開発者は今Swiftを習得しているところだという。Appirioが社内の開発者が使用している言語を追跡したところ、Objective-CやC++のバックグラウンドを持たない開発者がSwiftを採用していることが判明した。
だが業界の重鎮によると、SwiftとObjective-Cが連携することで魅力的な特徴が生まれるという。Objective-Cを使い慣れている開発者は、同じプログラムにSwiftコードを追加できる。メッシンガー氏によると、開発者はSwiftからC++を呼び出すことはできないが、Objective-CでC++のクラスをラップしてSwiftから呼び出すことは可能だという。
「SwiftとObjective-Cが同時に動作するようにしたことも、Appleの重要な判断の1つだ。これによってAppleプラットフォームの採用が促進されるだろう」とヘキスト氏は話す。
また、ヘキスト氏はSwiftのリアルタイム機能もメリットとして挙げている。従来、開発者はプログラムを記述してコンパイルした後に、プログラムが機能するかどうかテストしていた。だがSwiftは開発者がコードを記述しながらコードの結果を確認できる。
「この機能は、アルゴリズムを設計する開発者に重宝されるだろう。実際のアプリに展開する前に、コードの正確さと効率について、その場でフィードバックが得られる」(ヘキスト氏)
Swiftのリアルタイム機能の一例は「playgrounds」だ。playgroundsを使用すると、開発者は、プロジェクトに移植する前にコードを試すことができる。
「Swiftのplaygroundsに備わっているリアルタイムな性質は、他のプログラミング言語には、ほぼ見られないものだ」(ヘキスト氏)
ヘキスト氏は、「Groovy Console」などの既存のリアルタイムシミュレーターについて言及している。このようなシミュレーターではコードを実行する前にコンパイルの手順が必要になると述べている。Groovyは、Javaをベースに構築した動的言語だ。
開発者はSwiftの拡張性とパフォーマンスについて様子を見ることになるだろうとヘキスト氏は述べている。だが、今のところSwiftは非常に好調だという。
「Swiftがどの程度広く採用されるのか見届ける必要があるだろう」(ヘキスト氏)
一方、米Telerikで製品マーケティングマネジャーを務めるゲイブ・サムナー氏は、開発者が広範囲のモバイルユーザーに向けてアプリを開発することに関心を示していると指摘する。デバイス固有の言語では、広範囲のモバイルユーザー向けアプリを開発することは不可能だ。マサチューセッツ州ウォルサムに拠点を置くTelerikは、iOS、Android、Windows Phone用のクロスプラットフォーム向けモバイル開発環境を提供している。このツールを使用すると、開発者はJavaScriptとHTML5を使用してアプリを開発できる。
「私たちはJavaScriptとHTML5に大きく依存している。これらの言語にSwiftが大きな影響を与えたとは全く考えていない」
複数のプラットフォームに対応したハイブリッドアプリは、大部分のユースケースには十分だとサムナー氏は考えている。そして、Swiftはテレビゲームなどのアプリ分野では大成功を収める可能性があると予測している。
「ゲームアプリのパフォーマンス要件を考えると、ネイティブコードの記述に適したもっと魅力的な事例が生まれるだろう」(サムナー氏)
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー