Development Process
Prerequisites
Before you start coding, make sure you have:
A compatible development environment (e.g., Linux, macOS, or Windows).
The NYRA SDK or any relevant tooling needed for extension creation.
A basic understanding of the languages you plan to use (e.g., C++, Python, etc.).
Setting Up Your Environment
Configure the NYRA SDK Follow the NYRA SDK setup instructions. You may need to set environment variables or install additional packages.
Initialize Your Project Create a folder for your project and run any provided NYRA commands to initialize your app’s structure.
Creating an Extension
Extensions are self-contained modules that handle specific tasks. You can build them in various languages:
Select a Language Pick a language that suits the functionality you need. For instance, use C++ for performance-oriented tasks, or Python for quick prototyping and access to AI/ML libraries.
Define Extension Interfaces Outline the data your extension sends and receives (e.g., commands, audio frames, etc.).
Write the Code Implement your logic. For example, if you’re building a video processing extension, include functions that capture and process frames.
Compile or Package Depending on your language, compile or package the extension. This step ensures your module is ready to be loaded by the NYRA runtime.
Testing Your Extension
Integration Tests Integrate your extension into a larger NYRA app to see how it interacts with other modules. Ensure all data flows and command messages work as expected.
Graph Setup
When your extensions are ready, define how they connect in a graph:
Create a Graph Definition Specify which extensions will communicate and the types of data flows (Command, Data, Video Frame, Audio Frame).
Link Extensions Map out inputs and outputs so that each extension receives the correct data.
Handle Multiple Graphs For complex apps, you may have multiple graphs running simultaneously. Ensure each graph is configured properly and won’t conflict with others.
Deployment
Bundle Your App Package all extensions, configuration files, and graph definitions into a single deployable unit.
Run in NYRA Runtime Launch your app via the NYRA runtime. Monitor logs to confirm everything works as expected.
Publish to NYRA Cloud Store (Optional) If you want to share your extensions or complete app, you can upload them to the NYRA Cloud Store. This makes your modules available for others to download and integrate.
Best Practices
Maintain Clear Documentation Document each extension’s functionality and data flows.
Version Your Extensions Use semantic versioning to keep track of changes or improvements.
Automate Testing Implement continuous integration and automated testing to ensure code quality.
Summary
Developing with the NYRA framework involves:
Setting up and configuring your environment.
Creating extensions in your preferred programming languages.
Testing both at the individual extension level and within larger apps.
Organizing data flows through graph definitions.
Deploying and optionally sharing your work via the NYRA Cloud Store.
By following this process, you can build sophisticated, modular applications that make the most of the NYRA framework’s flexibility.
Last updated