Hacker News new | ask | show | jobs
by mindfulplay 1734 days ago
Not sure I follow this.

Flutter uses Skia as the rendering engine - albeit with a different layout engine. JS on Chromium uses Skia.

If you are using JS to talk to Flutter to then talk to Skia, what's the value add? Is it the multithreaded layout engine?

3 comments

If you write js (without kraken), you are limited to web browsers.

If you are using flutter directly, then you write code in dart (which react and vue do not support). But you can target native app platforms like Mac, windows, iOS, andi etc

If you use kraken, you write code in JavaScript, and can leverage react & Vue and target all flutter supported platforms like iOS, android, windows and Mac OS

Guess it's time for me to finly try out kraken.
I think the easiest way to explain this is:

"It's a frontend in JS with a rendering engine in Dart/Flutter."

So in goes JS/TS code, writing the familiar frameworks you know, and what does the interpretation/rendering of that code is Flutter and Dart.

This is similar to how React Native works. It consumes a dialect of React and HTML-esque elements, and the renderer turns them into native UI widgets.

---

As far as "Why would I use this?"

If you think that Flutter is a better platform for cross-device UI development than React Native or NativeScript, but you don't actually want to write Flutter/Dart itself. (IE you want to stay in JS-land).

Or you want to build the rest of your codebase in Flutter and Dart code/use it's FFI and interop facilities.

Those are a few reasons I can think of. It's good to have a choice like this available IMO, I won't complain of it.

https://hydro-sdk.io/ enables this approach as well.
The value you get is using JS instead of that abomination called Dart