Hacker News new | past | comments | ask | show | jobs | submit login

Flutter -- and I'm in love -- it's like being a Flash developer/designer from 2006 all over again :)



So, soon to be obsolete, abandoned by s/Adobe/Google/g? :-p

Just kidding, I'm building the mobile client for https://histre.com/ in Flutter and I love it. Google, please don't kill it yet.


I genuinely doubt they'll drop it in the foreseeable future. But every if they do, it's a mature project at this stage and I believe the community is strong enough to support it without Google back (even if that means a fork for licensing reasons).


Ha! Let's hope not, in fact let's pray that it becomes the de facto standard for Android dev :D


How much "better"/different is flutter compared to native Android development in your experience? I am currently being forced to do learn native Android development with Java and hate every second of it.


Ok, let me try:

- The tooling is excellent -- you can get a basic app running without much fuss; use VScode and the right plugins are you're golden.

- It's "Widgets All The Way Down" -- just wrap your widgets (objects) to add functionality/positioning/etc (it might seem like you're in "nesting hell" but it's actually quite intuitive and you don't need to manage tons of separate Components across tons of files which is nice).

- The layout engine is actually well thought out -- it might take a while to get used to it (it's not like CSS there are no negative margins for example) but once you do it's intuitive and easy to get layouts built fast. Remember everything is a Widget and that's ok, from your app root object to your button.

- It has the best parts of React -- Flutter's "setState" works much in the same way and only updates Widgets which need to etc.

- It's a "game engine built for mobile dev"; you hear this statement a lot and it's really what makes it's powerful. It renders super fast and animations/tweens/etc are easy to implement allowing you to design UI elements the way you want (hence my Flash comparison lol).

- At some point you will need to manage state, save yourself the search and just settle w/ BLOC, again there's plugins to help with the boilerplate, i.e. code-generation (which is also a thing and actually helpful).

- The package/ecosystem (pub.dev) is pretty young but the core stuff you'll need is all there. The main packages I've settled on are: Moor (sqlite), Bloc (state), Chooper (Api client) and JsonSerializer. UI packages are pretty hit-miss but you'll probably just write your own anyway.

- The SDK has tons of prebuilt Widgets that are actually useful and cover most of what you need to make a modern UI, and yes you can make a "native" Android/iOS UI look and feel if you want. I recommend watching the Flutter's Youtube channel series "Widget of the Week".

- Dart is a fine language, I love the way it's implemented async/await for example, should be no problem picking up if you have Javascript/Java experience. The great benefit is that it's only being used by Flutter so there's a nice symbiosis between the two with a strong focus on making a language geared towards interactive/ui/frontend work.

- No Android XML!

Hope that helps some xD


Thank you for that summary! ^^ That sounds like a great environment to work with. I will definitely keep a look on flutter.


This is more a matter of taste than anything else. Compared to the Java I would say it's much cleaner (Personally I don't care for Java). Compared to Kotlin, it is more different. Flutter uses a declarative programming model so it is conceptually very different in terms of how you think about an application. There are a lot of nice things about this model for basic applications, but things get complicated for certain applications (AR/3d for instance). Also it is also open sourced (BSD) so the fear of Google dropping it is not as grave as the company's proprietary 1p product offerings.




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

Search: