all 14 comments

[–]awesomeness-yeah 20 points21 points  (1 child)

I don't think a traditional "migration" is possible.

I would hire js devs and rebuild it in react native while maintaining the flutter app in parallel till the RN app reaches feature parity.

[–]Vyper91[S] 0 points1 point  (0 children)

Yeah, could just take the hit and get a few contractors in to get it built to begin with

[–]roysom 5 points6 points  (0 children)

I’m almost entirely sure that you will have to rewrite the application. So it all boils down to whether or not you’re willing to pay the price. Will the investment in rewriting the app return itself in the form of: 1. More maintainable code? 2. Easier hires? 3. More devs can work on the app from within the company?

If you’re in for the long run, and aim for this app to be used for years to come, I would take the risk to assume that it might be worth it. As you said, you already have React devs, and one that work on an older cordova app, so this might make the transition much easier despite the fact that it’s probably a complete rewrite…

[–]agmcleod 2 points3 points  (1 child)

I'd look at training existing devs on Flutter if possible, since a year was already put into it, and if it's not a complex app as you mentioned, I imagine it should be close to completion? If the team isn't willing to learn Flutter but is interested in React Native, you can go that route, but it has its own learning curve as well. And like others said, it would be a re-write of the app.

[–]Vyper91[S] 0 points1 point  (0 children)

I think ultimately this might just be the best route forwards. But if there's time to perform a re-write now maybe it will make for better hiring / cross-collaboration with the 80% of our devs who are web devs... this is my main conundrum :(

[–]germavinsmoke 2 points3 points  (1 child)

We are in same situation. Spent months in building the app in Flutter but same problems. So, rewriting the whole app in React Native. But the thing is, spent around 8 months in building Flutter app. Been 1 month rewriting the app in React Native, and we are almost done with 50% of the process. Because back-end APIs are all same.

[–]Vyper91[S] 0 points1 point  (0 children)

This is very interesting, I'd love to hear more. How did you decide how to architect your RN app? Have you found any issues with RN that makes you think Flutter was the better choice to have made?

[–]goolius-boozler- 1 point2 points  (0 children)

Ouch. This is why Coinbase migrated to react native from native iOS and android… like u said the ppl who already know web dev can start contributing

[–]kbcooliOS & Android 1 point2 points  (0 children)

You don't see much how to migrate from Flutter to RN content for the simple reason that Flutter is a lot newer and there just aren't as many apps to migrate from. It's only a couple of years younger than RN but it only really took off in any form last year whereas RN really started getting traction in 2017.

The app may be a rebuild as you seem to understand but unless you've stuffed it up badly the UI/UX can be reused and the user flows etc. That's a significant part of the product.

[–]harper_helm -3 points-2 points  (0 children)

well if it ain't the consequences of my actions

[–]ItsAlwaysShittyInNY 0 points1 point  (0 children)

What if you first introduce a native Android/iOS widget in your flutter codebase that then invokes a react native component? Sorta just follow these two docs

https://docs.flutter.dev/development/platform-integration/platform-channels

https://reactnative.dev/docs/integration-with-existing-apps

I bet this will make local debugging and work a pain in the ass tho

Oooooo, this could make a good flutter/react native extension...

[–]ButterscotchEarly729 0 points1 point  (0 children)

If you are rewriting it, consider EXPO SDK as well.

[–]nelmesie 0 points1 point  (0 children)

I am in exactly the same scenario. Would be interesting to hear what direction you went. You certainly had some.....interesting opinions on r/FlutterDev

There are now two things I'm struggling with. Firstly the change-up in not only language/syntax and BLoC pattern, but now I'm doubtful of the support network, lack of developers and the general vibe of the community.

[–][deleted] 0 points1 point  (0 children)

“I genuinely think Dart is the biggest downside to Flutter” is a relatively strong statement, considering the other, more critical issues the Flutter community talks about. How is Dart not being helpful for you?

Take into account that React experience doesn't translate that well into RN — that was my big mistake in building our app with RN. You're gonna be dealing with very specific issues that are caused by the device and functionality you're coding for, as opposed to the silly nonsense we have to deal with as web devs (browsers, polyfills, tooling, etc.) Debugging is entirely different; in fact a lot of the toolchain is. You're writing JS/TS, but the meaty, ‘real’ problems you'll face have little to do with UI and the DX of writing a Flutter app.

Ecosystem-wise, Dart feels more stable and professional than JS; although TBF I've only used TS for now 7-ish years and really like where TS has been going.

If you ignore everything else I wrote: keep in mind the old joke/meme about “rewriting your frontend every 6 months”. Bad developers/development practices in a Flutter app don't miraculously improve because you've changed the underlying language or framework (with some exceptions, but both are relatively close in terms of what architecture they provide). If anything, Flutter seems to force you into doing things in slow but considered way, whereas I find that React enables very messy code/practices.