Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Flutter vs. React Native – which one do you prefer?
21 points by busymom0 62 days ago | hide | past | favorite | 8 comments
Hello HN:

I have been developing apps for iOS and Android for about 10 years. Started with Objective C and Java and then moved to Swift and Kotlin. I don't have much web dev experience though (mostly vanilla JS) but do have lots of mobile dev and backend dev experience in node js and bit of Rust.

Have you switched from native to cross platform dev?

Have you tried both flutter and react native?

Which one did you prefer and why?


Edit: I did start learning flutter yesterday and it seems pretty decent so far. 2 problems I do have are:

1. Too must nesting (which some say can be solved by breaking down everything into smaller widgets but seems like a lot of extra code work).

2. Flutter for web dev is absolute trash and useless as it seems to just draw the content using canvas instead of actually creating the html tree.

Flutter, for sure. It feels like a much more thoughtful system overall. I'm not as impressed with the Dart ecosystem as I am with the Flutter one, mostly because the Dart ecosystem lacks widely used/supported frameworks for server-side development. I would LOVE to completely remove Javascript from my life and if there were a solid server-side framework for Dart, I could use it literally everywhere.

Re your problems:

1. Yeah, break widgets down. Yes, it's more work, but it's necessary in the same way that breaking code down into smaller functions is necessary. You don't just cram everything into one file and you shouldn't expect that a mega-widget will be the right way either.

2. Flutter for web is still very early on. You should know that there are two renderers (one that uses canvas and one that uses real dom elements), but they're both just "okay" at this point. They have been rapidly improving however -- the difference between now and this time last year is significant. It'll keep getting better and in the mean time, it's usable enough. The download sizes are huge and sometimes rendering can be a little janky, but again: it'll get better. For me, the promise of a unified system for desktop, web, mobile, and even some limited 3rd party embedded Linux support (https://github.com/sony/flutter-elinux) is really appealing.

Regarding 2, I wasn't aware that it could be changed to do real Dom elements too. I will look into changing the renderer. Because canvas based pages are basically useless for browser (right click to copy link/open in new tab, accessibility etc don't work). The size is huge too as you mentioned.

How are flutter apps for iOS and android in terms of size btw? Do they have the same size problem as web?

Only tried React Native, but until Flutter fixes the SEO (your 2nd point) I am not really interested.

What I really like about RN: The fact that you can write your data layer in javascript and then use it "anywhere", even offer it to public if you are careful. If you use typescript it's really nice if you have requests and responses defined. You can use the same types on frontend/backend/mobile.

I am not a fan of projects where you write the app once and it's available everywhere. Fundamentally apps and websites are different and you don't want to have 3000 ifs catering for different platforms everywhere.

Also, developer availability. More devs know JS than Dart imo.

I've never tried flutter, but from what I've seen it's pretty amazing.

If your wanna learn something just for mobile development, I'd recommend flutter (even if I've never tried it before). But if you want more than mobile dev, I'd pick react (or alternative like preact), simply because it'll open the world of js for your (yeah there's a lot of issues around js but if you notice, most people bashing on js are just random haters) which can lead to way more than frontend work.

That seems way too new currently. Also iOS isn't supported yet?


Flutter 100%

The JS ecosystem is pure evil + legacy junk. Dart feels much more stable

I edited my question with 2 things I have found to be not good about flutter (other than that, it's been pretty good so far honestly). Thoughts?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact