Modern
Swiftは、プログラミング言語に関する最新の調査と、Appleプラットフォームの構築における数十年の経験を組み合わせたものです。名前付きパラメーターは、SwiftのAPIをさらに読みやすく、保守しやすくするクリーンな構文で表現されます。さらに良いことに、セミコロンを入力する必要もありません。推論された型はコードをよりクリーンにし、間違いを起こしにくくしますが、モジュールはヘッダーを排除し、名前空間を提供します。国際言語と絵文字を最適にサポートするために、文字列はUnicodeに正しく、UTF-8ベースのエンコーディングを使用して、さまざまなユースケースのパフォーマンスを最適化します。メモリは、厳密で決定論的な参照カウントを使用して自動的に管理され、ガベージコレクションのオーバーヘッドなしにメモリ使用量を最小限に抑えます。
最新のわかりやすい新しい型を宣言します構文。インスタンスプロパティのデフォルト値を提供し、カスタム初期化子を定義します。
拡張機能を使用して既存の型に機能を追加し、カスタム文字列補間を使用して定型文を削減します。
カスタム型をすばやく拡張して取得します。自動JSONエンコードやデコードなどの強力な言語機能の利点。
合理化されたクロージャを使用して強力なカスタム変換を実行します。
これらの先進的な概念により、楽しく簡単な言語が実現します。
Swiftには、コードをより表現力豊かにする他の多くの機能があります。
- 強力で使いやすいジェネリックス
- プロトコル拡張機能ジェネリックコードの記述をさらに簡単にします
- ファーストクラスの関数と軽量のクロージャ構文
- 範囲またはコレクションに対する高速で簡潔な反復
- タプルと複数の戻り値
- メソッド、拡張機能、プロトコルをサポートする構造体
- 列挙型はペイロードを持ち、パターンマッチングをサポートできます
- マップやフィルターなどの関数型プログラミングパターン
- try / catch / throwを使用したネイティブエラー処理
安全のために設計
Swiftは、安全でないコードのクラス全体を排除します。変数は常に使用前に初期化され、配列と整数はオーバーフローがないかチェックされ、メモリは自動的に管理され、メモリへの排他的アクセスの強制は多くのプログラミングミスから保護します。構文は、意図を簡単に定義できるように調整されています。たとえば、単純な3文字のキーワードは、変数(var)または定数(let)を定義します。また、Swiftは、特に配列や辞書などの一般的に使用される型に対して、値型を多用します。つまり、そのタイプで何かのコピーを作成しても、他の場所では変更されないことがわかります。
もう1つの安全機能は、デフォルトではSwiftオブジェクトをnilにすることはできないということです。実際、Swiftコンパイラーは、コンパイル時エラーでnilオブジェクトを作成または使用しようとするのを防ぎます。これにより、コードの記述がはるかにクリーンで安全になり、アプリでの膨大なカテゴリのランタイムクラッシュが防止されます。ただし、nilが有効で適切な場合があります。このような状況のために、Swiftにはオプションと呼ばれる革新的な機能があります。オプションにはnilを含めることができますが、Swift構文では、?を使用して安全に処理する必要があります。動作を理解し、安全に処理することをコンパイラに示す構文。
関数から返すインスタンスがある場合とない場合は、オプションを使用します。
機能オプションのバインディング、オプションのチェーン、nil合体などにより、オプションの値を使用して安全かつ効率的に作業できます。
高速で強力
Swiftは、当初の構想から高速に構築されました。信じられないほど高性能なLLVMコンパイラテクノロジーを使用して、Swiftコードは、最新のハードウェアを最大限に活用する最適化されたネイティブコードに変換されます。構文と標準ライブラリも調整されており、コードを記述する最もわかりやすい方法が、手首の時計で実行されている場合でも、サーバーのクラスター全体で実行されている場合でも、最高のパフォーマンスを発揮します。
Swiftは後継者です。 C言語とObjective-C言語の両方に。これには、型、フロー制御、演算子などの低レベルのプリミティブが含まれます。また、クラス、プロトコル、ジェネリックスなどのオブジェクト指向機能を提供し、CocoaおよびCocoaTouch開発者に必要なパフォーマンスとパワーを提供します。
優れた第一言語
Swiftは扉を開くことができますコーディングの世界へ。実際、まだ学校に通っていても、新しいキャリアパスを模索していても、誰にとっても最初のプログラミング言語になるように設計されています。教育者のために、AppleはSwiftを教室の内外で教えるための無料のカリキュラムを作成しました。初めてのコーダーは、Swift Playgroundsをダウンロードできます。これは、Swiftコードの使用をインタラクティブで楽しく始めるためのiPad用アプリです。
意欲的なアプリ開発者は、無料のコースにアクセスして、Xcodeで最初のアプリを作成する方法を学ぶことができます。そして、世界中のAppleStoreが今日AppleCodingで開催しています& Swiftコードを実際に体験できるアプリセッション。
Swift教育リソースの詳細Appleから
ソースとバイナリの互換性
Swift 5では、新しいバージョンのコンパイラを使用するためにSwift4コードを変更する必要はありません。代わりに、新しいコンパイラの使用を開始し、自分のペースで移行して、一度に1つのモジュールで新しいSwift5機能を利用できます。また、Swift 5では、アプリにバイナリ互換性が導入されています。つまり、Swiftライブラリは今後すべてのOSリリースに含まれるため、現在および将来のOSリリースを対象とするアプリにSwiftライブラリを含める必要がなくなります。アプリはOSのライブラリの最新バージョンを利用し、コードは再コンパイルせずに実行され続けます。これにより、アプリの開発が簡単になるだけでなく、アプリのサイズと起動時間が短縮されます。
オープンソース
Swiftは、Swiftのオープンソースで開発されています。 org、ソースコード、バグトラッカー、フォーラム、定期的な開発ビルドをすべての人が利用できます。 Appleの内部と数百人の外部の貢献者の両方のこの幅広い開発者コミュニティは、Swiftをさらに素晴らしいものにするために協力しています。コミュニティの開発者がSwiftの大きな可能性を実現する方法の経験を共有するブログ、ポッドキャスト、会議、ミートアップのさらに広い範囲があります。
クロスプラットフォーム
SwiftはすでにすべてをサポートしていますAppleプラットフォームとLinux。コミュニティメンバーはさらに多くのプラットフォームへの移植に積極的に取り組んでいます。 SourceKit-LSPを使用して、コミュニティはSwiftサポートをさまざまな開発者ツールに統合することにも取り組んでいます。 Swiftがソフトウェアをより安全かつ高速にし、プログラミングをより楽しくする方法が増えることを楽しみにしています。
Swift for Server
Swiftは、Appleプラットフォーム上の多くの新しいアプリを強化します。 、新しいクラスの最新のサーバーアプリケーションにも使用されています。 Swiftは、実行時の安全性、コンパイルされたパフォーマンス、および小さなメモリフットプリントを必要とするサーバーアプリでの使用に最適です。サーバーアプリケーションの開発と展開のためにSwiftの方向性を導くために、コミュニティはSwiftServerワークグループを結成しました。この取り組みの最初の製品は、高性能プロトコルサーバーおよびクライアント向けのクロスプラットフォームの非同期イベント駆動型ネットワークアプリケーションフレームワークであるSwiftNIOでした。これは、すべて活発に開発されているロギング、メトリック、データベースドライバーなど、追加のサーバー指向のツールとテクノロジーを構築するための基盤として機能します。
オープンソースのSwiftコミュニティとSwiftServerの動作について詳しく知るグループ、Swift.orgにアクセス
Playgrounds and Read-Eval-Print-Loop(REPL)
iPad用のSwiftPlaygroundsと同様に、XcodeのプレイグラウンドでSwiftコードを記述できます信じられないほどシンプルで楽しい。コード行を入力すると、結果がすぐに表示されます。次に、コードの側面から結果をクイックルックするか、結果をすぐ下に固定します。結果ビューには、時間の経過に伴う値のグラフィック、結果のリスト、またはグラフを表示できます。タイムラインアシスタントを開くと、複雑なビューが進化してアニメーション化するのを見ることができ、新しいUIコードを試したり、コード化しながらアニメーション化されたSpriteKitシーンを再生したりできます。遊び場でコードを完成させたら、そのコードをプロジェクトに移動するだけです。 Swiftは、ターミナルまたはXcodeのLLDBデバッグコンソール内で使用する場合にもインタラクティブです。 Swift構文を使用して、実行中のアプリを評価して操作するか、新しいコードを記述して、スクリプトのような環境でどのように機能するかを確認します。
パッケージマネージャー
Swiftパッケージマネージャーは単一ですSwiftライブラリと実行可能ファイルを構築、実行、テスト、パッケージ化するためのクロスプラットフォームツール。 Swiftパッケージは、ライブラリとソースコードをSwiftコミュニティに配布するための最良の方法です。パッケージの構成はSwift自体で記述されているため、ターゲットの構成、製品の宣言、パッケージの依存関係の管理が簡単になります。 Swift 5の新機能として、swift runコマンドに、実行可能ファイルをビルドせずにREPLにライブラリをインポートする機能が含まれるようになりました。 Swift Package Manager自体は実際にはSwiftで構築され、Swiftオープンソースプロジェクトにパッケージとして含まれています。
Objective-Cの相互運用性
今日、Swiftを使用してまったく新しいアプリケーションを作成できます。または、Swiftコードを使用して、アプリに新しい機能を実装し始めます。 Swiftコードは、同じプロジェクト内の既存のObjective-Cファイルと共存し、Objective-C APIに完全にアクセスできるため、簡単に採用できます。