SlideShare a Scribd company logo
Building a  tvOS Application
using TVJS & TVML
Michiel De Mey
Building a tvOS Application
Navigation
Building a tvOS Application
tvOS App
 TV Markup Language
<?xml version="1.0" encoding="UTF-8" ?>
<document>
<descriptiveAlertTemplate>
<title>Terms of Service</title>
<description>Lorem ipsum (…)</description>
<row>
<button>
<text>Accept</text>
</button>
<button>
<text>Decline</text>
</button>
</row>
</descriptiveAlertTemplate>
</document>
 TV Markup Language
 TV Markup Language
Building a tvOS Application
tvOS App
 TV Javascript Framework
 TV Javascript Framework
• Supports some standard DOM classes
DOMParser
Event
XMLSerializer
• Has some tvOS specific classes you can work with
XMLHttpRequest
MediaItem
Storage
• Not through HTML <audio> or <video> element
<audio> element is for background audio
• Through Javascript
var player = new Player();
var playlist = new Playlist();
var mediaItem = new MediaItem("audio", audioURL);
player.playlist = playlist;
player.playlist.push(mediaItem);
player.present();
 TV Javascript Framework
Playing Video/Audio?
• `Window` object is non-existent
Use `App` variable instead.
• No `Promise` support
Use core-js
https://github.com/zloirock/core-js
• JavaScript inconsistencies
Math.random().toString(36)
 TV Javascript Framework
Example App
Authentication
Building a tvOS Application
Building a tvOS Application
Building a tvOS Application
Building a tvOS Application
The Stack
• Browserify (Bundling)
• Babel (ES6)
• Hogan.js (mustache templating)
Debugging
Building a tvOS Application
Official  Resources
• Creating a Client-Server App
• TVJS Framework Reference
• TVML Language Reference
• tvOS Sample Code
Source Code
• Xcode Project:



https://github.com/MichielDeMey/cumulus-tv-xcode
• Client Project:



https://github.com/MichielDeMey/cumulus-tv
• OAuth Server:



https://github.com/MichielDeMey/tvos-oauth-flow
Thank You

More Related Content

ODP
Deliverance for Plone, a use case
PPT
HTML5 Presentation
PPTX
Html5 + css3+ java script for future - HTML5
PPTX
tvOS: An Introduction for iOS Developers
PDF
The new Apple TV and the tvOS
PDF
tvOSでWebSocketを使う
PDF
Developing for Apple TV
PDF
Introduction to tvOS app Development !
Deliverance for Plone, a use case
HTML5 Presentation
Html5 + css3+ java script for future - HTML5
tvOS: An Introduction for iOS Developers
The new Apple TV and the tvOS
tvOSでWebSocketを使う
Developing for Apple TV
Introduction to tvOS app Development !

Viewers also liked (20)

PDF
Building Apps for Apple TV
PDF
Develop apps for (Apple) TV
PDF
Apple TV UX: 8 Guidelines for greater Apps
PDF
E0502 01 2327
PDF
Aw2419401943
PDF
User Navigation Pattern Prediction from Web Log Data: A Survey
PDF
On Gr-Separation Axioms
PDF
Ijmer 46055056
PDF
A Novel Data Extraction and Alignment Method for Web Databases
PDF
A Unique Approach for Data Hiding Using Audio Steganography
PDF
Fabrication and Characterization of PPS /40%GF/nano-CaCo3 Hybrid Composites
PDF
Performance Analysis of Trust-Aware Routing Framework for Wireless Mesh Networks
PDF
Experimental Investigation of the Residual Stress and calculate Average Fatig...
PPT
Apstyleppt 140104202730-phpapp02
PDF
Some New Families on H-Cordial Graphs
PPTX
Photography powerpoint
PPT
Writing for pr #2
PDF
Improving the Stability of Cascaded DC Power Supply System by Adaptive Active...
PDF
Spectrophotometric Determination of Cardiovascular Drugs
Building Apps for Apple TV
Develop apps for (Apple) TV
Apple TV UX: 8 Guidelines for greater Apps
E0502 01 2327
Aw2419401943
User Navigation Pattern Prediction from Web Log Data: A Survey
On Gr-Separation Axioms
Ijmer 46055056
A Novel Data Extraction and Alignment Method for Web Databases
A Unique Approach for Data Hiding Using Audio Steganography
Fabrication and Characterization of PPS /40%GF/nano-CaCo3 Hybrid Composites
Performance Analysis of Trust-Aware Routing Framework for Wireless Mesh Networks
Experimental Investigation of the Residual Stress and calculate Average Fatig...
Apstyleppt 140104202730-phpapp02
Some New Families on H-Cordial Graphs
Photography powerpoint
Writing for pr #2
Improving the Stability of Cascaded DC Power Supply System by Adaptive Active...
Spectrophotometric Determination of Cardiovascular Drugs
Ad

Recently uploaded (20)

PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administration Chapter 2
PPTX
history of c programming in notes for students .pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPT
Introduction Database Management System for Course Database
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
PTS Company Brochure 2025 (1).pdf.......
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Digital Strategies for Manufacturing Companies
System and Network Administration Chapter 2
history of c programming in notes for students .pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
2025 Textile ERP Trends: SAP, Odoo & Oracle
How to Choose the Right IT Partner for Your Business in Malaysia
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
L1 - Introduction to python Backend.pptx
Reimagine Home Health with the Power of Agentic AI​
Introduction Database Management System for Course Database
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
CHAPTER 2 - PM Management and IT Context
VVF-Customer-Presentation2025-Ver1.9.pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Ad

Building a tvOS Application

  • 1. Building a  tvOS Application using TVJS & TVML
  • 6. tvOS App  TV Markup Language
  • 7. <?xml version="1.0" encoding="UTF-8" ?> <document> <descriptiveAlertTemplate> <title>Terms of Service</title> <description>Lorem ipsum (…)</description> <row> <button> <text>Accept</text> </button> <button> <text>Decline</text> </button> </row> </descriptiveAlertTemplate> </document>  TV Markup Language
  • 8.  TV Markup Language
  • 10. tvOS App  TV Javascript Framework
  • 11.  TV Javascript Framework • Supports some standard DOM classes DOMParser Event XMLSerializer • Has some tvOS specific classes you can work with XMLHttpRequest MediaItem Storage
  • 12. • Not through HTML <audio> or <video> element <audio> element is for background audio • Through Javascript var player = new Player(); var playlist = new Playlist(); var mediaItem = new MediaItem("audio", audioURL); player.playlist = playlist; player.playlist.push(mediaItem); player.present();  TV Javascript Framework Playing Video/Audio?
  • 13. • `Window` object is non-existent Use `App` variable instead. • No `Promise` support Use core-js https://github.com/zloirock/core-js • JavaScript inconsistencies Math.random().toString(36)  TV Javascript Framework
  • 20. The Stack • Browserify (Bundling) • Babel (ES6) • Hogan.js (mustache templating)
  • 23. Official  Resources • Creating a Client-Server App • TVJS Framework Reference • TVML Language Reference • tvOS Sample Code
  • 24. Source Code • Xcode Project:
 
 https://github.com/MichielDeMey/cumulus-tv-xcode • Client Project:
 
 https://github.com/MichielDeMey/cumulus-tv • OAuth Server:
 
 https://github.com/MichielDeMey/tvos-oauth-flow