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

So what's your alternative? Java Swing? Proprietary Sun (now Oracle) technology. Qt? Proprietary Trolltech tech. Electron? You're back on square one of using Google technology. And winforms, WPF, application kit, etc are all far more proprietary than Flutter.


> Qt? Proprietary Trolltech tech.

... is this a comment from 1997 ? Qt is licensed under both GPLv3 and LGPLv3 - and Trolltech as a company hasn't existed for more than a decade...


My comment was in reply to someone claiming that Dart was "yet-another Proprietary Google Technology". If Dart is proprietary then Qt is, too. Most likely by proprietary they didn't mean license but being controlled by a company, which both are. Dart is open source btw. as well. In fact, you could say that Dart is more open source because in Qt, proprietary ISV developers can't use the open source model if they want to not avoid having to give dynamic linking support and other LGPL obligations.

And trolltech is very alive and publicly traded in fact. It has just been renamed to Qt company: https://en.wikipedia.org/wiki/The_Qt_Company


Dart and Flutter are both BSD licensed, so presumably the discussion of "proprietary" is at least somewhat orthogonal to whether it has an open source license.


Tk is a pretty solid option nowadays, and it's wonderfully cross platform. Thanks to TTk, begone are the olden days when Tk apps stuck out like sore thumbs (the look and feel ain't an exact match even today, but nowadays the differences are more subtle). It also works with a remarkable number of languages. The only reason why I've reached for Qt instead lately is because the last couple projects I've done required an embedded browser window (i.e. because they're wrapping some web-based application) and Tk lacks modern options on that front (though I'd love to fix that at some point).

GTK+ and wxWidgets are other viable and popular choices for cross-platform desktop GUIs.


ReactXP (https://microsoft.github.io/reactxp/) uses TypeScript and targets mobile and desktop platforms using native controls, not emulated controls.

While Flutter doesn't work yet for desktop or web, ReactXP already works for these environments, and is used in the new Skype for Web.

Windows support is done and targets W10, Xbox, and Windows Mixed Reality. MacOS support is experimental, but mostly working. Linux currently needs an Electron wrapper.


Kotlin native/multiplatform projects is the answer


It's _very_ early, though, as well.

There's not much of an ecosystem for multiplatform yet for desktop projects at all. For macOS you have a way of "making a framework you can use" and that's about it.

There is a lot of promise, though, in the mobile space: https://touchlab.co/touchlab-square-kotlin-multiplatform-col...

My sense is that as the mobile multiplatform space gets ironed out, the desktop space will benefit.

Though generally speaking, Kotlin/Native has a _much_ lower level of "institutional" risk, since the Kotlin approach doesn't subvert the control Apple or Microsoft have over their platforms. Flutter, on the other hand, seems to abstract it away.


You still need some gui library/framework. What crossplatform options do you have?


Kotlin is by JetBrains.


Its not though.. the only IDE is CLion which does not have a free version. Thats a showstopper for a lot of people.

Its also pretty slow compared with other native solutions.


It actually works really well in IntelliJ Community Edition. There is a template for creating a new Kotlin/Native project, the auto-completion works and there is even unit testing support! Things have come a long way since the early days of compiling your own cinterop stubs and figuring out APIs from the generated wrappers. :)

If you want a debugger you need CLion, though. And the compiler is really, really slow – but they seem to be working on benchmarking things recently, so presumably it will be improved.


I'm tired of long compilation and failing compiler ;)


What are some of the strengths you enjoy about Kotlin?


Exactly. Kotlin for all platforms is the best option for the future.


No mention of Lazarus?

Check the IDE: (https://www.lazarus-ide.org/) and the cross-platform apps built with it: http://wiki.freepascal.org/Lazarus_Application_Gallery


The done thing in Java now is JavaFX, and the last time I bothered to work with it (more than a year ago) I remember really liking it. Of course, to me any kind of web tech is a complete non-starter so I am comparing this to using Tcl and WxWidgets.


Funnily enough Tklets worked on the web before even Java or Flash.




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

Search: