Submit Search
Upload
ほんわかSwift勉強資料
•
31 likes
•
22,313 views
K
kouhei kawamata
Follow
株式会社ベーシックにて社内勉強会として使用した資料になります。
Read less
Read more
Report
Share
Report
Share
1 of 117
Download now
Download to read offline
Recommended
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
Yoshinori Kobayashi
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Tomohiro Yamasaki
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
Pythonを中心としたチーム開発
Pythonを中心としたチーム開発
Ryo Takahashi
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
本になりました! ~ チーム開発の教科書 C#によるモダンな開発を実践しよう!
本になりました! ~ チーム開発の教科書 C#によるモダンな開発を実践しよう!
慎一 古賀
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
慎一 古賀
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Yasuhiko Yamamoto
Recommended
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
iPhoneアプリ開発講座:Swiftビギナーズハンズオンセミナー|iOSアプリを作ってみたい、すべての初心者が、体験しながら学べるハンズオンセミナーです!
Yoshinori Kobayashi
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Tomohiro Yamasaki
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
慎一 古賀
Pythonを中心としたチーム開発
Pythonを中心としたチーム開発
Ryo Takahashi
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
本になりました! ~ チーム開発の教科書 C#によるモダンな開発を実践しよう!
本になりました! ~ チーム開発の教科書 C#によるモダンな開発を実践しよう!
慎一 古賀
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
慎一 古賀
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Yasuhiko Yamamoto
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Kaz Aiso
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
Mizuki Yamanaka
.Netconf
.Netconf
Tatsuya Ishikawa
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
Yukiko Kato
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
慎一 古賀
AngulaとElixirの新しい関係
AngulaとElixirの新しい関係
陸 谷出
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
Rina Fukuda
SIMD.js(ECMAScript 7)
SIMD.js(ECMAScript 7)
Hiroshi Kawada
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
Android meets RxJava - 渋谷Java#6
Android meets RxJava - 渋谷Java#6
yo_waka
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
Kaz Aiso
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Akira Inoue
TypeScript And ALM
TypeScript And ALM
Kazushi Kamegawa
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
祐磨 堀
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】
Mitsuhito Ishino
C#の書き方
C#の書き方
信之 岩永
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
More Related Content
What's hot
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Kaz Aiso
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
Mizuki Yamanaka
.Netconf
.Netconf
Tatsuya Ishikawa
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
Yukiko Kato
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
慎一 古賀
AngulaとElixirの新しい関係
AngulaとElixirの新しい関係
陸 谷出
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
Rina Fukuda
SIMD.js(ECMAScript 7)
SIMD.js(ECMAScript 7)
Hiroshi Kawada
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
Android meets RxJava - 渋谷Java#6
Android meets RxJava - 渋谷Java#6
yo_waka
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
Kaz Aiso
TypeScript 入門してみる
TypeScript 入門してみる
Ken Fukuyama
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Akira Inoue
TypeScript And ALM
TypeScript And ALM
Kazushi Kamegawa
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
祐磨 堀
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】
Mitsuhito Ishino
C#の書き方
C#の書き方
信之 岩永
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
What's hot
(20)
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
.Netconf
.Netconf
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
AngulaとElixirの新しい関係
AngulaとElixirの新しい関係
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
日本で一番PHPのシステムをテストしている手動テスターが思うところ:PHPカンファレンス福岡
SIMD.js(ECMAScript 7)
SIMD.js(ECMAScript 7)
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Android meets RxJava - 渋谷Java#6
Android meets RxJava - 渋谷Java#6
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
TypeScript 入門してみる
TypeScript 入門してみる
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
TypeScript And ALM
TypeScript And ALM
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】
C#の書き方
C#の書き方
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Viewers also liked
Swift勉強会
Swift勉強会
Nagamine Hiromasa
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
Tomohiro Kumagai
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Tomohiro Kumagai
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
KinkumaDesign
Viewers also liked
(6)
Swift勉強会
Swift勉強会
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
ようこそ! Swift Playgroundsへ
ようこそ! Swift Playgroundsへ
Similar to ほんわかSwift勉強資料
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Masaru Gushiken
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Erina Takei
ABC 2012 spring
ABC 2012 spring
Takeaki Tada
活動報告7 d&dなディレクティブを作る-
活動報告7 d&dなディレクティブを作る-
vx-pc-club
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
Mori Keita
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
裾野市プログラム勉強会(20170702)
裾野市プログラム勉強会(20170702)
Hiroyuki Ichikawa
Aizu Security Workshop #1
Aizu Security Workshop #1
Yukiya Nakagawa
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup
Asami Nakano
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
Kanako Kobayashi
Qt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたい
You&I
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
Web開発の 今までとこれから
Web開発の 今までとこれから
Shinichi Takahashi
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Sachiko Kajishima
Apps foroffice seminar 20130617 hands-on
Apps foroffice seminar 20130617 hands-on
Seiji Noro
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
Ryota Nakamura
プログラミング学習のための学習
プログラミング学習のための学習
siranon *
everevo × Open Graph
everevo × Open Graph
Tetsuwo OISHI
Similar to ほんわかSwift勉強資料
(20)
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
ABC 2012 spring
ABC 2012 spring
活動報告7 d&dなディレクティブを作る-
活動報告7 d&dなディレクティブを作る-
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
裾野市プログラム勉強会(20170702)
裾野市プログラム勉強会(20170702)
Aizu Security Workshop #1
Aizu Security Workshop #1
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
Qt5のセンサーAPIを使ってみたい
Qt5のセンサーAPIを使ってみたい
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Web開発の 今までとこれから
Web開発の 今までとこれから
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Apps foroffice seminar 20130617 hands-on
Apps foroffice seminar 20130617 hands-on
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
プログラミング学習のための学習
プログラミング学習のための学習
everevo × Open Graph
everevo × Open Graph
ほんわかSwift勉強資料
1.
皆でほんわかSwift ~ 誰でもswiftが怖くなくなる勉強会 ~
2.
Profile 2年目エンジニアです。 アプリは3ヶ月程でようやく一通り触れるほど になりました(`・ω・´) でもswiftはまだまともに触れていません(´Д`)
3.
Agenda to->Engineer Objective-cを諦めてしまった人 Swiftやってみたい人 ちょっと簡単にでもアプリを作ってみたい人 アプリへの理解を深めてみようかなぁって人 そんな初心者の人にお送りしたい Swift初心者のエンジニアが開く勉強会です。
4.
Agenda to->Director 皆がアプリ作りに対して少しでも理解を深めて 「アプリの仕事に関わってみようかな」 という気持ちが少しでも芽生えてもらえれば幸 いです(`・ω・´)
5.
Agenda 全体通して広く、浅い話が多くなりますがご容 赦下さいm(_ _)m ※時々いい話は頑張ってしたいと思います
6.
menu Objective-cからSwiftになった話 Swiftになって整理された様々な事 アプリ作りにおいて考えるSwift 今からやるならSwiftな理由 swift + story
boardで簡単に作ってみる 練習で脱出ゲームを作ってみた話
7.
Objective-cからSwiftへ “Swiftは、iOSとMac向けのアプリケーションを開発するためにApple が作った、パワフルで直感的な新しいプログラミング言語です。”
8.
なんでSwiftが出来たのか そもそもなんでSwiftが出来たの? ぶっちゃけObjective-cはまだまだ現役。結構調 べつくされて、色々なことをやるには安心して 使える。
9.
Objective-cっていうのは 「Objective-c」はC言語由来のもの。 オブジェクト指向言語 Smalltalkを用いてC言語 を拡張して出来たもの。 誕生年は1983年、MacOSやiOSに取り入れられ たのは2000年前後の話。
10.
Objective-cっていうのは objective-cをやっていて戸惑う[ ]これは smalltalkから引き継いだ記法です。
11.
Objective-cっていうのは でも流石に成長の限界….? Objective-C2.0として2007年にパワーアップして る。けど、流石に30歳。ドーピングの限界….
12.
Objective-cっていうのは Objective-cっていうのは 「分かりにくい」
13.
Objective-cっていうのは 「わかりにくい!」 仕様変更、機能追加で、コードの保守性、可読 性の担保が難しくなりつつある。 優れたプログラマーでも、冗長的な書き方をし なくてはいけない。 他の言語を知っていると「うがーっ(゚Д゚)」と なる人もいるはず。
14.
Objective-cっていうのは 「わかりにくい!」 現に色々混ざりすぎてシンタックス(構文規則)がわ かりにくくなってる。曖昧が回避しにくくなりつつあ る。 C言語、smalltalk。そしてobjective-cとしての書き方。 ざっくり言えば三種類の書き方が混在している状態。 初心者がいきなりやろうと思うと3つの言語を同時に 攻略しに行くような物。
15.
でもiOSは進化を続ける。 Webだったら最低限PCとSPを意識すればいいのに…
16.
でもiOSは進化を続ける。 iOSで新しい機能だしたいって時に、言語仕様から 見直す? 難しい仕様を足してしまう。そうすると難易度が 高まる。学習コストが高くなる…? 最近でもiPhone6 と plusが出て画面サイズが変 わったり、新しいiOSの
機能にdeveloperは対応 しなくちゃいけなくなったり….(´Д`)辛いっ
17.
でもiOSは進化を続ける。 このままだとAppleとしてもデベロッパーとして も辛い状態が続く!?
18.
だからSwiftかも! 言語も進化しなくちゃ! 2010年くらいから秘密裏に開発されてたらしい。 最近のイケてる機能やら何やら引っさげて2014年にベータ 版として登場! 今風でスッキリしてる。javascriptっぽくも見えるし慣れ親 しみやすい!(かも!) Objective-Cには無い新しい概念を獲得!やったね! ↑でもそれが割りと難しかったりするのですがそれはこの後のお話で。 \どやぁ/
19.
まだまだ成長期 最近は動作も安定し始めて、初心者が取り組ん でも大丈夫。 Yosemite入れて最新のXcodeなら普通に動くは ず! 安心・安全な使い方をObjective-cより比較的し 易い設計だし、今から慣れておくと良いですね!
20.
今回はSwiftやりましょう なんとなく、なぜSwiftが現れたか納得して頂け たでしょうか….? もろもろobjective-cよりswiftが良いと言われる 所以はこの後もう少し深堀りしていきます。
21.
ちなみに… もうobjective-cはいらないの? 最初にも言いましたように Objective-cはまだまだ現役。しかも結構調べつ くされて、色々なことをやるには安心して使え る。
22.
swiftが来たけど現役です。 しばらくObjective-cのサポートは続くだろう。 両方使う方法は用意されてる。 swiftでしか出来ない事はエンジニア的な部分の話。 困ったときに検索して引っかかるのはObjective-cの方が多い。 iPhoneのアプリの仕組みが変わったわけではない。初めて取り 組む人は、割りと簡単に作る方法が1つ増えたぜやった!くらい の感覚で大丈夫。
23.
この章の参考 http://www.marineroad.com/staff-blog/8211.html http://mynavi-agent.jp/it/geekroid/2014/10/ swift1objective-cswift.html http://postd.cc/real-world-swift/ http://gihyo.jp/dev/feature/01/changeover-to- Swift/0001 http://builder.japan.zdnet.com/tool/35049538/
24.
Swiftになって 整理された様々な事 “モダン、安全、高速、インタラクティブ”
25.
Swiftはモダン、安全 高速、インタラクティブ モダンだぜ クロージャやタプル、ジェネリックプログラミング、Optional型。 安全だぜ 静的な型チェック、変数の初期化の強制、数値型のオーバーフローの検査。 インタラクティブだぜ インタプリタとしてスクリプトを実行することも可能。ビルドってしなくても動く。 早いぜ なんか早い。
26.
Swiftはモダン、安全 高速、インタラクティブ お、おう….(‘A’;) …順番に見て行きましょう!
27.
モダンだよSwift! 簡単に色々できるからいいね。 シンタックスがカオスになる機能が増えてゆく 中に舞い降りたメシアがSwiftです。(誇大表現)
28.
モダンだよSwift! 簡単に色々できるからいいね。 難しいこと言いましたが、綺麗簡単スッキリに なったということです。
29.
モダンだよSwift! 簡単に色々できるからいいね。 といっても、何がどう簡単なの? っていう話もあると思います。 いかに簡単になったかを幾つかご紹介。
30.
変数の型の種類が 少なくて簡単 NSString 文字列を扱うクラス NSInteger 整数を扱うクラス NSNumber
数字を扱うクラス NSArray コレクション型(配列的な)を扱うクラス NSMutableArray 変更可能なコレクション型(配列的な)を扱うクラス int 整数のデータ型 float 浮動小数型 double 浮動小数型(floatよりも大きい) char 一文字を扱う型 BOOL 真偽判定を行う型 基本的な型だけでこれだけobjective-cには型があるし、まだまだある。
31.
大変だ /\___/ヽ ヽ / ::::::::::::::::\ つ
. | ,,--- ---、 .:::| わ | 、_(o)_,: _(o)_, :::|大ぁ . | ::< .::|変ぁ \ /( [三] )ヽ ::/だあ /`ー-—--―´\ ぁあ
32.
swiftは 変数の種類が少なくて簡単 Int(整数型)、Double(浮動小数点数型)、 String(文字列型)、Character(文字型)、Bool (真偽型)、Array(コレクション型) というのがswiftの基本。というかC言語+smalltalk という状態だったのが統一されて、綺麗に。 スッキリ安心ですね(`・ω・´)
33.
使い方もよりスマート Swift これはString(文字)ぽい これはInt(整数)ぽい Objective-c 長い 忘れがち 何の模様だよ @←なんで必要なの
34.
使い方もよりスマート Swiftの特徴の一つ。型推論 これはString(文字)ぽい これはInt(整数)ぽい 静的型付で安心設計。 数字の変数が急に文字の変数にはなれない。
35.
Optionalという仕様 所謂nullとかnilとか、枠はあるのに中身はなん にもない状態を作るためのテクニック。 それを参照(見に行く、null参照)することで、 脆弱性、システムクラッシュなどが度々、引き起 こる。 ( ´∀`)<ぬるぽ■━ ( ・ ・)
彡 ガッ☆`Д´)ノ
36.
Optionalという仕様 テクニック使わないとそんな状態に出来ない -> つまり、初めのうちは考えなくていい!
37.
Swiftは優しいのだ プログラミングをより楽しい物にしたい そんな気持ちが伝わってくるような仕様ばかり です。
38.
この章の参考 https://ja.wikipedia.org/wiki/Swift_ %28%E3%83%97%E3%83%AD %E3%82%B0%E3%83%A9%E3%83%9F %E3%83%B3%E3%82%B0%E8%A8%80%E8% AA%9E%29 wiki便利(`・ω・´) http://www.amazon.co.jp/dp/4798042196 http://qiita.com/koher/items/ c6f446bad54442a28bf4
39.
アプリ作りにおいて考える Swift
40.
Swiftが有れば無敵。 凄い!Swiftは皆に優しくて、簡単に開発でき る!
41.
Swiftが有れば無敵。 コレで爆速開発。objective-Cから乗り換えるだ けで通常の3倍くらいのスピードでアプリ開発が 進むぞ!
42.
Swiftが有れば無敵。 というわけではないです….
43.
Engineerから見るSwiftとは 先ほどまでの話はEngineerから見たSwiftの特性 です。 Objective-cを使おうとSwiftを使おうと、作ろう とするアプリの難易度はあまり変わりません。
44.
Engineerから見るSwiftとは やろうと思えばObjective-Cでも出来る。 でも比べると保守性は低いし、作っていて痒い ところに手が届かない。結局面倒な手順を踏ま なくてはいけなくなる。
45.
Engineerから見るSwiftとは 余計なエラーが出ない分、取り組みやすい。 綺麗にコードを書けるから、引き継ぎも難易度 がそれほど高くない。 最近流行りのコーディングが出来て楽しい。 機能的で、拡張性を高く保つことが出来る。
46.
Engineerから見るSwiftとは EngineerがSwiftを使うメリットはわかりまし た。 じゃあDirectorは….? Engineerにわざわざ学習させてまでSwiftに乗り 換えさせるメリットとは。
47.
Directorから見るSwiftとは objective-CからSwift開発を選ぶということは PHPからRubyに乗り換えることと近いです。 (全く一緒ではないけれど)
48.
Directorから見るSwiftとは 今まで扱っていたPHPにはない機能がRubyには あります。 Ruby on Railsという強力なフレームワーク。 便利なGemと言う誰かが作った既成品を次々と 使っていける簡単なシステム。
49.
Directorから見るSwiftとは じゃあそれで劇的に作る速度が早くなったか? と言うとそういうわけではない。
50.
Directorから見るSwiftとは ですが、「保守性が上がった」「拡張性が高く なった」のような言葉はよく使われたりすると 思います。 SwiftはObjective-Cより、綺麗に作れてメンテナ ンス性を高く保つ方法が用意されています。
51.
Directorから見るSwiftとは ざっくり纏めると以下の様なメリットが有ります エンジニアのモチベーションを高く保てる。 様々な開発のEngineerへの負担を軽減することが出来る。 不意な変更に対しても不測の事態が起きにくい。 長期なプロジェクトになればなるほど、swiftであることが 良かったと思える時が来る可能性が高い。
52.
この章の参考 http://postd.cc/real-world-swift/ 他にもあったのですがURLどこかにやってしま いましたm(_ _;)m
53.
前半終わり 此処からさらにエンジニア色強くなります。 (ここで凡そスライド50枚目)
54.
今からやるならSwift!! な理由
55.
Swiftになって出来る事 Objective-Cで出来なくて、Swiftで簡単に出来る ようになったことの一部を紹介します。 いかにObjective-CよりSwiftがいいのかをなんと なくでも感じてもらえれば嬉しいです(^^ゞ
56.
プレイグランドという swiftを勉強しやすい環境 ビギナーの方でもSwiftを少しづつ実行しながら 勉強する事が出来ます。 プログラムに不慣れな人も、この機能でSwiftを 動かしながら勉強することが出来ます。
57.
プレイグランドという swiftを勉強しやすい環境
58.
プレイグランドという swiftを勉強しやすい環境
59.
非常に簡単になった 文字列操作 Swiftは文字列を処理しやすい!
60.
柔軟になった配列操作 シンプルで分かりやすいぞ!
61.
色々な型を一意に突っ込める Tuple シンプルで分かりやすいぞ!
62.
ジェネリクス あらゆる型に対して柔軟に対応する記法!
63.
新しい機能と 簡単になった文法 初心者でも簡単に取り組める。 中級者でも楽しめる。 上級者はエレガントなアプリ作りをすることが 出来る。
64.
せっかくなので 簡単にアプリを作ってみましょう。 せっかくなので、Swiftで簡易的に作ってみま しょう。
65.
この章の参考 http://tea-leaves.jp/swift/ http://qiita.com/mochizukikotaro/items/ 7403835a0dbb00ea71ae http://itpro.nikkeibp.co.jp/atcl/idg/14/080400024/ http://tea-leaves.jp/swift/content/%E3%82%BF %E3%83%97%E3%83%AB http://tea-leaves.jp/swift/content/ %E3%82%B8%E3%82%A7%E3%83%8D%E3%83%AA %E3%82%AF%E3%82%B9
66.
swift + story
boardで 簡単に作ってみる
67.
入力した文字列の検索結果を Safariで開くアプリ。 このアプリの制作を通じてiOSアプリの開発の全 景を感じ取れたらと思います。 現状の最新MacOSでダウンロードできる最新 Xcodeで開発します。
68.
まずはプロジェクトを 適当に立ち上げます。
69.
まずはプロジェクトを 適当に立ち上げます。
70.
まずはプロジェクトを 適当に立ち上げます。 軽く説明しますとこんな感じです。
71.
ストーリーボード (Storyboard)とは? 今回は簡単に作るためにStoryboardを使って画 面を作っていきます。 これを使うと、視覚的かつ直感的にアプリの開 発を進めていくことができます!
72.
画面作り
73.
画面作り
74.
こんな感じな大きさにして、真ん中に配置して 実行してみよう。 画面作り
75.
画面作り わくわく(`・ω・´)
76.
画面作り ん?(´・ω・`)
77.
画面作り
78.
画面作り storyboardの罠だ!
79.
画面作り storyboardの罠だ!
80.
画面作り 制約(Constraint)を使う そうしないためにも様々なViewItemに対して Constraintという制約を設定して上げる必要があ ります。
81.
画面作り 制約(Constraint)を使う
82.
画面作り 制約(Constraint)を使う
83.
画面作り 制約(Constraint)を使う
84.
画面作り 制約(Constraint)を使う この制約は画面の横中央、縦中央に寄せるという制約です!
85.
画面作り 制約(Constraint)を使う この制約にお陰でボタンの位置が真ん中に来ましたね!
86.
次はプログラムと連携させる
87.
次はプログラムと連携させる
88.
次はプログラムと連携させる
89.
次はプログラムと連携させる
90.
次はプログラムと連携させる
91.
次はプログラムと連携させる
92.
最後にちょちょっと書く 1. let googleUrl =
“https:// www.google.co.jp/#q=" 2. var googleSearchUrl = googleUrl + searchWordText.text var urlItem = NSURL(string: googleSearchUrl) UIApplication.sharedApplic ation().openURL(urlItem!)
93.
完成です。 ワーイヽ(゚ ゚)メ(゚ ゚)メ(゚
゚)ノワーイ 簡単です。
94.
ちなみにソースコードで 実装するとこんな感じ。 class ViewController: UIViewController
{ var searchWordText: UITextField! var searchButton: UIButton! let googleUrl = "https://www.google.co.jp/#q=" override func viewDidLoad() { super.viewDidLoad() // UITextFieldを作成する. searchWordText = UITextField(frame: CGRectMake(0,0,self.view.bounds.width-60,30)) // 表示する文字を代入する. searchWordText.text = "Hello" // 枠を表示する. searchWordText.borderStyle = UITextBorderStyle.RoundedRect // UITextFieldの表示する位置を設定する. searchWordText.layer.position = CGPoint(x:self.view.bounds.width/2,y:100); // Viewに追加する. self.view.addSubview(searchWordText) // Buttonを生成する. searchButton = UIButton() // サイズを設定する. searchButton.frame = CGRectMake(0,0,200,40) // タイトルを設定する. searchButton.setTitle("サファリで開く!", forState: UIControlState.Normal) searchButton.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal) // ボタンの位置を指定する. searchButton.layer.position = CGPoint(x: self.view.frame.width/2, y:200) // イベントを追加する. searchButton.addTarget(self, action: "searchButtonEvent:", forControlEvents: .TouchUpInside) // ボタンをViewに追加する. self.view.addSubview(searchButton) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func searchButtonEvent(sender: AnyObject) { var googleSearchUrl = googleUrl + searchWordText.text var urlItem = NSURL(string: googleSearchUrl) UIApplication.sharedApplication().openURL(urlItem!) } }
95.
ちなみにソースコードで 実装するとこんな感じ。 10行ほど節約出来ました!
96.
この章の参考 http://techacademy.jp/magazine/1825 https://sites.google.com/a/gclue.jp/swift-docs/
97.
練習で 脱出ゲームを作ってみた話
98.
練習でこんな感じのを 作ってみました。
99.
これを通じて得た経験談等を 少し共有です。 最後の話になります。 この制作を通じて得た経験談やtips的な何かを紹 介できればと思います。 ソースコードは後ほどgithub的な所で公開しま す。興味がある方は後でこっそりご連絡下さい。
100.
ごちゃごちゃしてないので 取り組みやすい 左側がSwiftですよ。
101.
ごちゃごちゃしてないので 取り組みやすい 同じAppDelegateファイルを見比べてもなんだか swiftのほうが見慣れてて、綺麗に見えません?
102.
[hogehoge message] ↑所謂メッセージ式が綺麗さっぱりいないので、 混在せず見通しが良いです。 ごちゃごちゃしてないので 取り組みやすい
103.
やっぱり組むのが楽ちん。 objective-cの時はファイルが2つあり、継承の 時はいつもファイルをimportしていた。 二度手間(´Д`)
104.
やっぱり組むのが楽ちん。 でもSwiftはその辺は勝手に みとってやってく れます。便利! import要らず!
105.
やっぱり組むのが楽ちん。 objective-cの時はファイルが2つあり、継承の 時はいつもファイルをimportしなくてはいけま せんでした。
106.
Viewはstoryboardで視覚的に さくさく組めました! 一人でぽちぽちやって行くと 数値調整>アプリ実行>確認>ミス発覚>数値 調整>アプリ実行>確認>ミス発覚>数値調整 >アプリ実行>確認>ミス発覚>数値調整>ア プリ実行>確認>ミス発覚…. とならずに、すんなり!
107.
Viewはstoryboardで視覚的に さくさく組めました! storyboardの(・ ・)イイ!!ところは 今まで視覚的に確認できなかったコード上のレイアウトが、リアルタ イムで確認しながら作業できること。 設定がしっかりしていれば様々なデバイスに柔軟に対応できるという点。 ですね。 デザイナーさんとお話しながらリアルタイムでポチポチ変えることも出 来る。 操作さえ覚えればデザイナーさんにレイアウトをお任せしちゃうという ことも!?
108.
109.
でも... 旨い話には勿論裏(デメリット)も合って…
110.
(゚Д゚)うわぁ... Constraints(制約) だらけに….
111.
デメリットも勿論あったのだ 見ての通り複雑になりすぎる。 コードとの関係性が複雑になればなるほど見づ らい。 アプリプロフェッショナルになるとコードのほ うが早く組めるようになる。
112.
storyboardを使う際は 適材適所で行きましょう! 簡単なモックアプリを作るときには最適。 >実行しなくても誰でも雰囲気で気軽に組める >視覚的なのでわかりやすい!
113.
おわりに
114.
そして、Swiftへ 全体的に抽象度の高い話が多かったですね。 質問などあればドシドシください。 正答率70%くらい目指して頑張って答えひね り出しますので(^ω^;)お手柔らかに…
115.
そして、Swiftへ Swiftはエンジニアを協力にサポートする素晴ら しい言語です。 まだまだ成長過程とはいえ、結構アプリ作りが エレガントに作りやすくなっているのではない でしょうか。
116.
そして、Swiftへ ディレクターとしても、Swiftはまだ身につけやすく、エン ジニアと親和性を向上させる意味でも軽くやっておいて損 はないと思います。 Swiftは爆速に開発できるものではないです。 内面の質を割りと容易に向上させることの出来る。 Objective-cとは違う作りをSwiftで出来る。 という認識を軽くでも今回の話で持って頂ければ幸いです。
117.
以上です(`・ω・´) let notificationCenter =
NSNotificationCenter.defaultCenter() notificationCenter.addObserver( self, selector: "終わり間際ですが何かありますでしょうか:", name:UIApplicationWillTerminateNotification, object: nil)
Download now