Nexusoft / nexus-mobile

The Mobile interface for the Nexus Blockchain.
http://crypto.nexus.io
4 stars 2 forks source link

Support for developing lite core on Flutter. #14

Closed rayanfer32 closed 3 years ago

rayanfer32 commented 3 years ago

Flutter is worthy choice for developing Dapps for multiple platforms (web + mobile + desktop + embedded) and is much easier for people who already know react. It can save a lot of work needed to tweak react code to reactnative. Because flutter has same codebase for all the platforms and support for FFI to run native C/C++ code too.

I would like to know whether flutter is considered and dropped for a specific reason ?

Integrating Native C++ code with flutter.

https://medium.com/flutter-community/integrating-c-library-in-a-flutter-app-using-dart-ffi-38a15e16bc14

Qrysto commented 3 years ago

I know many people endorsed Flutter, but have always assumed that it'd be easier to adapt a desktop app from React to React Native than to Flutter, so Flutter hasn't really been considered. Now it's a bit suprising that you say Flutter is easier for people who already know React (than React Native), though I still highly doubt it, could you elaborate on why?

On the core's side, I'm not the person directly in charge of making the C++ code run on mobile, but I think the core code is currently independent of which UI framework used, so I'm not sure how Flutter would help here. @KenCorma what do you think? Anyways, now that the core adaptation on mobile is probably considered done, knowing if there's any other better solution is nice but won't change our choice of framework anymore.

rayanfer32 commented 3 years ago

As i have seen that ... react cannot be run as native mobile or desktop app.. and you've got to tweak the react codebase to reactnative . Where as there is no hassle to do these changes ... as flutter can run on any platform out of the box.

Qrysto commented 3 years ago

...you've got to tweak the react codebase to reactnative

This is what I don't understand. We already have a React/javascript codebase of the desktop wallet, so we can (and we did) reuse pretty easily some parts of the desktop wallet on the mobile wallet because they're both in React and javascript. To me, it's pretty obvious that it's easier to reuse a React codebase on a React Native project than to create a new project on Flutter (which has different syntax and written in another language, Dart)

rayanfer32 commented 3 years ago

Yes the project has progressed far with react already. Now it seems better to stick with react to achieve our goals quickly.

Qrysto commented 3 years ago

Ok so I'm closing this, but feel free to keep dicussing about React vs. Flutter if you want, that could be helpful for our future projects. Also, thanks for sharing the info regarding C++ integration on Flutter.

rayanfer32 commented 3 years ago

Yea choosing a stack is really the most important thing.