You.i Platform introduces broad cross-platform support from mobile devices to 10-foot user interfaces. For React Native developers, You.i Platform will feel natural, adding video-specific components and APIs with extended platform support. In addition, our Design Workflow introduces a new level of design with smooth motion graphics through a plugin for Adobe After Effects. The Design Workflow integrates with both our React Native and C++ APIs.
Our single codebase allows your development team to build once and deploy everywhere. Focusing on a single app experience eliminates redundant development efforts and reduces costs.
The patented You.i Design Workflow gives designers and developers the power to create elegantly designed apps.
You.i Platform has a portable rendering engine with native-level performance capabilities on an extensive list of supported platforms. Older and low-powered platforms are gracefully handled.
You.i Platform SDK capabilities are explained in more detail below:
Designers create all the user interface elements for You.i Engine apps in Adobe After Effects (AE). In general, each screen in the app has its own AE file. Designers build these screens using standard AE elements, such as buttons and lists. At runtime, these elements are bound to underlying C++ classes, called views, provided by You.i Engine. Designers can also use AE to control responsive screen and dynamic layout behavior.
You.i Engine provides an AE Preview tool, launched from within AE. Using the Preview tool, designers can view their responsive screen and dynamic behavior under various conditions and sizes.
You.i Engine also provides an AE Exporter that extracts the required data about the screen layout, controls, and motion, and converts it into a format consumable by the Engine.
You.i Engine builds scenes using a tree of UI elements. This is a familiar architecture for developers acquainted with other GUI toolkits or game engines. At runtime, You.i Engine retrieves the visual and animation data from the exported files and constructs a scene tree that contains all the elements for a given screen, such as buttons, text, and images. You.i Engine automatically handles the rendering and animation of UI components such as button presses and list scrolling. All the developer has to do is create connecting code to handle UI events (for example, reacting to a button press).
You.i Engine detects the screen size at runtime and automatically lays out and scales the items on the screen, according to rules specified in the AE file.
When using a TV remote control to interact with an app, a user highlights an on-screen control, giving it focus. Based on the layout of controls on the screen, You.i Engine automatically determines which control has focus, and which control should get focus when the user presses the remote’s direction keys. Normally, you can rely on You.i Engine focus rules, but you’re free to override the default behavior.
As expected, You.i Engine allows you to specify which animations play when the user transitions from one screen to the next. However, You.i Engine allows you to drive the animation behavior from AE, which provides the artist and motion designer more finely tuned control over animated visuals and sequences.
Developers can break complex visuals containing many elements into smaller pieces and then assemble them into a larger screen design while the app is running. Smaller elements also allow animation sequences to be reused across the app, as well as providing a means for the precise control of screen elements. When needed, these pieces can even be drawn off-screen during the screen assembly process, enabling more dramatic visual effects.
This set of features contains everything else that a developer needs to build an app, such as event and input handling, managing memory, and networking.
You.i Engine provides many features to help developers solve some unique problems for cross-platform development. For example, in a typical video streaming app you could have hundreds or thousands of assets streaming in and out of the app while browsing a content library. In a cross-platform world, devices can have very different memory profiles. You.i Engine provides various features to enable an app developer to manage memory limits more effectively.
Networking is a fundamental aspect of any video streaming app. You.i Engine provides an easy-to-use API for web service calls and resource downloads. Everything related to networking and resource decoding is designed for performance and optimal viewing experiences.
You.i Engine apps are typically event-driven (for example, a button is pressed, a timer fired, an image downloaded). You.i Engine has an intuitive callback mechanism for sending event notifications. These API features can help make app code more maintainable.
The UI is rendered through a custom cross-platform rendering pipeline that fully leverages GPU hardware acceleration on all platforms to deliver the best performance possible. The pipeline is built on top of standard GPU APIs, with most platforms using OpenGL. DirectX is used for Microsoft platforms, and we provide custom GPU integrations for other types of devices.
You.i Platform provides developers with out-of-the-box abstracted bridges to common underlying platform capabilities. App developers integrate with a single interface, and You.i Engine automatically handles the implementation tied to the underlying platforms. Use cases include revealing the system keyboard, launching web views (often used in authentication workflows), and accessing secure platform storage.
The amount of platform-specific code required varies from app to app, but minimizing such code allows you to save time when upgrading your app to a new OS version on all your supported devices.