今更聞けないSwiftの基礎知識!Swiftとは?

SwiftはApple社が開発したプログラミング言語で、iPhone用のアプリを開発することができます。以前はobjective-cという言語で開発していたのですが、それに比べるとかなり簡単に扱えるようになりました。今回はSwiftの特徴や、オープンスタックのSwiftについてご紹介します。

Swiftとは?何ができる?

Swiftの歴史

Swiftは比較的新しい言語で、2014年に発表されました。それまでApple社製のOSであるOSXや、iOS上で動作するアプリケーションの開発には、objective-cが長らく使われてきましたが、objective-cは独特の記法が仇となり、開発者に受けが良くありませんでした。

そこでobjective-cの反省を元に、まったく新しい言語「Swift」が作られました。2014年の発表以来バージョンアップを続け、2017年にはSwift3.1がリリースされました。

何ができる?

SwiftはApple社製品上で動作するアプリケーションの開発専用の言語です。iPhone、iPad、Mac上で動作するアプリケーションを作成することができます。それまでの開発言語objective-cに比べると言語仕様もわかりやすく、実行速度も速いので、Apple製品のアプリ開発はSwiftが主流になっています。

Swiftの特徴

Swiftのメリット

Swiftは他のメジャーな言語、JavaやRuby、Pythonなどの良いとこ取りの言語仕様になっているので、使いやすいというメリットがあります。最近の言語が採用しているクロージャやタプル、ジェネリック、Optional型などをすべて採用しており、オブジェクト指向言語となっています。

静的な型チェックや変数の初期化の強制など、安全に記述できるよう考えられているというメリットもあります。またコンパイル型の言語ですので、スクリプト言語に比べると実行速度が速いという特徴もあります。objective-c(同じくコンパイル型)と比べても速いくらいです。

Swiftのデメリット

Apple社製品用のプログラムを書くのについてはデメリットらしいものはほとんどありませんが、逆に言えばApple社製品用のプログラムしか書けないことがデメリットです。Javaなどのようにマルチプラットフォームではありません。最近はWindows専用だったC#もiOS上で動くようになってきているので、Swiftだけしか知らないプログラマになると、汎用性が低くなってしまいます。

Swiftを学ぶ方法

プログラミング教室で学ぶ

様々な学習ニーズにこたえたプログラミング教室があります。昼間は会社に通いながら夜間で学習できるものや、完全個別指導で短期間に学習できるものなど、自分の生活スタイルに合わせて通うことができます。こちらは有料である点や、交通費がかかるというデメリットがあります。しかし、わからないところをすぐに質問できたり、同じ分野を学習している仲間ができやすい点がメリットです。無料相談や体験学習を開いている教室もあるので、気になる方はまず出向いてみて、通い方や料金を相談してみましょう。

オンライン教材で学ぶ

有料のものから無料のものまで、Swiftの教材にはオンラインで学習できる教材がたくさんあります。経験豊富なプログラマーが提供している動画やブログで学習してみましょう。費用を安く抑えられることが多いのがメリットです。デメリットとしては、教室などと違ってわからないことをすぐに質問することができません。

本で学ぶ

本屋やネットショップで手軽に手に入る本を使って学習する方法があります。Swiftの言語仕様について書かれた辞書的な本や、iPhoneアプリ開発に特化した本など、目的に合わせて揃えていきましょう。本のデメリットとして、アニメーションの確認ができないという点があります。こちらはオンライン教材などで補って学習していきましょう。

勉強会で学ぶ

プログラミング学習の特徴として、勉強会の数が多いことが挙げられます。企業や学校が主催しているものから、個人のプログラマーが主催しているものまで様々です。座学でしっかり教えてもらえるものもあれば、通称「もくもく会」という、各々が集中して開発に取り組む会もあります。自分のレベルや目的に合わせて勉強会を選びましょう。オンライン教材や本で独学をしている方は、定期的に勉強会に参加して、一人ではわからなかったところを解消するのも手です。

open stackプロジェクトのSwiftとは別物


open stackプロジェクトは、2010年にRackspace HostingとNASAによって始められたIaaSクラウドコンピューティングプロジェクトです。IBM、インテル、NEC、など、超有名どころの大企業をはじめ200社以上が参加している大プロジェクトでもあります。

ストレージサービスの構築機能

open stackプロジェクトはクラウド基盤ソフトウェアを開発するプロジェクトで、AWSやMicrosoft Azureなどのクラウドサービスと似ています。ですが、open stackはクラウドサービスそのものではなく、クラウドサービス基盤ソフトウェアの開発プロジェクトです。
簡単に言いますとAWSやAzureのようなサービスを開発するのを目的としたプロジェクトです。この中にSwiftというコンポーネントがあります。

Swiftは、open stackプロジェクトで開発されたコンポーネントで、複数ホストのストレージを統合して、大容量ストレージとして提供する機能です。ストレージサービスとは、クラウド上にデータを保管するサービスです。

拡張性と対障害性に配慮した実装となっていて、Swift上に格納するオブジェクト(データ)はすべて異なる複数ホストに配置される仕組みになっています。ストレージサービスは、AWSのSimple Strage Serviceあたりが有名ですが、Swiftの仕組みを使うと、自前でこうしたストレージサービスを構築できます。前述のApple社製のプログラミング言語Swiftと同じ名前ですが別物です。混同しないように注意しましょう。

まとめ

今回はSwiftについてご紹介しました。Apple社製品上で動作するアプリケーションを記述するためのプログラミング言語「Swift」と、自前でストレージサービスを構築できる公開コンポーネント「Swift」の2種類があります。混同されることがありますが、別物になりますので注意しましょう。

関連記事

ページ上部へ戻る