abematv on tvos

101

Click here to load reader

Upload: yuji-hato

Post on 16-Apr-2017

1.213 views

Category:

Software


0 download

TRANSCRIPT

Page 1: AbemaTV on tvOS

AbemaTV on Apple TV

tvOS入門CA.swift 2016/12/01

Yuji Hato

Page 2: AbemaTV on tvOS

About me

Yuji HatoCyberAgent, Inc. / AbemaTV, Inc.

dekatotoro

@dekatotoro

Contributed services

Page 3: AbemaTV on tvOS

Apple TV4th generation

Page 4: AbemaTV on tvOS

Apple TV4th generation

Page 5: AbemaTV on tvOS

・ 64-bit A8 processor・ 32GB or 64GB of storage・ 2GB of RAM・ 10/100Mbps Ethernet・ WiFi 802.11a/b/g/n/ac・ 1080p resolution・ HDMI 1.4・ New Siri Remote / Apple TV Remote

Apple TV4th generation

Page 6: AbemaTV on tvOS

・ 32GB 15,800 円・ 64GB 20,800 円※2016/09 に値下げ・ 32GB 18,400 円 → 15,800 円( 2,600 円値下げ)・ 64GB 24,800 円 → 20,800 円( 4,000 円値下げ)

Apple TV (tvOS)4th generation

Page 7: AbemaTV on tvOS

Remote

Page 8: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/

Remote

Page 9: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/

Remote

Page 10: AbemaTV on tvOS

Swipe Click Tap

https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/

Remote

Page 11: AbemaTV on tvOS

Development Method

Page 12: AbemaTV on tvOS

Development Method

iOS と同様に UIKit で開発・ Traditional Apps

TVML と TVJS をで開発

・ Client-Server Apps

Page 13: AbemaTV on tvOS

Limited App Size

Page 14: AbemaTV on tvOS

Limited App Size

200MB

Page 15: AbemaTV on tvOS

Limited Local Storage

Page 16: AbemaTV on tvOS

Limited Local StorageService Online/Local Persistent/

Temporary limit

iCloud Key-Value Store (KVS) Online Persistent 1MB max

CloudKit Online Persistent -

UserDefaults Local Persistent 500KB max

Keychain Local Persistent -

CacheDirectory Local Temporary May be purged

TemporaryDirectory Local Temporary May be purged

Page 17: AbemaTV on tvOS

Limited Local StorageService Online/Local Persistent/

Temporary limit

iCloud Key-Value Store (KVS) Online Persistent 1MB max

CloudKit Online Persistent -

UserDefaults Local Persistent 500KB max

Keychain Local Persistent -

CacheDirectory Local Temporary May be purged

TemporaryDirectory Local Temporary May be purged

Page 18: AbemaTV on tvOS

Limited Local StorageService Online/Local Persistent/

Temporary limit

iCloud Key-Value Store (KVS) Online Persistent 1MB max

CloudKit Online Persistent -

UserDefaults Local Persistent 500KB max

Keychain Local Persistent -

CacheDirectory Local Temporary May be purged

TemporaryDirectory Local Temporary May be purged

Page 19: AbemaTV on tvOS

Limited Local StorageService Online/Local Persistent/

Temporary limit

iCloud Key-Value Store (KVS) Online Persistent 1MB max

CloudKit Online Persistent -

UserDefaults Local Persistent 500KB max

Keychain Local Persistent -

CacheDirectory Local Temporary May be purged

TemporaryDirectory Local Temporary May be purged

Page 20: AbemaTV on tvOS

User Interaction

Page 21: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/overview/

User InteractionFocus

Page 22: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/overview/

Parallax

User Interaction

Page 23: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/overview/

Video

User Interaction

Page 24: AbemaTV on tvOS

Icons and Images

Page 25: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/

Icons and ImagesApp Icon.

Page 26: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/

Layered Images.

Icons and Images

Page 27: AbemaTV on tvOS

Layered Images.

https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/

Icons and Images

Page 28: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/

Top Shelf Images.

Icons and Images

Page 29: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/icons-and-images/

Top Shelf Images.

Icons and Images

Page 30: AbemaTV on tvOS

Layout

Page 31: AbemaTV on tvOS

Layout

https://developer.apple.com/tvos/human-interface-guidelines/visual-design/

Page 32: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/visual-design/

Layout

Page 33: AbemaTV on tvOS

https://support.apple.com/ja-jp/HT202763

Layout

Page 34: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/visual-design/

Layout

Page 35: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/visual-design/

Layout

Page 36: AbemaTV on tvOS

https://developer.apple.com/tvos/human-interface-guidelines/visual-design/

Layout

Page 37: AbemaTV on tvOS

Interface Elements

Page 38: AbemaTV on tvOS

Tab Bars

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 39: AbemaTV on tvOS

TableView

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 40: AbemaTV on tvOS

CollectionView

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 41: AbemaTV on tvOS

Split Views

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 42: AbemaTV on tvOS

Text Fields

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 43: AbemaTV on tvOS

Keyboards

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 44: AbemaTV on tvOS

Search

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 45: AbemaTV on tvOS

Button

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 46: AbemaTV on tvOS

Navigation Bars

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 47: AbemaTV on tvOS

Navigation Bars

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 48: AbemaTV on tvOS

Page Controls

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 49: AbemaTV on tvOS

Activity Indicators

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 50: AbemaTV on tvOS

Alerts

Interface Elements

https://developer.apple.com/tvos/human-interface-guidelines/interface-elements/

Page 51: AbemaTV on tvOS

tvOS の概要を抑えたところで

Page 52: AbemaTV on tvOS

AbemaTV on tvOS

Page 53: AbemaTV on tvOS

2016/11/25 にリリースしました

AbemaTV on tvOS

Page 54: AbemaTV on tvOS

開発スケジュール

Page 55: AbemaTV on tvOS

開発スケジュール

2ヶ月

Page 56: AbemaTV on tvOS

2ヶ月

開発スケジュール

Page 57: AbemaTV on tvOS

2ヶ月

開発スケジュール

Page 58: AbemaTV on tvOS

2ヶ月

開発スケジュール

Page 59: AbemaTV on tvOS

体制

Page 60: AbemaTV on tvOS

体制

・ Designer 1 ( 兼務 )

・ Engineer 2 (1 名兼務 )

・ Director 1 ( 兼務 )

Page 61: AbemaTV on tvOS

プロジェクト構成

Page 62: AbemaTV on tvOS

プロジェクト構成

iOS と同じプロジェクトで Target を分けるか、別プロジェクトにするか

Page 63: AbemaTV on tvOS

iOS とは別プロジェクトで開発framework 化ができてないSwift3 対応スケジュール

プロジェクト構成

Page 64: AbemaTV on tvOS

進捗管理

Page 65: AbemaTV on tvOS

進捗管理GitHub Projects

https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features

Page 66: AbemaTV on tvOS

Libraries

Page 67: AbemaTV on tvOS

Libraries

RxSwift RxCocoa Kingfisher Cartography AttributedLabel SwiftDate Cheetah SpringIndicator CryptoSwift KeychainAccess

SQLite.swift ReachabilitySwift SwiftyUserDefaults ProtocolBuffers-Swift Fabric Crashlytics Device

Page 68: AbemaTV on tvOS

UI/UX

Page 69: AbemaTV on tvOS

Overall

UI/UX

Page 70: AbemaTV on tvOS

Overall

UI/UX

Page 71: AbemaTV on tvOS

UI/UXOnAir Playback

Page 72: AbemaTV on tvOS

OnAir Playback

UI/UX

Page 73: AbemaTV on tvOS

Menu

UI/UX

Page 74: AbemaTV on tvOS

Menu TabBar

UI/UX

Page 75: AbemaTV on tvOS

OnAir Playback PageViewController

UI/UX

Page 76: AbemaTV on tvOS

OnAir Info

UI/UX

Page 77: AbemaTV on tvOS

OnAir Info CustomView

CollectionView

UI/UX

Page 78: AbemaTV on tvOS

Overall

UI/UX

Page 79: AbemaTV on tvOS

TimeTable

UI/UX

Page 80: AbemaTV on tvOS

TimeTable CollectionView

CollectionView

ScrollView

UI/UX

Page 81: AbemaTV on tvOS

TimeTable CollectionView

UI/UX

Page 82: AbemaTV on tvOS

TimeTable CollectionView

UI/UX

Page 83: AbemaTV on tvOS

TimeTable

UI/UX

Page 84: AbemaTV on tvOS

TimeTable

UI/UX

Page 85: AbemaTV on tvOS

Detail Info

UI/UX

Page 86: AbemaTV on tvOS

Detail Info

UI/UX

Page 87: AbemaTV on tvOS

Detail Info

UI/UX

Page 88: AbemaTV on tvOS

Overall

UI/UX

Page 89: AbemaTV on tvOS

Ondemand

UI/UX

Page 90: AbemaTV on tvOS

Ondemand SplitViewController

UI/UX

Page 91: AbemaTV on tvOS

Ondemand Playback

UI/UX

Page 92: AbemaTV on tvOS

Ondemand Playback

AVPlayerViewController

UI/UX

Page 93: AbemaTV on tvOS

Overall

UI/UX

Page 94: AbemaTV on tvOS

Setting

UI/UX

Page 95: AbemaTV on tvOS

Setting

TableViewImageView

UI/UX

Page 96: AbemaTV on tvOS

Overall

UI/UX

Page 97: AbemaTV on tvOS
Page 98: AbemaTV on tvOS

Conclusion

Page 99: AbemaTV on tvOS

Conclusion

• 共通部分を Embedded Framework 化しておくと良い

• iOS との違いは Focus 周りがキモ• 標準の UI/UX に従う

• 画面大きくて開発が楽しい

Page 100: AbemaTV on tvOS

Trial&Errorしながら開発中

AbemaTV on tvOS

Page 101: AbemaTV on tvOS

Thank you

参考資料https://developer.apple.com/tvos/resources/