TVMLKitchen
Swifty TVML template manager with or without client-server
Install / Use
/learn @toshi0383/TVMLKitchenREADME
TVMLKitchen😋🍴

TVMLKitchen helps to manage your TVML with or without additional client-server.
Requirements
- Swift3.0
- tvOS 9.0+
Use 0.9.6 for Swift2.2.
Swift2.3 is not supported. Feel free to send PR.
What's TVML?
Please refer to Apple's Documentation. It's a markup language which can be used only on tvOS. TVML makes it easy to build awesome apps for tvOS.
Why ?
TVML is easy, but TVJS is not really. With TVMLKitchen, loading a TVML view is in this short.
Kitchen.serve(xmlFile: "Catalog.xml")
You don't have to write any JavaScript code at all!
Kitchen automatically looks for the xmlFile in your Main Bundle, parse it, then finally pushes it to navigationController. Please refer to the Documentation for more information.
Available Features
- [x] Load TVML from URL.
- [x] Load TVML from raw XML String.
- [x] XML syntax validation API
- [x] Multi UIWindow Support
- [x] TVML Recipe Protocol
Examples
- TVJS Base Hybrid App (Demo: SampleRecipe)
- UIKit Base Hybrid App (Demo: NativeBaseSample)
Installation
Carthage
Put this to your Cartfile,
github "toshi0383/TVMLKitchen"
Follow the instruction in carthage's Getting Started section.
Cocoapods
Add the following to your Podfile
pod 'TVMLKitchen'
References
For implementation details, my slide is available.
TVML + Native = Hybrid
Contribution
Any contribution is welcomed🎉
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
