4 ms·
Can it be used (in the future) to implement cross-platform desktop apps?
by greyman 10y ago
Can it be used (in the future) to implement cross-platform desktop apps?
- RX14 10y agoOnce it has windows support, it would be very possible to build something like ruby's shoes in crystal. In fact we already have libui bindings.
- coldtea 10y agoNot any more than several other languages, because as usual, the show stopper is the lack of decent cross-platform desktop GUI libraries. There's QT, which is huge and unwieldily and not so good looking on OS X, GTK+ which is a mess on both Windows and OS X, wxWidgets (based on other libs), and a few fringe, and incomplete libs. For one-platform apps, though, or a single backend for multiple platform UI frontends, it will do just fine, provided we get bindings for Cocoa, Windows UI libs, GTK etc.
- RX14 10y agoBut the problem here is not the suitability of languages themselves, the problem is the huge undertaking required to build a gui library which can compete with Qt, gtk etc. Crystal at the very least has good support for binding C so maybe this will be the language which finally produces a modern gui toolkit, but with the move towards web apps its becoming increasingly unlikely.
- gravypod 10y agoIt's a huge undertaking because it's an undefined specification. No one really knows what a cross-platform UI library should look like. How do you follow all of the native app standards automatically? How do you handle updates and distrabution?
- coldtea 10y ago>But the problem here is not the suitability of languages themselves, the problem is the huge undertaking required to build a gui library which can compete with Qt, gtk etc. Well, the whole Cocoa/QT/WinForms scope might be huge, but we don't even have good minimal UI libs -- e.g. with just the few basic widgets: buttons, text fields, labels, radio buttons, checkboxes, kind of what HTML forms can do -- and only very limited functionality (e.g. no fancy text formatting in the labels or whatever). Tons of programs could be GUI-fied with just the above (sort of what Tk does, but decent looking).
- RX14 10y agoLibui, which was on hn a while ago, looks like the basic minimal cross-platform gui library to me. And that's already got bindings to crystal.. I think most developers are searching for something more.
- coldtea 10y agoYep, something exactly like that, with good documentation, and bindings for multiple languages, can go a very long way for lots of apps.
- throwaway7645 10y agoPlease take a look at the GUI they're designing for Red. It is stupidly powerful and just as easy to use to build everything from simple apps described below to much more complex graphics and works on Windows, OSX, and Linux. They still have a ways to go on several aspects of the language, but it looks really nice.
- truantee 10y agoCrystal binding to Sciter could be a good choice.