SlideShare a Scribd company logo
はぢめての Swift 
- この3日で、Swift 情報をまとめてみた! 
抑えておきたい5つのポイント - 
2014.08.22 (Fri) / Swift 勉強会 vol.3 
株式会社キッズスター 
システムデベロプメントチーム リーダー 
森 哲哉
こんばんは!
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
………。
20140822 Swift 勉強会 vol.3 - はぢめての Swift
と、いうわけで 
Swift のおはなし
おしながき
おしながき 
• Point 1: 環境構築 
• Point 2: Objective-C との違い 
• Point 3: Collection 
• Point 4: Enumeration 
• Point 5: Objective-C との共存
自己紹介
$ whoami 
• “森 哲哉” と申します。 
• a.k.a: もんりぃ / T: @monry / F: monry84 
• 29歳 / ♂ / O型 / 天秤座 / 既婚 
• 趣味は「お酒」と「合唱」です。
$ whoami 
• 大学を (自主的に) 卒業後、ベンチャーを転々。 
• Web のフロントエンド、サーバサイドが得意。 
• ようやく Unity 歴 1 年チョイになりました。 
• AWS とキャッキャウフフするのも好きです。 
• 何故か社内インフラも やらされ… やってます。 
• 近頃は Backbone.js (と CoffeeScript と SASS) と戯れてます。
$ jobs 
• “株式会社キッズスター” って会社で働いてます。 
• 未就学児~小学生のお子さまをお持ちの 
ファミリーをターゲットにした、知育/教育に 
関わるアプリ・サービスを展開しております。 
• お陰様で EdTech な知育分野に於いて 
No.1 規模で展開しております!(当社調べw)
$ ls -la apps/ 
こえほん森のえほん館なりきり!! 
おかしの家を 
ごっこランド 
パズル&テイルズ 
おかしのくにを 
つくるのじゃ!! 
なりきり!! 
アイスクリーム 
屋さんごっこ 
なりきり!! 
ママごっこ 
お弁当をつくろう! 
つくろう! 
ハンバーガー 
やさんごっこ 
飛行機を 
組み立てよう! 
i18n i18n 
i18n i18n 
Work in 
Progress
Point 1
環境構築 
• 何はなくとも Xcode6 
• 2014-08-22 現在 Beta6 が最新 
• https://developer.apple.com/ 
• Apple Developer Program への登録必須 
• インストール直後の起動はメッチャ時間かかる
環境構築 
• iBooks に言語リファレンス有り (無料) 
• “The Swift Programming Language” 
• 英語だけど、割と読めるw
環境構築 
• Xcode でプロジェクト作る時に 
Languege: Swift を選択 
• お馴染みの構成で .swift なファイルが生成
環境構築 
ね?簡単でしょう?
Point 2
Objective-C との違い 
• 言語的な意味での仕様は大きく異なる 
• 使える API は殆ど同じ 
• Xcode の使い方も基本的に同じ
Objective-C との違い 
• クラス名・変数名などにマルチバイト文字や 
絵文字が使える 
• Objective-C と絡めるとハマるかも?
Objective-C との違い 
• ショートハンドが盛り沢山 
• Closure とかは変態的に書けるかも?
Objective-C との違い 
• 強力 (?) な型推論 
• ドキュメントの至る所に “infer” って出てくる 
• 可読性・保守性と相談する必要あり
Point 3
Collection 
• 配列・連想配列 
• Array, Dictionary が標準で便利 
• かなり LL な書き方できる
Collection 
• Array
Collection 
• Dictionary
Collection 
• Initializer の仕様がドキュメントと違う…? 
• Java ライクな書き方が出来なかった
Collection 
• 値の書き換えやら nil 代入やらは色々地雷 
• 詳しくはググってくださいw
Point 4
Enumeration 
• 列挙型 
• 省エネコードが書ける 
• 相当パワーアップしてる印象 
• 代数的データ型 × パターンマッチ
Enumeration 
• メソッド持てるようになった
Enumeration 
• 代数的データ型 (Algebraic DataType)
Point 5
Objective-C との共存 
• 過去の資産は有効活用できる 
• ヘッダファイルによる橋渡しが必要 
• Swift→ObjC も ObjC→Swift も可能
Swift → ObjC 
• Objective-C なクラスを追加しようとすると 
ヘッダファイル作るかどうかを聞かれる 
• 連携予定があろうがなかろうが 
作っておいた方が良いかも?
Swift → ObjC 
• ここで出来たヘッダファイル内に 
Swift から呼び出したいクラスの 
ヘッダファイルを列挙
ObjC → Swift 
• もちろん、逆も可能 
• 需要があるかどうかは分からんがw 
• こちらもヘッダファイルで情報をやりとり
ObjC → Swift 
• プロジェクト外に存在するヘッダファイルを 
読み込ませる 
• 実体は 
~/Library/Developer/Xcode/DerivedData/ 
以下の深いところにある
まとめ
リファレンス 
読みましょう
Thank you for 
your attention !

More Related Content

PPTX
Swiftビギナーズ勉強会_swift感想文
PDF
Swift 3 その基本ルールを眺める #cswift
PDF
iOS 8/Swift 概要 #ios8yahoo
PDF
Swift事情2014夏 ~ Swift入門 beta6対応
PDF
Swift勉強会
PPTX
勉強会用Swift授業2018-0126
PDF
勉強会資料ースイフト入門ー
Swiftビギナーズ勉強会_swift感想文
Swift 3 その基本ルールを眺める #cswift
iOS 8/Swift 概要 #ios8yahoo
Swift事情2014夏 ~ Swift入門 beta6対応
Swift勉強会
勉強会用Swift授業2018-0126
勉強会資料ースイフト入門ー

Similar to 20140822 Swift 勉強会 vol.3 - はぢめての Swift (20)

PDF
Swift使ってみた (2014/07/23)
PDF
Study Swift
PDF
Objective-CからSwiftへの移行講座
PDF
ほんわかSwift勉強資料
PDF
What's new Swift3
PDF
Swiftビギナーズ勉強会 第一回@Co-Edo
PDF
Swiftビギナーズ勉強会 第1回 @Co-Edo
PDF
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
PDF
楽しいSwift!クラスと構造体を知る:)
PDF
Wolcome to swift
PDF
Swiftってどうよ!!(cocoa勉強会関西@20150228)
PDF
Swiftの魅力と可能性 2
PDF
Swift を振り返ってみよう #cswift
PDF
チーム会議発表資料
PDF
Swiftプログラミングを考える
PDF
Swift入門おさらい
PPTX
iPhoneアプリ開発の歩き方〜Swift編〜
PDF
Swiftの実際ダメな所
PDF
Swiftをやってみた!
PPTX
221217 SwiftはPythonに似ている
Swift使ってみた (2014/07/23)
Study Swift
Objective-CからSwiftへの移行講座
ほんわかSwift勉強資料
What's new Swift3
Swiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
楽しいSwift!クラスと構造体を知る:)
Wolcome to swift
Swiftってどうよ!!(cocoa勉強会関西@20150228)
Swiftの魅力と可能性 2
Swift を振り返ってみよう #cswift
チーム会議発表資料
Swiftプログラミングを考える
Swift入門おさらい
iPhoneアプリ開発の歩き方〜Swift編〜
Swiftの実際ダメな所
Swiftをやってみた!
221217 SwiftはPythonに似ている
Ad

More from Mori Tetsuya (20)

PDF
GraphView のすゝめ / Introduction of GraphView
PDF
基盤・設計まわりでしくじってしまった話
PDF
2020年版 Unity Package Manager 更新点まとめ
PDF
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
PDF
Future of UniFlow
PDF
Clean Architecture for Unity
PDF
Visual Programming Framework for Unity - UniFlow のご紹介
PDF
Unity ユーザのための Git ハンズオン #2
PDF
Unity で Unit な Test を書いてみた
PDF
Unity 5.3 の In-App Purchase を試してみた
PDF
AssetBundle (もどき) の作り方
PDF
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
PDF
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
PDF
できる! Unity 2D (vol.2)
PDF
20150216 Unity Hands-on 「できる!Unity 2D」
PDF
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
PDF
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
PDF
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
PDF
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
PDF
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
GraphView のすゝめ / Introduction of GraphView
基盤・設計まわりでしくじってしまった話
2020年版 Unity Package Manager 更新点まとめ
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Future of UniFlow
Clean Architecture for Unity
Visual Programming Framework for Unity - UniFlow のご紹介
Unity ユーザのための Git ハンズオン #2
Unity で Unit な Test を書いてみた
Unity 5.3 の In-App Purchase を試してみた
AssetBundle (もどき) の作り方
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
できる! Unity 2D (vol.2)
20150216 Unity Hands-on 「できる!Unity 2D」
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
Ad

20140822 Swift 勉強会 vol.3 - はぢめての Swift

  • 1. はぢめての Swift - この3日で、Swift 情報をまとめてみた! 抑えておきたい5つのポイント - 2014.08.22 (Fri) / Swift 勉強会 vol.3 株式会社キッズスター システムデベロプメントチーム リーダー 森 哲哉
  • 9. おしながき • Point 1: 環境構築 • Point 2: Objective-C との違い • Point 3: Collection • Point 4: Enumeration • Point 5: Objective-C との共存
  • 11. $ whoami • “森 哲哉” と申します。 • a.k.a: もんりぃ / T: @monry / F: monry84 • 29歳 / ♂ / O型 / 天秤座 / 既婚 • 趣味は「お酒」と「合唱」です。
  • 12. $ whoami • 大学を (自主的に) 卒業後、ベンチャーを転々。 • Web のフロントエンド、サーバサイドが得意。 • ようやく Unity 歴 1 年チョイになりました。 • AWS とキャッキャウフフするのも好きです。 • 何故か社内インフラも やらされ… やってます。 • 近頃は Backbone.js (と CoffeeScript と SASS) と戯れてます。
  • 13. $ jobs • “株式会社キッズスター” って会社で働いてます。 • 未就学児~小学生のお子さまをお持ちの ファミリーをターゲットにした、知育/教育に 関わるアプリ・サービスを展開しております。 • お陰様で EdTech な知育分野に於いて No.1 規模で展開しております!(当社調べw)
  • 14. $ ls -la apps/ こえほん森のえほん館なりきり!! おかしの家を ごっこランド パズル&テイルズ おかしのくにを つくるのじゃ!! なりきり!! アイスクリーム 屋さんごっこ なりきり!! ママごっこ お弁当をつくろう! つくろう! ハンバーガー やさんごっこ 飛行機を 組み立てよう! i18n i18n i18n i18n Work in Progress
  • 16. 環境構築 • 何はなくとも Xcode6 • 2014-08-22 現在 Beta6 が最新 • https://developer.apple.com/ • Apple Developer Program への登録必須 • インストール直後の起動はメッチャ時間かかる
  • 17. 環境構築 • iBooks に言語リファレンス有り (無料) • “The Swift Programming Language” • 英語だけど、割と読めるw
  • 18. 環境構築 • Xcode でプロジェクト作る時に Languege: Swift を選択 • お馴染みの構成で .swift なファイルが生成
  • 21. Objective-C との違い • 言語的な意味での仕様は大きく異なる • 使える API は殆ど同じ • Xcode の使い方も基本的に同じ
  • 22. Objective-C との違い • クラス名・変数名などにマルチバイト文字や 絵文字が使える • Objective-C と絡めるとハマるかも?
  • 23. Objective-C との違い • ショートハンドが盛り沢山 • Closure とかは変態的に書けるかも?
  • 24. Objective-C との違い • 強力 (?) な型推論 • ドキュメントの至る所に “infer” って出てくる • 可読性・保守性と相談する必要あり
  • 26. Collection • 配列・連想配列 • Array, Dictionary が標準で便利 • かなり LL な書き方できる
  • 29. Collection • Initializer の仕様がドキュメントと違う…? • Java ライクな書き方が出来なかった
  • 30. Collection • 値の書き換えやら nil 代入やらは色々地雷 • 詳しくはググってくださいw
  • 32. Enumeration • 列挙型 • 省エネコードが書ける • 相当パワーアップしてる印象 • 代数的データ型 × パターンマッチ
  • 36. Objective-C との共存 • 過去の資産は有効活用できる • ヘッダファイルによる橋渡しが必要 • Swift→ObjC も ObjC→Swift も可能
  • 37. Swift → ObjC • Objective-C なクラスを追加しようとすると ヘッダファイル作るかどうかを聞かれる • 連携予定があろうがなかろうが 作っておいた方が良いかも?
  • 38. Swift → ObjC • ここで出来たヘッダファイル内に Swift から呼び出したいクラスの ヘッダファイルを列挙
  • 39. ObjC → Swift • もちろん、逆も可能 • 需要があるかどうかは分からんがw • こちらもヘッダファイルで情報をやりとり
  • 40. ObjC → Swift • プロジェクト外に存在するヘッダファイルを 読み込ませる • 実体は ~/Library/Developer/Xcode/DerivedData/ 以下の深いところにある
  • 43. Thank you for your attention !