You've seen that each Euphoria GUI library makes it very easy to code simple GUI apps. Each application looks almost exactly the same. So, how do you choose which library to use? Here are some suggestions:
- Platform - What operating system do you want your app to work on? If you want to distribute your program to Windows, Linux, and FreeBSD users, you have to use a cross-platform library (wxEuphoria). If you will only be distributing to Windows users, you can use any of these libraries.
- IDE - Having an IDE that helps position widgets and write code used to be a big deal. Now that these libraries can manage the size and position of widgets for you, an IDE is less attractive. However, that doesn't mean they're obsolete! They still make code and project management that much more efficient.
At the moment, only Win32Lib has an IDE. The IDE is still in beta, however, so if you choose to use it, make sure you back up often. I personally have lost code due to bugs in IDE. It's frustrating not having a backup. Regardless, the Win32Lib IDE is practically invaluable for building Win32Lib code quickly and easily. I don't code Win32Lib apps without it!
- Support - Is the library being actively developed and supported? Can you be confident of its continued development into the future? These are questions you must ask because if the library is suddenly no longer being developed, you will either have to add features yourself (if they are lacking), fix bugs yourself, or move to another library. That can waste time and cost money. As of the date of this article, wxEuphoria and Win32Lib are in active development. I expect they will be into the near future.
Another related issue is that of third party libraries. Win32Lib is a library coded in Euphoria that lets you interface with the Windows API using more user-friendly commands. It does not rely on a third-party product. The include files for wxEuphoria are of course coded in Euphoria, but they provide an interface to a third-party widget management application. wxWidgets has a long history of development, is robust, and has great support.
- Stability - Is the library stable? All of our top choice candidates are stable.
- App Distribution - How easy is it to be an executable file of your application to your users?
- Advanced Apps - Can the library be used for advanced applications?