IT・エンジニア派遣に特化したModisでは、スキルを活かせる求人・未経験からOKの求人を多数ご紹介しています。
Swift(スイフト)は、iOSアプリを開発するためにAppleが開発した言語です。2014年に公開され、2017年頃にはiOSアプリ開発で確固たる地位を築きました。そして現在はバージョンアップの結果、iOSアプリだけでなく広い開発用途で使用できるようになりました。*
ここでは成長が著しいSwiftについて、特徴や開発環境の構築についてなどを解説していきます。
AppleOS上で動作するアプリの開発には、従来は「Objective-C(オブジェクティブシー)」や「Objective-C++(オブジェクティブシープラスプラス)」、C言語が使用されていました。それらの言語と共存しつつ、よりインタラクティブにアプリを開発することを目的にAppleが開発した言語がSwiftです。
コンパイル型の言語で、XcodeのPlaygrounds上やターミナルでインタラクティブにデバッグが可能といった特徴があります。この言語で開発可能なものは多く、主にiOSアプリやMacアプリですがwatchOS、tvOSのほかに、WindowsアプリやWebアプリも開発できます。
従来使用されていたObjective-Cは、その名の通りオブジェクト指向が付与されたC言語です。そのためプログラミング初心者にとっては習得が難しいと言われており、結果的にmacOS用アプリの普及などを妨げる一面がありましたが、Swiftではコードも精錬されて可読性が高くなり、書きやすくなっています。
新しい言語ということもあり頻繁にアップデートが行われ落ち着かない時期もありましたが、現在は頻度も減って安定感が増しました。
SwiftはObjective-Cと比較すると、いくつかの突出した特徴があります。
比較項目 | Swift | Objective-C |
---|---|---|
速度 | 早い ※Objective-Cの2.6倍 |
遅い |
互換性 | Objective-Cとの互換性あり | Objective-Cのみ |
インタラクティブモード | デフォルトであり | デフォルトではなし |
Objective-Cで製作されたアプリに比べて、Swiftは高速で軽快に動作します。これは最初から意図して高速化を図った設計をしているため、処理が早く実行速度が向上しているためです。
文法もRubyやPythonのようなオブジェクト指向スクリプト言語に近く、ファイル構造を整理して表記もスマートで簡潔になりました。
結果として、今まで複数のファイルを読み込んでいたObjective-Cに比べて動作性が向上しています。
既存のObjective-Cと共存し、互換性があるように設計されています。そのため、Swiftがまだ強いとは言えない部分はObjective-Cで、それ以外はSwiftで開発することもできます。また、Objective-Cで記述されている既存のアプリとの連携も可能です。
PlaygroundやREPL(リプル:Read-Eval-Print-Loopの略)などの対話型実行環境が使え、インタラクティブな開発が行えます。プログラムを書き終えた後コンパイルして結果を確認するのではなく、画面で1行ずつ実行しながら確認することが可能なため非常に分かりやすく、Swiftの大きな特徴の一つになっています。
SwiftはmacOSまたはLinuxで開発環境を構築します。
macOS上で使用することが多いと想定し、今回はmacOSでの開発環境の構築を解説します。
必要になるものは次の通りです。
Apple ID
Appleのサービスを利用するためには必ず要求されるため、事前に用意しておきましょう。
Xcode
Appleが開発した、iOSやmacOS向けのアプリ開発用ソフトウェアです。デスクトップアプリやスマートフォンアプリを制作する際には必須になり、ファイル管理、コンパイル、ビルド、デバッグ、実機検証まで、アプリ開発の工程を一貫してサポートします。
統合開発環境(IDE)としてはとても優秀で、XcodeをインストールすることでSwiftの開発環境は自動的に整います。
Developer ID
開発したアプリをApp Store内で配布するために必須になります。
ここからはSwiftの基本的な文法で書かれたサンプルコードを使って解説していきます。
Playgroundは書いたコードがそのまま実行されます。初めてプログラミングに触れてコードを書き始めた初心者でも、すぐに結果が分かるため「Playground(遊び場)」と名付けられています。
Swift Playgroundsを使って、サンプルコードを実行してみましょう。
アプリをインストールし、下記のコードを実行します。
まずはプログラミング言語の最初に触れる定番のHello World!です。
このソースコードの処理は、背景(view.backgroundColor)が白の画面を作成し、「Hello World!」というテキストを設定(label.text)、文字色(label.textColor)を青にし、位置(label.textAlignment)を中央揃えにして表示するというものになります。
次に、サンプルコード①にクリックイベントとボタンを追加します。
button.addTargetでボタンをクリックした時のアクションを指定します。今回はonClick メソッドを呼び出すよう設定しました。
さらにアラート画面にボタンを追加し、ボタンをクリックすると加えてメッセージが表示されるようになっています。CSSに似ているという人もいる通り、スクリプト言語に近い記述形式を持っているのが特徴です。
このソースコードで追加した処理は次の通りです。
まず、ボタン(UIButton)を追加し、ボタンの文字(button.setTitle)、ボタンを押した時の挙動(button.addTarget)およびボタンの色(button.backgroundColor)を設定しています。
次に、ボタンを押すとアラートを表示する関数(func onClick)を作ります。
関数の中では、表示されるアラートを作成(UIAlertController)し、アラート画面を閉じるためのボタン(UIAlertAction)を設定しています。
以上、簡単なSwiftの記述をご紹介しました。Swiftはコードの可読性が高いため、プログラミング経験のない人でも何が書いてあるのかなんとなく感覚で分かるという、習得時のハードルの低さがあります。この可読性の高さとコードのシンプルさこそ、SwiftがObjective-Cよりも習得が容易でパワフルと言われる最大の特徴でもあります。
SwiftはiPad用アプリでも学習できるため、個人的な趣味としてプログラミングを習得している人も少なくありません。趣味で作成したアプリをAppStoreで公開して収益を得ているユーザーもおり、実務経験はないがSwiftを使ってアプリ開発ができるという人が存在しています。
しかし、実際にSwiftの技術と知識を活かして就職しようとすると、実務経験がネックになることもあります。そこでおすすめなのが、IT・エンジニアに特化したModisの派遣です。Modisでは実務経験がないだけで知識はある人にも派遣として紹介可能なお仕事が多数あります。
Swiftは登場してまだ日の浅い言語であり、市場の需要に対し、エンジニアの供給が追いついていません。今後、AppleはiOSアプリの開発はSwiftにシフトしていくと考えられており、定番の言語となっていくことは間違いないでしょう。
iOSアプリ以外にもAppleウォッチやAppleTV用のアプリ、Windowsアプリと幅広く開発ができ、MacとXcodeがあればすぐ試せるという強みがあります。
また、MacのパソコンはないけれどiPadなら持っているという人でもプログラミングを学べる敷居の低さに加え、日本語で得ることができる情報も多いので、是非、試してみてはいかがでしょうか。
Swiftに限らず幅広くエンジニアの経験を積みたい人におすすめなのがIT・エンジニアに特化したModisです。Modisでは、「資格取得応援制度」をご用意。IT・エンジニア系の対象資格を取得された方にお祝い金を支給しています。さらに、未経験の方でもIT・エンジニア職種にキャリアチェンジしたい人を就業までサポートするプログラミングスクール「Modis Engineer Academy」を、無料で提供。
Modisは、Swiftのみならず様々なスキルを学びスキルアップする皆様を応援します。
(2019年8月現在)
IT・エンジニア派遣に特化したModisでは、スキルを活かせる求人・未経験からOKの求人を多数ご紹介しています。