superpoweredSDK / Low-Latency-Android-iOS-Linux-Windows-tvOS-macOS-Interactive-Audio-Platform

🇸Superpowered Audio, Networking and Cryptographics SDKs. High performance and cross platform on Android, iOS, macOS, tvOS, Linux, Windows and modern web browsers.
https://superpowered.com
1.32k stars 284 forks source link

Support for Cordova and React Native? #421

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hello SuperpoweredSDK,

Is it possible for you guys to make this package work for React Native and Apache Cordova using javascript? We would greatly appreciate that. https://facebook.github.io/react-native/ https://cordova.apache.org

CodeJd commented 6 years ago

For react native you have this: https://github.com/MathieuDebit/react-native-superpowered

ghost commented 6 years ago

@CodeJd Wow! that's amazing! is it a perfect implementation for react native? I want to try it for sure... and I would still like to see an official react native and cordova version of Superpowered SDK triggered by javascript or typescript. and I want to safely ask if there's a react native version of AudioKit (www.audiokit.io)?

Low latency professional audio plugin is missing from react native NPM catalogue... and I think this Superpowered SDK will do the job easily. Cordova implementation would be great too.

superpoweredSDK commented 6 years ago

This will unlikely to happen, because low latency, real-time and high performance data processing can not be done in upper level frameworks.

Superpowered directly reveals all data connections/memory buffers, so it's very open, and easy to do sophisticated custom processing. This is only possible in C/C++ (and Objective-C++ at Apple).

Full upper level support would only possible with complex and abstract connection/graph management. That's why you can't do sophisticated custom things with Core Audio/AVAudioEngine and Swift for example.

The best compromise is to write all the high performance code in the truly native layer, then bridge it to your high level framework. Identically to the framework suggested by CodeJd.

ghost commented 6 years ago

The best compromise is to write all the high performance code in the truly native layer, then bridge it to your high level framework. Identically to the framework suggested by CodeJd.

Yes, this is the only solution... basically it needs a bridge that can trigger functions & features of Superpowered SDK by using TypeScript / Javascript from upper level (React Native).

I would like to program this myself when I learn more about architecture of superpowered SDK....