itamadev / golang-flutter-app-ffi

A Flutter app with Golang as a backend using FFI to bind and communicate between them
MIT License
20 stars 4 forks source link

Testing out FFI on Mobile #4

Open itamadev opened 1 year ago

itamadev commented 1 year ago

Overview

Testing the FFI on mobile devices apart of the Flutter Supported Platforms

Platforms

prologic commented 1 year ago

cc @mearaj for our Mobile App for Salty.im -- If we can get this going, we can finally build a nice UI/UX in Flutter with a Go backend 👌 (as a library, without having to rewrite things in Dart 😅)

itamadev commented 1 year ago

cc @mearaj for our Mobile App for Salty.im -- If we can get this going, we can finally build a nice UI/UX in Flutter with a Go backend 👌 (as a library, without having to rewrite things in Dart 😅)

That sounds amazing! I'm thinking about taking this small idea and elevating it into a more refined and robust package/module for Golang and Flutter (Dart) integration, if you'd (@prologic) be interested in something like that I'd really like to hear about it, that's awesome either way!

prologic commented 1 year ago

cc @mearaj for our Mobile App for Salty.im -- If we can get this going, we can finally build a nice UI/UX in Flutter with a Go backend 👌 (as a library, without having to rewrite things in Dart 😅)

That sounds amazing! I'm thinking about taking this small idea and elevating it into a more refined and robust package/module for Golang and Flutter (Dart) integration, if you'd (@prologic) be interested in something like that I'd really like to hear about it, that's awesome either way!

This would be totally amazing! 🙇‍♂️ This is the only thing stopping us from creating a first-class Mobile App for the Salty.im messaging protocol (e2e encrypte decentralized sed and inspired by Twtxt and the IndieWeb).

If you managed to do this part, I am 100% confident we can get a really good Mobile App out in no time 🥳

itamadev commented 1 year ago

cc @mearaj for our Mobile App for Salty.im -- If we can get this going, we can finally build a nice UI/UX in Flutter with a Go backend 👌 (as a library, without having to rewrite things in Dart 😅)

That sounds amazing! I'm thinking about taking this small idea and elevating it into a more refined and robust package/module for Golang and Flutter (Dart) integration, if you'd (@prologic) be interested in something like that I'd really like to hear about it, that's awesome either way!

This would be totally amazing! 🙇‍♂️ This is the only thing stopping us from creating a first-class Mobile App for the Salty.im messaging protocol (e2e encrypte decentralized sed and inspired by Twtxt and the IndieWeb).

If you managed to do this part, I am 100% confident we can get a really good Mobile App out in no time 🥳

Awesome 💯 I'll be sure to keep you updated here about this current bug 🐛

And when there is a more dedicated project for this idea I'll update it here.

prologic commented 1 year ago

How are we going this this effort? 🤔

itamadev commented 1 year ago

I've been testing this a bit and had some success running the app on Android, I still want to try some other approaches to fixing this, when this #8 PR is resolved I'd probably say you can test using it again and we'll go from there.

Might have to do some specific configurations just for running on IOS.

prologic commented 1 year ago

Let me know if you need me to test on iOS -- I'm setup with XCode and have an Apple Developer account and iPhone(s) 👌

itamadev commented 1 year ago

Sounds good, I'll update here when this needs testing

prologic commented 1 year ago

@itamadev Any progress on this? 🤞

itamadev commented 1 year ago

Hey! been some time since I've had time to dabble with this, to be honest, but I think over the weekend I might be able to put some hours into this, I think I have some solution to this, but I still need some testing to do 😸

itamadev commented 1 year ago

Hey, sorry for this issue taking so long, I've had some pretty busy days at work 😎,

I've been trying to devise a way to use FFI in a generic approach to fix this problem but it looks like iPhone and Android phones have to use different logic for this to work. I'll try to see if I have to implement some switch for this that checks what machine the code runs on.

For a more realistic timeline I'll try WASM compilation which should be way better for this and should be better to implement, I'll shortly create some issues and start implementing this solution soon (hopefully).

I'll be sure to update my progress on this repo 👍