AbemaTV on tvOS

  • View
    1.213

  • Download
    0

  • Category

    Software

Preview:

Citation preview

AbemaTV on Apple TV

tvOS入門CA.swift 2016/12/01

Yuji Hato

About me

Yuji HatoCyberAgent, Inc. / AbemaTV, Inc.

dekatotoro

@dekatotoro

Contributed services

Apple TV4th generation

Apple TV4th generation

・ 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

・ 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

Remote

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

Remote

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

Remote

Swipe Click Tap

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

Remote

Development Method

Development Method

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

TVML と TVJS をで開発

・ Client-Server Apps

Limited App Size

Limited App Size

200MB

Limited Local Storage

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

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

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

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

User Interaction

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

User InteractionFocus

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

Parallax

User Interaction

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

Video

User Interaction

Icons and Images

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

Icons and ImagesApp Icon.

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

Layered Images.

Icons and Images

Layered Images.

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

Icons and Images

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

Top Shelf Images.

Icons and Images

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

Top Shelf Images.

Icons and Images

Layout

Layout

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

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

Layout

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

Layout

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

Layout

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

Layout

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

Layout

Interface Elements

Tab Bars

Interface Elements

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

TableView

Interface Elements

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

CollectionView

Interface Elements

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

Split Views

Interface Elements

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

Text Fields

Interface Elements

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

Keyboards

Interface Elements

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

Search

Interface Elements

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

Button

Interface Elements

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

Navigation Bars

Interface Elements

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

Navigation Bars

Interface Elements

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

Page Controls

Interface Elements

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

Activity Indicators

Interface Elements

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

Alerts

Interface Elements

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

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

AbemaTV on tvOS

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

AbemaTV on tvOS

開発スケジュール

開発スケジュール

2ヶ月

2ヶ月

開発スケジュール

2ヶ月

開発スケジュール

2ヶ月

開発スケジュール

体制

体制

・ Designer 1 ( 兼務 )

・ Engineer 2 (1 名兼務 )

・ Director 1 ( 兼務 )

プロジェクト構成

プロジェクト構成

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

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

プロジェクト構成

進捗管理

進捗管理GitHub Projects

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

Libraries

Libraries

RxSwift RxCocoa Kingfisher Cartography AttributedLabel SwiftDate Cheetah SpringIndicator CryptoSwift KeychainAccess

SQLite.swift ReachabilitySwift SwiftyUserDefaults ProtocolBuffers-Swift Fabric Crashlytics Device

UI/UX

Overall

UI/UX

Overall

UI/UX

UI/UXOnAir Playback

OnAir Playback

UI/UX

Menu

UI/UX

Menu TabBar

UI/UX

OnAir Playback PageViewController

UI/UX

OnAir Info

UI/UX

OnAir Info CustomView

CollectionView

UI/UX

Overall

UI/UX

TimeTable

UI/UX

TimeTable CollectionView

CollectionView

ScrollView

UI/UX

TimeTable CollectionView

UI/UX

TimeTable CollectionView

UI/UX

TimeTable

UI/UX

TimeTable

UI/UX

Detail Info

UI/UX

Detail Info

UI/UX

Detail Info

UI/UX

Overall

UI/UX

Ondemand

UI/UX

Ondemand SplitViewController

UI/UX

Ondemand Playback

UI/UX

Ondemand Playback

AVPlayerViewController

UI/UX

Overall

UI/UX

Setting

UI/UX

Setting

TableViewImageView

UI/UX

Overall

UI/UX

Conclusion

Conclusion

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

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

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

Trial&Errorしながら開発中

AbemaTV on tvOS

Thank you

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

Recommended