昨年NTTドコモが行った調査によると、日本のスマートフォンのシェア率はiPhoneが約54%、Androidが約46%となっており、日本は世界的に見てもiPhone所有者の割合が高い国と言われています。本日はiPhoneを含むApple製品向けのアプリ開発のためにAppleが開発したプログラミング言語「Swift」について取り上げてご紹介します。SwiftとはSwiftとはAppleが2014年に発表し、2015年にオープンソース化されたプログラミング言語です。Apple社製のOS上で動作することを想定して開発されたSwiftは、従来から用いられてきたObjective-Cにもシームレスに組込みできるようになっている点が特徴です。その特徴を受け継ぎつつ、安全性を担保しながらバグの捕捉が行えるように設計されています。マルチパラダイムコンパイラ型という部類に分類され、ターミナルを使ったデバッグにも対応しています。Swiftは、始まりこそ「Apple製品で動作するアプリを1から作れる言語」でしたが、現在ではLinuxやWindowsで動作するWebアプリ開発も可能になりました。このクロスプラットフォーム化により、Apple社製のOSにとらわれずに、複数のOSに対応するアプリ開発が可能になりました。Pythonを含む様々な言語の影響を受けており、RustやHaskell、RubyやCSharp、CLUなどの影響も見られます。SwiftでできることSwiftはApple開発のプログラミング言語のため、iPhoneやiPad、AppleWatch向けのアプリを作りたい開発者に適しています。watchまでカバーしています。Swiftは既にApple製品を中心に広く活用されており、ゲームやSNS、業務効率化やエンターテイメント分野のアプリ開発事例が続々と増えています。Macアプリではビジネス向けが多い傾向で、AppleWatchにも便利なアプリが増えつつあります。前述した通り、LinuxやWindowsにも対応しているためWebアプリの開発にも対応しています。Webアプリの事例はこれから増えていくと見られていますが、AppleTVはゲームやエンターテイメントに加えて、教育や健康とフィットネス方面で伸びる兆候が見られます。OSも視野に入れていると言われており、Swiftは今後クロスプラットフォームの覇権を握る有力候補になりそうです。SwiftのメリットSwiftのメリットとしてはモダンで可読性が高く、綺麗にコードを書ける点です。学習コストが安く済んだり、従来と比べてコードの量が減るのもメリットと言えます。安全性にも配慮されており、静的な型チェックや変数の初期化の強制を含む厳格なメモリ管理機構を備えています。if文の省略を許さない、という点で明示的な表記が求められる厳しさはありますが、その分バグが生まれにくいのも確かです。エンジニアによれば、SwiftはC言語における荷物のないObjective-Cと言われています。これはC言語の延長線上にある自由度や互換性と共に、他の環境から移行しやすいことを意味します。C言語は高機能ながらも設計が古く、バグが生まれてしまう土壌があります。その問題をモダンに克服したのがSwiftで、現代的なC言語ともいえるでしょう。SwiftのデメリットSwiftのデメリットとしてはコンパイルが遅い点です。これはバグを発生させない厳格な設計のプログラミング言語とも言いうことができ、メリットと表裏一体のため、必ずしもデメリットだけとはいえません。従来は開発環境がMacにしかなく、他のプラットフォームで開発できないデメリットがありましたが、現在は解消しています。ライブラリが巨大なため、iPhoneやAppleWatchなどでは負担がやや気になりますが、これはビルドのみに限定される問題です。このように、Swiftは開発にあたってのデメリットはありつつも、アプリを使用するユーザーにとってはそこまで大きなデメリットはないと言えます。Objective-Cとの違いSwiftとObjective-Cは、動作速度に大きな差があります。SwiftがObjective-Cよりも3倍近く、Pythonと比べると最大で8倍以上高速に動作します。先発のObjective-Cは実績数では優りますが、後発のSwiftはPythonに近いコードの書きやすさと、C言語に負けず劣らずの高速性を併せ持っている点が上回っています。歴史が長い分、情報量はObjective-Cの方が多いと言われていますが、フレームワークの数はSwiftの方が優っており、今後普及が進んでいく言語と言われています。Swiftの種類SwiftにはSlimaneやSwifton、perfectなどフレームワークが豊富にあり、自分に合うものを選択して使えるのが魅力です。Slimaneは非同期通信が取り扱いやすく、SwiftonはRubyonRailsライクにコードが書けたりデータベースの扱いに長けています。perfectはフロントエンドとバックエンド開発の両対応で、自前のサーバーが使えるのが強みです。加えてIBMが開発したクラウド環境対応のKitura、高速なMVC開発が行えるExpress、JavaScriptライブラリのReactが使えるReactNativeもあります。開発環境が整い、利用する開発者も増えているSwift。今後の普及拡大や動向から目が離せません。保守運用までワンストップで提供しております。今回ご紹介したSwiftを用いての開発も可能です!新規でのアプリ開発はもちろん、すでに開発されたアプリの機能追加などの改修も是非ご相談いただければと思います。ノウハウ資料ダウンロードアプラボニュースアプリ開発ラボマガジン、略して「アプラボ」!毎週木曜日にメルマガを配信中。お問い合わせ公式Twitter公式Facebookメールマガジン。