19
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Swift】Swiftって何?

Last updated at Posted at 2018-03-01

はじめに(自己紹介的な)

  • 2018年はSwiftの勉強を中心にやっていくことに決めてみた
  • Swiftに触るのは久しぶり(以前触ったのはたしかVer2になったばかりの頃だった)
  • 正直久々すぎてSwiftの文法とか全然覚えてない
  • Xcodeも触るのが久々すぎて全然覚えてない
  • 自分が欲しいアプリをどんどん作って、自分のiPhoneにどんどん入れていくのが目標
  • 備忘録としてQiitaを活用
  • Qiitaに投稿するのは2年ぶり。Markdownの書き方すら忘れている

Swiftとは

  • Apple社が2014年に発表したiOSおよびmacOS、Linuxで利用できるプログラミング言語
  • 2015年にOSS化
  • 現時点での最新Versionは4(正式リリース:2017年09月19日)
  • コンパイラ言語(静的型付き言語とも言う)
  • フロントエンド、バックエンドともに利用できる
  • 技術情報とコミュニケーションを目的としたカンファレンス「try! Swift」が毎年東京で開催されている

公式サイト

開発者向け公式サイト

公式ドキュメント

英語版

日本語版

Swiftの特徴

Swiftの主な特徴として以下4つが挙げられている。

モダン

プログラミング言語のモダンとは、コードが「読みやすくて書きやすい」ということ。
その実現のためにSwiftは、近年のプログラム言語を研究し、クロージャ、タプル、ジェネリクス、型推論といった機能を取り入れている。

安全

言語仕様レベルでバグが発生しにくい仕様となっている。

  • 静的型チェック
  • nil安全
  • 暗黙的型変換なし
  • ARCのよるメモリ自動管理
  • 配列、数値型のオーバーフロー検査

高速

高速化を目的として開発された言語であり、Appleの発表では一般的な検索アルゴリズムにおいてObjective-Cの最大2.6倍、Pythonの最大8.4倍の速度となっている。

インタラクティブ

コンパイラ言語でありながら、対話実行環境(REPL)も用意されており、XcodeのPlaygroundsやターミナルで簡単にデバッグする事ができる。

Webフレームワーク

OSS化に伴い、多数のWeb開発用のフレームワークが誕生。
以下に主なWebフレームワークを挙げる。(随時追加予定)

フレームワーク名 動作環境 特徴
Perfect MacOS/Linux このフレームワークのみで、フロントエンドとバックエンドの両方の開発が可能。また、自身で用意したサーバー環境で使用することができ、自由度が高い
Kitura Bluemix "キトゥーラ"と読む。IBM社が発表したフレームワークで、クラウド環境上で動作するWebアプリケーションやWebサーバーを開発することができる
Vapor MacOS/Ubuntu "ベイパー"と読む。PHPのフレームワーク「Laravel」に影響を受けたフレームワーク。WEBサイト、REST API、クラウドサービスを作るための便利な機能が提供されている
Express MacOS/Linux 純粋なSwiftの速度処理の限界を追及した、軽量かつ最速のフレームワーク。MVCモデルを採用しており、拡張性が高い。
HTTPSwiftServer MacOS Cocoaフレームワークを拡張するためのフレームワーク。HTTPをiOSアプリと連携出来るように改良されている。シンプルな機能しか提供されてないが、元々Macに組み込まれているCocoaを拡張しているため統合性が高い

その他メモ

  • Objective-Cとシームレスに連携可能
19
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?