TVML vs Custom App for Apple TVOS
Asked Answered
A

3

17

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?

Allain answered 5/11, 2015 at 12:30 Comment(0)
R
19

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.

Rosariorosarium answered 7/11, 2015 at 13:31 Comment(7)
Helpful. Waiting for you to complete your native App and update :)Allain
Thanks, We'll be doing a big push on it next week. Will update soon as I have some useful information.Rosariorosarium
@Rosariorosarium - I am planning to build an application similar to Netflix, Hulu. What would you suggest i should go for TVML or Custom native application? . I do understand the fact that TVM is good for prototype and basic applications. I do agree that if we want to add more control on the application we should go for Native app. Since you have experience in both can you share some light on which one should i go for as of now? Also if you are using TVML do you have any control over voice search because for native i don't see siri has been open for developers yet.Focus
@iWorld personally I would stick with native if your comfortable with it, this gives you more options during development, allowing you to use external libraries and custom interfaces. Our project got delayed so we are picking it back up early Jan an integrating things like crash reporting, analytics, advertisements, a custom recommendations module and some other things. Siri has not been opened up to developers as of yet, I looked into this myself, unfortunately I'm not sure we'll get access to this. More than likely available to provide objects for Siri to use for indexing.Rosariorosarium
@Rosariorosarium :Thanks for the reply. Appreciate it. Well i have been doing iOS development i am comfortable to go with native application reason being more control, customization. I do have a lot of external framework which i want to plugIn in the application for videos and stuff. So i think your answer very much on the point that i should go for native one. Thanks let me know if you have more suggestions to start with as this would be my first tvOS application. Any pointers or help is really appreciated.Focus
@Rosariorosarium : What i see from the behaviour for TVML application that contents in tableview/collection view are searchable through siri but for the native application we are not able to use siri search for the same. Have you experienced this scenario in your TVML application? I guess netflix and hulu is also shipped with TVML approach and they offer the same.Focus
I haven't actually noticed that no, our current application in the store is using TVML and I haven't had results from our videos from Siri before, I'll have a play around with it. The only way that Siri would know how to index the videos would be by using the TVContentItem type, maybe it auto indexes those as they are used?Rosariorosarium
J
15

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.

Jamaaljamaica answered 5/11, 2015 at 21:51 Comment(2)
Any advantages of not using TVML? Like anything not in reach of TVML?Allain
Fyi, Netflix is using objective-c, not swift or tvml (maybe for the first version of there application)Diahann
H
1

MSK

The primary advantage of TVML is that it is all javascript which appeals to a broader base of developers.

Not sure about your second question regarding developing templates via UIKit

Huldahuldah answered 5/11, 2015 at 19:0 Comment(1)
yes Frank it is obvious. I am wondering if it is the only reason behind TVML or it is something Apple is promoting over custom (media) Apps.Allain

© 2022 - 2024 — McMap. All rights reserved.