Hi Guys,
I did lot of iOS, tvOS and macOS developemnt with UIKit and SwiftUI, but TVML appears to have really steep learning curve. When searching online and in this forum, posts are 7 years old and most often there are no replies. Is TVML something already obsolete and abandoned by Apple? Does it make sense to try quickly building streaming app using TVML? Is it better to start in SwiftUI and build templates from scratch and forget about TVML?
What's nice that I can quickly build a page with collections of videos, however I struggle for several hours to do the simplest thing like adding a simple element with title, subtitle and play button.
Why this doesn't display anything inside stackTemplate?
<banner>
<stack>
<title>My Title</title>
</stack>
</banner>
Why this doesn't display anything inside stackTemplate?
<collectionList>
<shelf id="row0">
<section binding="items:{videos}">
<prototypes>
<lockup prototype="play" videoURL="https://storage.googleapis.com/media-session/sintel/trailer.mp4" >
<title style="margin: 20; color: white; font-size: 60" binding="textContent:{title}"/>
</lockup>
</prototypes>
</section>
</shelf>
If I add image to the loclkup element, it works and displays image and title. But if I want to add only title and subtitle and play button, it doesn't work.
Is img manadatory inside lockup element? In documentation I cannot find, which subelement is mandatory and which is optional.
Why cannot I add stack element as a prototype into the section element?
Although I'm a native developer and don't really like HTML, I thought that TVML works in a similar way and I can add almost any element into any other element, like building HTML and TVML platform will stack up UI elements based on that. However it appears to be severely limited. Rules for even a basic element inside another layout element are so strict that I cannot tell ahead if it's going to work.
Why doesn't it at least display elements that are defined correctly? Usually when one of the elements is invalid, then the whole section or shelf or container in general is hidden from view. It's impossible to build UI from the ground up. For example I thought I could add lockup element with title, see how it looks, than add subtitle and continue adding elements one by one. However if lockup with title simply doesn't display at all, I cannot figure out what's wrong, there is no error message in the console.
Documentation is insufficient, it's not possible to figure out from that how each TVML UI elements works, what's mandatory and what's optional, sometimes I was actually add element inside another element even though docs didn't say it's possible. Like adding stack to some element, which I no longer rememeber.
Is it possible to debug TVML somehow? Is it possible to debug JS in Xcode? Is there any TVML preview like in case of xib or SwiftUI?
So far I always have to rebuild the app and look in the simulator screen. But often it caches the results and I have to delete the app from simulator, clean the build and rebuild again. It's very time consuming.
Is there nay way to clear the cache (hot key)?
Thanks.