Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toshi0383/TVMLKitchen
Swifty TVML template manager with or without client-server
https://github.com/toshi0383/TVMLKitchen
swift tvml tvos
Last synced: 15 days ago
JSON representation
Swifty TVML template manager with or without client-server
- Host: GitHub
- URL: https://github.com/toshi0383/TVMLKitchen
- Owner: toshi0383
- License: mit
- Archived: true
- Created: 2015-12-28T04:21:34.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-20T11:05:39.000Z (over 7 years ago)
- Last Synced: 2024-10-12T13:43:41.100Z (30 days ago)
- Topics: swift, tvml, tvos
- Language: Swift
- Homepage:
- Size: 2.07 MB
- Stars: 81
- Watchers: 10
- Forks: 12
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# TVMLKitchen😋🍴 [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://raw.githubusercontent.com/Carthage/Carthage/master/LICENSE.md) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![CocoaPods](https://img.shields.io/cocoapods/v/TVMLKitchen.svg)]() [![CocoaPods](https://img.shields.io/cocoapods/p/TVMLKitchen.svg)]() [![Build Status](https://www.bitrise.io/app/de994b854e5c425f.svg?token=GZp-KU8RDjmewA2Hdj27fQ)](https://www.bitrise.io/app/de994b854e5c425f)
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](https://developer.apple.com/library/tvos/documentation/LanguagesUtilities/Conceptual/ATV_Template_Guide/).
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](./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](./SampleRecipe))
- UIKit Base Hybrid App (Demo: [NativeBaseSample](./NativeBaseSample))# Installation
## Carthage
Put this to your Cartfile,
```
github "toshi0383/TVMLKitchen"
```Follow the instruction in [carthage's Getting Started section](https://github.com/Carthage/Carthage#getting-started).
## Cocoapods
Add the following to your Podfile
```
pod 'TVMLKitchen'
```# References
For implementation details, my slide is available.
[TVML + Native = Hybrid](https://speakerdeck.com/toshi0383/tvml-plus-native-equals-hybrid)# Contribution
Any contribution is welcomed🎉