Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
はぢめての Swift 
- この3日で、Swift 情報をまとめてみた! 
抑えておきたい5つのポイント - 
2014.08.22 (Fri) / Swift 勉強会 vol.3 
株式会社キッズスター 
システムデベロプメントチーム リー...
こんばんは!
………。
と、いうわけで 
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 とキャッキャウフフするのも好きです。 
•...
$ jobs 
• “株式会社キッズスター” って会社で働いてます。 
• 未就学児~小学生のお子さまをお持ちの 
ファミリーをターゲットにした、知育/教育に 
関わるアプリ・サービスを展開しております。 
• お陰様で EdTech な知育分...
$ ls -la apps/ 
こえほん森のえほん館なりきり!! 
おかしの家を 
ごっこランド 
パズル&テイルズ 
おかしのくにを 
つくるのじゃ!! 
なりきり!! 
アイスクリーム 
屋さんごっこ 
なりきり!! 
ママごっこ 
お弁当...
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 !
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
Upcoming SlideShare
Loading in …5
×

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

1,405 views

Published on

2014年08月22日に TechBuzz スペースにて開催された「第3回 Swift 勉強会」で発表した際の資料です。
※発表時から一部資料を修正しております。

Published in: Software
  • Be the first to comment

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

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

×