こんにちは、KiYOです。
システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。
新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。
KiYO
今回はSwiftについて紹介します。
iOS/macOS開発の本命 幅広く人気を集めるSwiftを解説します。
この記事でわかる事
- Swiftの特徴
- Swiftの歴史
- Swiftの利用シーン
今回はこの本を参考に、私の独断と偏見で記事を書いています。
リンク
言語を5点中評価
容易性 | 容易に言語習得できるか? | 4 |
将来性 | 将来性があるか? | 4 |
普及度 | 普及しているか? | 2.5 |
保守性 | 保守性が高いか? | 3 |
中毒性 | ハマるか? | 3.5 |
| | 17 |
目次
Swiftの特徴
SwiftはAppleによるiOS/macOS向けプログラミング言語です。
言語の特徴
- SwiftはAppleが2014年の開発者会議で発表したプログラム言語
- Objectiv-Cの次世代の言語として、iOS/macOS向けアプリ開発用に用いられる
- Swiftは「速い」を意味する語で、高速なアプリを素早く開発できることを強調
- Swiftのコンパイラは、LLVMのフロントエンドで、コードの最適化が行いやすい
- 「モダン、安全、高速、インタラクティブ」
- クロージャやタプル、ジェネリックプログラミングが可能
Swiftの歴史
開発者 | Apple |
誕生 | 2014年のWWDC(Appleの開発者会議)で発表 |
公式サイト(Wiki) | https://swift.org/ |
分類 | 静的型付け、オブジェクト指向 |
影響を受けた言語 | Rust Haskell Ruby Objective-C Python C C# |
影響を与えた言語 | |
言語の歴史
2010年 | Apple社内で開発開始 |
2014年 | WWDC(Appleの開発者会議)で一般発表 |
2015年 | オープンソース化 |
3月9月 | 大きめのアップデート時期 |
Swiftはオープンソース
- Swiftはオープンソース(Apache2.0ライセンス)のプロジェクト
- GitHubでソースコードを確認できる
Xcode
- XcodeはAppleが提供する、macOS向けのIDE
- macOS/iOS向けのアプリをSwiftやObjective-Cで開発するのに用いる
- Interface BuilderというUI調整ツールなどを内蔵
- 無料で利用可能
iOSアプリの開発はSwiftに移行しつつある
- Swiftの登場以前、iOSやmacOSアプリの開発はObjective-Cの一択であった
- Objective-Cはあまり書きやすい言語とは言えない
- Swiftは動作速度も早く、より書きやすい
- SwiftのコードはObjective-Cと共存させられるので、無理なく移行できる
コラム
SwiftはLLVMを基盤とすることにより、作成したアプリを高速に動作させられました。Swiftが直接独自のバイナリコードを生成するのではなく、LLVMのための中間コードを生成し、それをLLVMが最適化することで高い性能を発揮します。
AppleはLLVMに対し、多大な投資を行なっています。
LLVMを使う処理系言語(Rust,C /C++,Objective-C)
LLVM(エルエルヴィーエム、 またはエルエルブイエム)とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。
出典:Wikipedia
Swiftの利用シーン
Swiftは主にAppleのmacOS/iOS、関連するwatchOS/tvOSで動くアプリ開発で利用されます。
Apple製品アプリを作るのには、ほとんどのケースでSwiftかObjective-Cを使うことになります。Swiftのこれら以外の分野での適用は得意ではない。(サーバーサイドなど)
XcodeでSwiftの開発
- SwiftはmacOS上で開発
- macOS上で無料で提供されているXcodeを利用
- Xcodeで開発すると、コード補完などの便利な機能を利用できる
Swiftの変数
- Swiftの変数宣言は、型推論の機能があるので、型注釈は不要(動的言語のように見える)
- Swiftは厳格な言語。(異なる方の変数に代入するとエラーになる)
- Double型の変数に整数を代入する場合には、Double型に変換して代入する必要がある
Swiftが重視するポイント
- Swiftが言語として重視するポイントは安全・速度・デザインパターンの3つ
- Swiftは後発言語だけあり、Objective-Cなど今までのプログラミング言語よりよく研究されている
- デフォルトでメモリ安全(メモリ破壊を招かない)、型安全(型のエラーを招かない)の仕組みを言語に組み込んでいる
- ARC(Automatic Reference Counting)というメモリ管理の仕組みを持っている
- LLVM採用などで高い水準で速度を保っている
- なるべく書きやすい言語仕様となっている
SwiftはWindowsで使えない?
- SwiftはWindowsには対応していなかったが、Swift3.5以降Windows対応が始まった
- Windowsから使おうと思うとWSLなどのLinux環境を再現するツールが必要
iPadでSwiftが学べる
- Swift Playgroundsはアプリ内でSwiftを書いて実行できる
- 作成したプログラムを公開したり、共有することもできる
- Xcodeにも出力できる
まとめ:今からiOS/macOSアプリ開発はSwift
今回はSwiftについて解説しました。
2014年に公開された若い言語Swift。今までのプログラミング言語をよく研究し生まれた言語なので書きやすい仕様になっているようです。
今までの資産(Objective-C)と共存できるので移行もしやすそうですね。
Swiftの必要性
- macOS/iPhoneのアプリ開発で使用
- Swiftは動作速度も早く、より書きやすい
- LLVM採用などで高い水準で速度を保っている
やりたいことを実現するために、Swiftの使い方をマスタしましょう。
何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!
以上です。KiYOでした!
今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になりました。
リンク
Udemyというオンライン講座でもプログラミング学習はできます。 再生速度を早めてみたり、何度も見返すことができるのでおすすめです! 私も色々なプログラムをここで学習しています。
[affi id=2]
まとめページで、他のプログラミングも紹介していますので、ご覧ください。
あわせて読みたい プログラミング言語まとめ こんにちは、KiYOです。 システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。 新しい物好きで色々なIT技術を勉強しては、仕事に使…
コメント