LÖVE is awesome. For me, it's mostly due to two reasons:
1. Designed to be easy to use. You just download/install it and then you're good to go. It uses lua, which makes the actual development of a game a joy.
2. Easy distribution. While several improvements can be done here, it's pretty clear what you need to do to make stand-alone excecutables for Mac and Windows, as well as potential for deploying on Linux. While I'd love to see a .deb packager, it's no biggie.
This gets me thinking "shouldn't there be something similar for simple, normal, graphical applications?". I mean, there are several cross-platform libraries like GTK and wx. There should be something that meets the two criteria above.
I checked out wxLua, but could get it to compile. VCLua looked kind of promising but doesn't build for Mac. LuaGnome looks cool but seems very Linux focused, and it doesn't seem to be very updated at all. lqt looks cool but I have no idea how to distribute an app made with it.
Any suggestions?
Developing normal graphical applications
Developing normal graphical applications
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
- kikito
- Inner party member
- Posts: 3153
- Joined: Sat Oct 03, 2009 5:22 pm
- Location: Madrid, Spain
- Contact:
Re: Developing normal graphical applications
I have said it somewhere else, but I'll repeat it here - I think making UIs is basically a Very Hard job. Making a couple buttons is relatively easy, but once you start with auto-adapting layouts for different screen/window sizes, keyboard focus, and the like, the difficulty ramps up. Multi-platform is yet another difficulty.
I think that's why no one has yet released a "portable, easy to use" windowing/GUI system. The problem is just very complex - it has lots of moving parts.
I have myself used WxWindows (over Python) and it was "not too complex", but definitively not easy. Yet it seemed to "adhere" well to the problem it was resolving (buttons, menus, etc, with different states and layouts depending on the size of a window).
One lib I have not seen in your list is Qt. I have not used it myself, but people seem to like it quite a lot. There are even a couple Lua bindings for it - the most "up to date" one I could find is https://github.com/mkottman/lqt . mkottman seems to know his stuff really well; I have seen him answering questions about Lua in StackOverflow quite often.
I think that's why no one has yet released a "portable, easy to use" windowing/GUI system. The problem is just very complex - it has lots of moving parts.
I have myself used WxWindows (over Python) and it was "not too complex", but definitively not easy. Yet it seemed to "adhere" well to the problem it was resolving (buttons, menus, etc, with different states and layouts depending on the size of a window).
One lib I have not seen in your list is Qt. I have not used it myself, but people seem to like it quite a lot. There are even a couple Lua bindings for it - the most "up to date" one I could find is https://github.com/mkottman/lqt . mkottman seems to know his stuff really well; I have seen him answering questions about Lua in StackOverflow quite often.
When I write def I mean function.
- nevon
- Commander of the Circuloids
- Posts: 938
- Joined: Thu Feb 14, 2008 8:25 pm
- Location: Stockholm, Sweden
- Contact:
Re: Developing normal graphical applications
Qt in general is a good choice if Windows is one of your primary platforms, as I believe it uses native widgets. It doesn't look as nice in a Gnome environment, but out of all the toolkits I've tried, Qt is definitely the best at blending in in different environments.
Re: Developing normal graphical applications
Odd enough Lua serves very well to interfacing many games but isn't perfect when interfacing with more complex "graphical normal applications". Even Love have some half dozen UI libraries but not all finished or complete enough to "replace/interface" a complete OS GUI. I agree with kikito seems a very hard job and demanding.
I was sometime ago very fond of TCL/TK GUI, I know that there is Lua bindings (http://www.tset.de/ltcltk/) but I never tried it. You can also give a shot on this.
I was sometime ago very fond of TCL/TK GUI, I know that there is Lua bindings (http://www.tset.de/ltcltk/) but I never tried it. You can also give a shot on this.
Last edited by coffee on Wed Feb 22, 2012 1:02 pm, edited 1 time in total.
- ston
- Prole
- Posts: 21
- Joined: Fri Jan 27, 2012 9:53 am
- Location: Holt, a small village in Wiltshire. We have cider!
Re: Developing normal graphical applications
As well as Qt, WTL (Windows Template library) is another possibility to consider. It's a CPL-licensed library written in C++ which extends the Active Template Library and provides a set of classes for UI construction, GDI objects etc. Of the libraries I've tried, I find it the simplest to work with (not withstanding that all UI libraries are by nature fairly complex). I think that there are C++ binding libraries available for Lua, although I've not tried them myself.
WTL can be found at the following page on source forge: http://wtl.sourceforge.net/
WTL can be found at the following page on source forge: http://wtl.sourceforge.net/
Re: Developing normal graphical applications
Of all the things you mention, I'd say lqt seems the most promising. I tried to compile ltcltk as well without success, will try lqt too.
At this point, Java/Swing almost seems like a possible solution. I had to use that during a class some years ago. I didn't like it.
It really seems quite absurd to me that it's harder to make something like a simple calculator than a game. But then again, games are kind of more stand-alone. I guess buiding for a single OS will reduce the complexity quite a lot. I could just use quickly/PyGTK.
Hey, lqt actually works! Cool! Now, all I need is a way to distribute an app once it's finished... At the very least for Ubuntu.
At this point, Java/Swing almost seems like a possible solution. I had to use that during a class some years ago. I didn't like it.
It really seems quite absurd to me that it's harder to make something like a simple calculator than a game. But then again, games are kind of more stand-alone. I guess buiding for a single OS will reduce the complexity quite a lot. I could just use quickly/PyGTK.
Hey, lqt actually works! Cool! Now, all I need is a way to distribute an app once it's finished... At the very least for Ubuntu.
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Re: Developing normal graphical applications
The problem is that love2d requires only SDL and some other libraries available as small dll files, which you can zip together and distribute as a complete system. For Qt/WX/Gnome you need either your users to install it (the exact version if you want to avoid problems), or distribute the whole graphics libraries, which would be huge. So the beauty of love2d is that it needs only a thin layer (SDL/OpenGL) to interface with the host system, so that it is easy to integrate and to port to other OS (i.e. android).T-Bone wrote:LÖVE is awesome. For me, it's mostly due to two reasons:
1. Designed to be easy to use. You just download/install it and then you're good to go. It uses lua, which makes the actual development of a game a joy.
2. Easy distribution. While several improvements can be done here, it's pretty clear what you need to do to make stand-alone excecutables for Mac and Windows, as well as potential for deploying on Linux. While I'd love to see a .deb packager, it's no biggie.
This gets me thinking "shouldn't there be something similar for simple, normal, graphical applications?". I mean, there are several cross-platform libraries like GTK and wx. There should be something that meets the two criteria above.
I checked out wxLua, but could get it to compile. VCLua looked kind of promising but doesn't build for Mac. LuaGnome looks cool but seems very Linux focused, and it doesn't seem to be very updated at all. lqt looks cool but I have no idea how to distribute an app made with it.
Any suggestions?
My lovely code lives at GitHub: http://github.com/miko/Love2d-samples
Re: Developing normal graphical applications
But since every OS have support for basically the same things, there should be a small library that, based on what OS it runs on, finds an existing GUI library and applies the desired interface on top of that. I wouldn't mind if this solution didn't allow me to do everything, just some simple text boxes, buttons and menus. You know, standard stuff. It kind of blows my mind that nobody has managed to make this simpler.
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Re: Developing normal graphical applications
I use Java + Swing with Eclipse + Jigloo plugin. It makes cross-platform gui aplications with not much more than clicking and draging. If you know Java take a look at this tutorial: http://www.cloudgarden1.com/swing_tutorial/index.html
Re: Developing normal graphical applications
Would it be hard to throw in some luaj into that?Ellohir wrote:I use Java + Swing with Eclipse + Jigloo plugin. It makes cross-platform gui aplications with not much more than clicking and draging. If you know Java take a look at this tutorial: http://www.cloudgarden1.com/swing_tutorial/index.html
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Who is online
Users browsing this forum: Semrush [Bot], Zeeoh and 6 guests