Hacker News new | ask | show | jobs
by rohan1024 2196 days ago
Hey if you are starting with Android development, take a look at http://flutter.dev
1 comments

I may be wrong about it (because I haven't tried it enough) - Flutter feels kinda "reacty" (I think it is) and "javascriptish" to me. I was made/forced to work on react/javascript/angularjs for few months which started in the guise of "urgent help needed for 2 weeks in another team". It was trauma.

Besides I had never been able to get into anything JS or related. I started coding on C, then Python, then Java (very little Scala) and now Java and Kotlin. I dabbled with Go a little and it was nice.

Recently I had to make some changes to a react native component in one of our Android apps and it was a nightmare even though I was able to make those changes and ship very quickly. These just never made sense to me. As in - "why"? I think I am just averse/allergic to react/js/etc, or maybe I am not able to think deep enough, or something like - I am not wired a particular way :/

I've only done some light dabbling with JS (jQuery, Angular, and a few react/Vue tutorials), and I'm not much of a fan.

Flutter, however, has been awesome.

I'm actually putting the final touches on a project I've built during the quarantine with Flutter. It started out as an Android app built with Java, then I rewrote it in kotlin using the new (at the time) architecture components (which I found to be a big step forward from Java). Eventually I just couldn't find the time to finish the iOS version and decided to start fresh in flutter, and the experience has been amazing.

I find almost all of the framework much much more intuitive than either native platform's, and continually think to myself "this is how app development should have been all along."

Also, the app performance is buttery smooth :)

Anyway, clearly I'm a fan so I'd say Flutter is worth looking at. For me, perhaps the biggest advantage is that I have found the learning curve and tooling to be way easier to get through and understand than with either native platform.

I haven't dug into Flutter too heavily yet. While I really like Flutter as a portable UI toolkit I have reservations about a) Dart as a language looks a bit like a step backwards from Swift & Kotlin, at least TS is portable and useful elsewhere and b) Outside of UI work I feel like Flutter is a little lacking, there is a bit missing in terms of databases, networking, state management. Interop with native modules is also a bit messy and painful last time I checked. I'm guessing these reservations will diminish in time provided Google keeps pushing Dart and Flutter forward.
Those were some of the same concerns I've had going into it, but I've found that the plugin library for flutter is actually already surprisingly mature, both for official plugins and third party. Adding and using plugins is also easier than any other tool chain I've used.

Sqflite, rxdart, etc have worked well for me, though I will admit that this project is mostly just UI/CRUD so I've had to do very little native work.

I guess I'd say that flutter is already in a really amazing place for apps that aren't heavy on hardware-specific dependencies (like camera, AR, etc.).

I have my fingers crossed that the community will continue to grow to the point that it will flourish even if Google pulls official support at some point...

Currently rewriting an android app that had a cpp .so for its main functionality.

It's a really great bit of kit. However I'd say also requires a bit more "up front" learning if like me you've avoided js as much as possible.

But the whole toolchain is so smooth and simple.

Then of course I'd intend to build for iOS. Not even looked into that yet

Yes Android in general has improved a lot in the last 3 years (imo). What drove me to Flutter was not having enough time to do both Android and iOS.

I've also found doing animations and prototyping with UI ideas to be much much easier and faster in flutter than in Android.