日本では特にiPhoneの人気が高いです。世界的にはAndroidのシェアが大きいのですが、日本ではスマホ所有者の50%程度はiPhoneユーザーというデータもあります(※)。そして、スマホユーザーの多くは日常的にアプリを使用しています。
そんな需要のあるiPhoneアプリの開発に使用される言語がSwift(スウィフト)です。ここでは、Swiftがどのような言語であるのかを掘り下げ、また学習方法や仕事内容についても解説していきます。
(※)参考:Statcounter Global Stats「Mobile Vendor Market Share Japan」
<目次>
●Swiftってどんな言語?
●Swiftの特徴は?
・Swiftでできること、メリット
・Swiftで開発されたサービスの事例
・Swiftでできないこと、デメリット
●他言語との違いは?
・Objective-Cとの違い
・Kotlinとの違い
・相性の良い他言語
●Swiftを使ってどんな仕事ができる?
・職種の例
・仕事内容の例
●Swiftを学びたい! まずは何をすればいい?
・学習の大まかな流れ
・Swift学習におすすめの書籍、サイト
・ライブラリ/フレームワークとは
・ライブラリ/フレームワークの例
●Swiftで就職できる企業を探すには?
●この記事のまとめ
●先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
・ONE CAREER for Engineerではどんなことができる?
Swiftってどんな言語?
Swiftは2014年にリリースされた、Apple社が開発している新しいプログラミング言語です。Apple系のOSに特化したプログラミング言語で、iOSの普及に伴い急速に普及しました。
ただし、詳しくは後述しますが最近はSwiftの幅も広がっており、Apple系のOS以外の領域でも使われるようになっています。
Swiftの特徴は?
Swiftでできること、できないこと、開発事例などをご紹介していきます。
Swiftでできること、メリット
Swiftではどのようなことができるのか、どのようなメリットがあるのかをご紹介します。
iOSのアプリ開発ができる
SwiftはApple系のOSに特化したプログラミング言語です。特にiPhoneが普及していることから、iOSのアプリ開発に使われることが多いです。iOSのアプリは多岐にわたるので、Swiftの需要も大きい状況です。
プログラミング初心者にもおすすめ
一昔前は、プログラミング初心者がいきなりスマホアプリの開発を学ぶのは難しく、ウェブ系のスキルから身に付けるべきといった意見もありました。スマホアプリの開発に関して、まだ情報が少なく、環境も未成熟かつ限定的であったためです。
しかし現在はスマホアプリの開発に関する情報が増え、開発のハードルが下がっています。またSwiftは文法的にシンプルで扱いやすいので、プログラミング初心者が最初に学習するプログラミング言語としてもおすすめです。
プログラミング初心者だけどiPhoneのアプリ開発をやってみたい、といった方は書籍やサイトで学習してチャレンジできます。詳しくは後述します。
Swiftで開発されたサービスの事例
Swiftで開発されたサービスは数多いです。iTunesでダウンロードできるようなアプリはおおむねSwiftで開発されていると考えて間違いありません。Swiftが普及する以前は、iOSアプリはObjective-C(オブジェクティブ シー)で開発されるのが一般的でした。
そのため、古いアプリはObjective-Cで開発されている可能性もあります。古いアプリであっても継続的にリニューアルされている場合、どこかのタイミングでSwiftに書き換える作業が行われているかもしれません。
新しいiOSアプリや、今後開発されるiOSアプリはほぼSwiftで開発されると考えて間違いありません。ゲームアプリに関しては、Swiftで開発されている場合もあれば、Unity(ユニティ)で開発されている場合もあります。UnityはOSに関係なくゲーム開発全般で使われるツールです。
具体的にSwiftで開発されているアプリを確認する場合、iTunesを開いて、アプリランキングからゲーム以外のアプリを探すといいです。Swiftで開発されている可能性が高いでしょう。
Swiftでできないこと、デメリット
次に、Swiftにはできないことやデメリットをご紹介します。
AI(人工知能)開発やウェブ開発には適さない
SwiftはApple系のOSに特化したプログラミング言語です。そのため、AI開発やウェブ開発には適さない言語といえます。従来はこの考えで間違いなかったのですが、最近は少し事情が変わっています。
なぜなら、GoogleやFacebookのウェブアプリ開発でSwiftが使われた事例があるからです。今後ウェブ開発でもSwiftが使われる可能性が見えてきます。
Macのパソコンが必要になる
SwiftはXcode(エックスコード)という総合開発環境で開発するのが一般的なのですが、XcodeはMacのパソコンでしか使用できません。そのため、Macのパソコンが必要です。
しかし、こちらに関しても最近は少し事情が変わってきています。WindowsでもSwiftで開発できる環境構築が可能になっているからです。とはいえ、Macのパソコンで開発するのに比べると不都合が生じる可能性が高いので、Macのパソコンが推奨されることは変わりません。
他言語との違いは?
Swiftと比較されることの多いプログラミング言語を挙げ、Swiftと比較していきます。
Objective-Cとの違い
Objective-CはSwiftの前身となるプログラミング言語ということでした。では、なぜObjective-CからSwiftに変遷していく必要があったのでしょうか。それは、Swiftの方がコードがシンプルで書きやすいからです。コードがシンプルということは、バグも発生しにくくなります。
具体的には、ヘッダファイルのインポートが不要、main()関数がない、ステートメントの終わりにセミコロンがいらない、などが挙げられます。他にも省略できるコードが多数あります。
Swiftはシンプルイズベストな言語で、Objective-Cよりもプログラミング初心者に優しいイメージです。
Kotlinとの違い
SwiftがiOS開発に使われることが多いプログラミング言語であるのに対し、Kotlin(コトリン)はAndroid開発に使われることが多いプログラミング言語です。つまり、SwiftとKotlinはスマホアプリの開発における二大言語ということです。
iOSとAndroidで同じアプリを開発することは多いですが、SwiftとKotlinができれば、同じ人がそれぞれのOSでアプリ開発を担当できます。SwiftとKotlinはスキルセットとして有効です。
相性の良い他言語
上でObjective-C、Kotlinについてご説明しましたが、どちらもSwiftと相性の良い言語といえます。Kotlinについては、上で触れた通り、iOSとAndroidの両方に対応できるエンジニアは需要が高いからです。
Objective-Cについては、Swiftに移行しているのであれば今さら身に付ける必要はないのでは? と思われるかもしれません。事実、新規開発でObjective-Cが使われる可能性は低いのですが、既存のアプリをObjective-Cで開発したり、Objective-CからSwiftに書き換えたりするような案件があります。
優先度としてはSwiftの方が上ですが、Objective-CとSwiftの両方が扱えた方が対応できる案件の幅は広がります。
Swiftを使ってどんな仕事ができる?
次に、Swiftのスキルがあればどのような仕事ができるのかご紹介します。
職種の例
Swiftを扱う職種の例としては、iOSエンジニアが挙げられます。Swiftをメインに生かす職種としては、iOSエンジニア一択でしょう。プロジェクトマネージャー(PM)、ITコンサルタントなどは対応ジャンルが幅広いので、たとえばSwiftのスキルを生かし、iOSアプリ開発のPM、iOSアプリを提案するITコンサルタント、などの形が考えられます。
仕事内容の例
Swiftを使ってできる仕事は、Apple系OSの開発です。具体的には、iOSアプリ開発、MacOSアプリ開発が挙げられます。他には、上でも触れた通りウェブアプリ開発にSwiftが使われた事例があります。
Swiftを学びたい! まずは何をすればいい?
プログラミング初心者がSwiftのスキルを身に付けたい場合、どのような流れで学習を進めればいいのかご紹介します。
学習の大まかな流れ
学習の大まかな流れは以下です。
ステップ1. 書籍やサイトでの基礎学習 ステップ2. サンプルプログラムの開発 ステップ3. オリジナルアプリの開発
非常にざっくりとではありますが、上記のような流れです。まず、書籍やサイトでSwiftの基本的な内容をインプットします。インプットといってもサンプルコードなどが記載されているので、実際に手を動かしながら学習していきます。用意しなければならないものについても、書籍やサイトに記載されています。
サンプルプログラムはサイトや書籍に記載されているので、実際にコードを書いて動かしてみます。書いて動かしてみます。すべて自分でコードを書いてもいいですが、理解しながらであれば大部分をコピペしても問題ありません。コピペしたコードを理解し、一部を書き換えてみるような学習方法が有効です。
そして最後には自分でオリジナルのアプリを作ります。今後、就職や転職を考えている方は、オリジナルアプリがポートフォリオになります。
Swift学習におすすめの書籍、サイト
Swift学習におすすめの書籍、サイトは以下です。
書籍
・『Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語』(技術評論社、2020年)
・『絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS 13】 完全対応』(SBクリエイティブ
、2020年)
サイト
サイトは代表的なものを挙げています。Swiftは人気のあるサービスではほぼ網羅されているので、それらを利用すれば間違いないでしょう。一方で、書籍については人気が分散しています。
今回挙げている書籍は定番というわけではなく、現時点で人気があり、内容もしっかりしているものです。そのため、勉強したいタイミングで書籍を探してみることをおすすめします。
ライブラリ/フレームワークとは
ライブラリ、フレームワークはいずれもプログラミングを便利にするものです。ライブラリは機能のまとまりで、必要に応じてライブラリに用意されている機能を引用できるものです。ライブラリを呼び出すためのコードがあり、それを記述するだけで便利な機能群を使えます。
フレームワークはプログラミングを行う際の枠組みです。ライブラリ同様に機能を引用することもありますが、フレームワークの場合は枠組みに合わせてプログラミングをしていく必要があります。
ライブラリ/フレームワークの例
Swiftにはライブラリもフレームワークも多数用意されています。そこで、有名なものをいくつかピックアップします。
ライブラリ
・Alamofire ・RxSwift ・SVProgressHUD ・Parchment ・Reactive Extensions
フレームワーク
・perfect ・Swifton ・Slimane ・Kitura ・Express
ライブラリもフレームワークも上記以外にも多数あります。ライブラリもフレームワークもプログラミング学習が進んでから使うものなので、その段階になったときに改めて調べてみてください。
Swiftで就職できる企業を探すには?
Swiftで就職できる企業を探すには、「Swift 新卒」で検索し、ヒットした企業で求められているスキルを調べてみるといいです。Swiftのスキル単体でも仕事はありますが、関連スキルも把握することで、より市場価値のあるエンジニアを目指しやすくなります。
この記事のまとめ
SwiftはiOSを含むApple系のOSアプリ開発に使われるプログラミング言語です。iOSアプリは今後も需要が続くと考えられます。Swiftはプログラミング初心者にとっても学習しやすい言語です。
コードがシンプルで今後も伸びる可能性が高い言語なので、プログラミング初心者も、すでに他の言語スキルを持つ人もスキルを身に付けるメリットが大きいです。
先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
エンジニア就活をこれから始める、今まさに選考を受けている皆様へ、このような悩みはないでしょうか?
「総合職やビジネス職ばかりで、エンジニア職の体験談が見つからない」「内定を獲得した先輩が、どんな開発経験を積んでいたのか/どんな対策をしていたのか知りたい」
こういった悩みをお持ちの方に向けて、エンジニア職特化の就活サイト、「ONE CAREER for Engineer」をリリースいたしました!
▼ONE CAREER for Engineerエンジニアや技術職の就活・選考体験談を探す ※選考体験談の閲覧には、別途会員登録が必要です。
ONE CAREER for Engineerではどんなことができる?
1. エンジニア特化の選考体験談が見られる!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
エンジニア就活ならではといえる、「コーディングテスト」の体験談も多数公開しています!
2. 登録いただいたプロフィール情報をもとにポートフォリオを自動生成!
「ご自身の技術経験を企業へどう伝えよう……」とお悩みの方は、こちらの機能をご活用ください!
3. エンジニア職の選考体験談投稿で謝礼(Amazon ギフト券)をもらえる!
ご自身の選考の体験談をご登録いただくことで、謝礼(Amazonギフト券)をプレゼントしております!
エンジニア就活をこれから始める方、選考対策にお困りの方は、ぜひこの機会にご登録をお待ちしております!
(Photo:BAIVECTOR/Shutterstock.com)