fluffyemily / cross-platform-rust Goto Github PK
View Code? Open in Web Editor NEWExample project showing a rust library running on iOS
Example project showing a rust library running on iOS
Sync data between devices
Currently, all data calls are synchronous which could cause problems when things go wrong. Enable the ability to set an async callback in the native platform that is called from Rust with the required return objects when the operation is complete.
Complex Rust example app Toodle is available on iOS only. Implement app using the same library but called from Javascript.
Complex Rust example app Toodle is available on iOS only. Implement app on Android using the same library but with added JNI.
Figure out how to autogenerate bindings for JNI, Swift & JS flavours automatically. Should utilise existing tools where possible (e.g. cbindgen)
Logins and Categories/Items are not necessarily required together. Enable the ability, through crates, to build a library that contains any combination of data types.
Instead of having to go through the rigmorole of creating multiple libraries for our different architectures, it would be nice if we had a simple script that could do it all for us.
This should include tackling the annoying replacing libraries inside Xcode problem.
If I try to run the basic example on Android 4.1 (16) I getting this exception while loading jni library:
Cannot load library: reloc_library[1306]: 1141 cannot locate '__register_atfork'
How to fix this?
Sometimes when an error is thrown in Rust, we may want to propogate that error through to the native platform.
Hi, I was following the excellent article and came across this problem:
$ ${NDK_HOME}/build/tools/make_standalone_toolchain.py --unified-headers --api 21 --arch arm64 --install-dir NDK/arm64
usage: make_standalone_toolchain.py [-h] --arch
{arm,arm64,mips,mips64,x86,x86_64}
[--api API]
[--stl {gnustl,libc++,stlport}] [--force]
[-v]
[--package-dir PACKAGE_DIR | --install-dir INSTALL_DIR]
make_standalone_toolchain.py: error: unrecognized arguments: --unified-headers
It looks like the --unified-headers
option has been made the default. Does it make sense to update the article accordingly?
Create a new project that uses the Toodle app created in complex objects
as a base but that will use mentat as a data store instead of SQLite
Can we present the same UI but using RSX from inside our rust lib?
https://github.com/victorporof/rsx
https://github.com/victorporof/rsx-renderers/
How do we expose a different UI according to our platform - desktop has very different UI requirements to mobile!
Project will be callable from JS, but can it be called from JS running as part of ReactNative?
It would be pretty awesome of we could provide appropriate packages for the relevent dependency management tools that our platforms might use, so that all clients have to do is import the dependency and don't have to worry about native wrappers and getting it right.
Target:
Cocoapods(iOS)
Carthage(iOS)
Gradle(Android)
npm(JavaScript)
any others?
I've met some issues trying to add targets for rustup
error: component 'rust-std' for target 'armv7-apple-ios' is unavailable for download for channel stable
error: component 'rust-std' for target 'armv7s-apple-ios' is unavailable for download for channel stable
error: component 'rust-std' for target 'i386-apple-ios' is unavailable for download for channel stable
only 2 targets passed
x86_64-apple-ios
and aarch64-apple-ios
Current basic project is only available in iOS and Android. Enable project to be called from Javascript too.
This should cover:
Node
XPCOM
Basicallly automate the setup steps described in the basic project.
of crates and schema. How should this work.
I have tried some solutions on StackOverFlow, but still can not debug rust code on my demo project.
We currently only expose structs, we should also expose enums
While basic example runs ok (on simulator), complex doesn't compile.
Swift compiler breaks while trying to compile ios project. Here is output:
After commenting out most of properties it starts to compile but it doesn't work with all uncommeted
I'm not from Rust world. However, I want to use a Rust library. Based on https://github.com/sindresorhus/gifski-app/tree/master/gifski-api, there is a possibility to do build the Rust lib, port it as C API and use it through JNI. Any help?
Anyone else get this error?
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__register_atfork" referenced by "libgreetings.so"
I'm here to point a bug in one of the steps in the documentation. Specifically the part where the .so
is soft linked to the proper jniLibs/ folder. That won't work, Gradle won't build using symbolic links as deps they need to copied directly.
thanks for the helpful tutorial. the one I was following was out of date I think.
Currently we are only passing objects from Rust to the native platform. We should demonstrate how to do the reverse - pass native objects over to Rust.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.