Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TVML vs Custom App for Apple TVOS

Tags:

tvos

apple-tv

Are there any advantage of using TVML over custom App (media based App not a game) for Apple TVOS? From what I read from Apple's documentation I could not figure out any such advantage (though it mostly talks about TVML/TVJs).

For iOS (Swift, Objective C) developers, using custom seems like easier, faster and with more possibilities.

I think whatever templates are provided by Apple can be build using UIKit because internally it is UIKit. Right?

[Update]

Let me rephrase my original question as the answers so far are not given any points in favour of custom App. I agree that @shirefriendship has some real valid points in favour of TVML (biggest one is- > App changes possible w/o an App update). Are there any advantages of using custom over TVML? Like anything not in reach of TVML?

like image 410
msk Avatar asked Nov 05 '15 12:11

msk


People also ask

What does TVML mean?

TVML is a form of XML and stands for “Television Markup Language”. TVJS is set of JavaScript APIs which provide you with the means to display apps created with TVML.

What is Tvml app?

A TVML app creates a client-server connection to retrieve information stored on a server. The retrieved information is parsed into a document and displayed on a TV screen. Use this sample code project to create your first client-server app. The app uses JavaScript to load an initial TVML document from a local server.

Can you use Xcode to program an app for an Apple TV?

You can create new apps or use your iOS code as a starting point for a tvOS app. Either way, you use tools (Xcode) and languages (Objective-C, Swift, and JavaScript) that you are already familiar with.


2 Answers

Having already built an application using TVML/JS and now working on a native application I would say that the Javascript option is aimed more towards beginners or basic applications.

TVML applications provide an easier, faster way to build standard applications with common features/user interface. We used it to rapidly build a prototype of an application. Now that we've launched the application and it's getting some uplift (featured in What to Watch and Top Free Apps UK) we are now rebuilding it natively to add additional features such as analytics, crash reporting, custom interfaces and other bits to increase re-circulation and custom recommendations.

@shirefriendship's answer provides a good explanation to the benefits of TVML applications and I think this is a good option for beginners, prototype applications or even basic applications.

Native applications provide alot more control over how the application looks, works and feels. Having access to most of the iOS SDK's allows you to do more such as integrating Cloudkit, develop 2D & 3D games and more.

Once we have finished development of our native TV application I'll update the answer with some more information such as development time between the two different versions, features in the application etc.

UPDATE: To answer your second question, yes you can pretty much develop ANY user interface / template using UIKit, the TVML templates provide user interfaces that would be commonly used / quite handy. Using UIKit you could replicate or customize any of the pre-defined templates or build something completely new.

like image 141
Scriptable Avatar answered Nov 08 '22 14:11

Scriptable


It is true that you have more flexibility with custom UIKit code. With enough time, you could potentially create an app that behaves similarly to a TVML/TVJS app...but why reinvent the wheel?

There are certain advantages to using TVML Templates, even if you are primarily a Swift/Obj-C developer.

  1. TVML templates provide a familiar experience for the user. Have you ever used the Netflix TV app, or HBO GO, or iTunes? They all use TVML Templates and have a distinct look and feel to them. This cuts down drastically on design time.
  2. Templates are incredibly easy to implement, even with very little JavaScript experience. Auto-layout is taken care of for you. Lazy loading images occurs automatically. The behavior of every UI element on the screen has already been taken care of by Apple.
  3. The templates are structured yet customizable. Templates are plug and play, but you can still customize certain aspects of the UI elements Styles and Attributes
  4. You can host your TVML/TVJS files on a web server. This allows you to make changes to your app without your user needing to download an update to your app.
  5. You can mix and match TVML with custom UIKit. Want Custom behavior with UIKit sometimes, but for standard views, you'd prefer a template? Why choose? You can have BOTH in the same app. Check out my answer here that describes how: How To Mix UIKit and TVML Within One App

When in doubt, try it out! Mess around with the Catalog App from Apple and see if you like TVML templates. You might surprise yourself.

like image 36
shirefriendship Avatar answered Nov 08 '22 15:11

shirefriendship