Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not OP, but what makes Flutter good IMO is drawing directly to native canvas, a very good hot reload implementation and AOT compilation.

There are three ways cross-platform UI frameworks draw UI. 1) wrap platform controls, 2) use webview or 3) use low-level graphics API.

Option 1 has to design controls to cater for the lowest common denominator. And there is a higher chance that an OS update might break things that in options 2 or 3. Being based on wildly different APIs (for each platform) increases complexity of creating and maintaining custom controls.

Option 2 has to render UI through a high-level declarative language made for documents.

Option 3 uses same APIs as native UI frameworks use. It's basically alternative implementation of an UI framework. Downside is that it has it's own look and feel, which is mostly an issue, if native UI framework is more polished.

Flutter, being option 3, is more similar to a game engine, than to Electron. Low-level graphic APIs maintain good backwards compatibility, so OS updates don't affect the framework much. Less maintenance is needed.

Good hot reload makes use of XML unnecessary and allows to declare UI in an actual, more powerful programming language. Overall, this removes another layer of complexity. (MS take a hint)

AOT compilation enables fast startup times and less pauses. Which is good as end users are opening and closing applications all the time.



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

Search: