youI.tv - goatandsheep/goatandsheep.github.com GitHub Wiki
If you are building video streaming apps and want out of the box support for more platforms than you can afford to own, Youi.TV is a great place to make it happen. It's a cross-platform app framework built on top of React Native.
It uses C++ and Ruby and too many other languages to generate platform-optimized video streaming apps.
However, if you want a single-codebase-fits-all solution, Youi.TV doesn't have any documented solutions that work on web. So today we're going to see if we can make that happen.
- CLI:
youi-tv
- npm package:
@youi/react-native-youi
- make sure to do version numbers without symbols, e.g.
5.3.0
not^5.3.0
- make sure to do version numbers without symbols, e.g.
- After installing the basic engine, we tried looking at
create-youi-react-native-app
, but were disappointed with an app with deprecated dependencies. The recommendation is to start with Auryn. Auryn also has a better proportion of vanilla RN code.- Make sure you find out what version of CMake works with your version of youi-tv before blindly installing cmake from
brew
. then find the right version of brew here and at that commit, dobrew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/<commit-hash>/Casks/cmake.rb
- Make sure you find out what version of CMake works with your version of youi-tv before blindly installing cmake from
-
index.youi.js
is equivalent toApp.jsx
- This is problematic for react native app helpers like Expo because they expect the top level file to be
.jsx
or.tsx
.
- This is problematic for react native app helpers like Expo because they expect the top level file to be
- Component support:
- Vanilla RN supporting AE components
- AE components supporting Vanilla RN components: to understand equivalencies, you must look at the list of Vanilla RN components that You.i supports. Once you do this, you notice 2 components are not available: Slider and Timeline.
- Slider was actually deprecated from the list of included components and moved to a community-maintained repository, which should be installed.
- Timeline is actually a component representing animations. You'll have to figure out something clever, perhaps with the react-native animation package.
- Note that AE components can be children of Vanilla components, but Vanilla components cannot be children of AE components.
- Routing
- Linking to modules:
- iOS:
- https://stackoverflow.com/a/56340383
./node_modules/.bin/react-native run-ios --project-path ./youi/build/ios
- iOS:
- Building
DEVELOPMENT_TEAM_ID=AZVF44667G ./youi/generate.rb -p <platform>
- Creating a new page:
- Copy and make a new page
- Modify navigation bar to include button (easy enough)
How to start a project, ignoring After Effects
- Download Auryn
- Just keep it for reference as it is very complete
- Clone this sample project. It's barebones, but it works.
- Start your react native server
- Generate the raw platform code
- Build the platform code
- Run the app
- The current CMakeCache.txt directory /youi/build/osx/CMakeCache.txt is different than the directory /build/osx where CMakeCache.txt was created
- Delete /youi/build/osx and rebuild