GUI Frameworks

Discussion in 'Web Development and Programming' started by Monster, Nov 28, 2010.

  1. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    I found a nice thread on Slashdot about various GUI frameworks ... thought I post it here in case anyone searches for something like that.
     
  2. Brandon

    Brandon Regular Member

    Joined:
    Jun 1, 2009
    Messages:
    6,602
    Likes Received:
    1,707
    Location:
    Topeka, Kansas
    First Name:
    Brandon
    Thanks Monster, I'll check those out when I get some time.
    Have you used any of the ones listed in that post?
     
  3. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    Yes! :)

    OpenGL is a graphics API mainly for 2D and 3D graphics, but it can also be used for making applications. OpenGL is relatively easy (compared to DirectX). I've used it before to write applications. It's nice! :)

    WPF (Windows Presentation Framework) is an XML-based graphics engine (2D and 3D) for Windows. It's pretty easy to use, especially with the development tools from Microsoft. I've played around with it a little, and thought it was pretty good.

    Tcl/Tk is a combination of the Tcl scripting language and the Tk GUI library. I've used Perl/Tk before and liked it. It's pretty easy to use. I never really bothered with Tcl yet, but it appears to be pretty simple.

    Java AWT (Abstract Windowing Toolkit) isn't really used directly anymore nowadays. Most people use either Swing (which is based on AWT) or SWT or similar further abstractions. I've used both AWT and Swing before, and I think they're quite easy to use, especially with the NetBeans IDE.

    Qt is a multiplatform GUI library (like GTK). I haven't done much with Qt yet. I've done more with GTK. Since both are written in C, they're more complex than other libraries. GTK seems insanely complicated at first, but when you work with it, it's not that hard.

    I'd like to add the following:

    wxWidgets is another multiplatform GUI library. It is very easy to use and akin to Microsoft's MFC (Microsoft Foundation Classes). It doesn't solve every problem, but it is pretty easy to use for simple stuff. I've used that a couple of times.

    StarView has been the foundation of StarOffice which became OpenOffice. I'm not sure if the library still exists (as a foundation for OpenOffice), but I think it was pretty good. I've used it in the mid-90ies occasionally.

    Mozilla-based browsers (like FireFox) also use a platform-independent library. I haven't worked with this one yet, only tried out some stuff with XUL.

    I'm not sure how many of the old platform-independent libraries have survived, but there's been quite a few, and nowadays we have even more to choose from! :)

    ---------- Post added at 06:13 PM ---------- Previous post was at 05:39 PM ----------

    Oh, and another one would be Delphi. Since Delphi went belly-up, there's a free implementation called the Lazarus IDE, which uses FreePascal. I've done a lot with Delphi in one employment, and some playing with Lazarus. I think it's quite good, especially if you like Pascal-based languages.

    ---------- Post added at 06:18 PM ---------- Previous post was at 06:13 PM ----------

    ZINC is a very good platform-independent framework from the olden days that still exists. It's a commercial product, however. I've used an evaluation copy of ZINC for some time in the 90ies, and it appeared to be pretty good.

    ---------- Post added at 06:38 PM ---------- Previous post was at 06:18 PM ----------

    And finally, there's the option of using web browsers to render applications. On the web browser, there are the following options:

    XUL - from the Mozilla project. With that, you can combine web-based features with regular application features. I've only experimented with that once.

    Flash - this is intended as a truly platform-independent and upward-compatible basis. I've experimented with it. Adobe AIR is intended for standalone Flash-based applications.

    HTML, CSS and JavaScript - there's a lot you can do with this basis of web development. I've done some stuff with it, including developing a WYSIWYG HTML page editor with asynchronous server communication (I didn't use AJAX which wasn't generally known back then; I used IE6 download behaviors). It looked and behaved just like a regular application, and in a sense was much more powerful than just that. :)

    The following can assist from the server side:

    PHP - Clearly PHP comes in when you want or need strong server-based approaches. There's a lot of cool libraries for PHP and you can write your own. I've used PHP occasionally.

    Perl - Also a behemoth when it comes to libraries; there's a perl module for just about anything. I've used Perl occasionally.

    Ruby - don't know much about it, but it does have some use in the industry, especially with the Rails framework.

    JSP - Tomcat servers and JSP are also a staple. Haven't checked that out yet.

    ASP - Microsoft's ASP also seems to provide a lot of functionality for the server side, but I've only experimented with it so far.

    But things just start there -- there's far more stuff:

    J2EE - Java and EJB, running on JBoss or other EJB-Servers in combination with Tomcat JSP or other means can be used to write almost anything. It has widespread use in the industry. So, if you're developing an enterprise application, Java is often the best choice, b/c it can be attached to almost anything else in the enterprise if J2EE is employed. I've seen some large Java projects (call center applications) based on J2EE. Myself, I've only used portions of that huge library.

    IBM Lotus Notes / Domino - that's another solution that can be employed almost anywhere. I've done quite some stuff with it (not LotusScript, tho). Nowadays, there's support for Java (J2EE) and DB2 databases, which makes it even more powerful.

    ---------- Post added at 06:41 PM ---------- Previous post was at 06:38 PM ----------

    Microsoft's .NET and related technologies - I haven't had much contact with it yet, but I see it gaining ground in the industry. But it remains to be seen if it comes anywhere near the power of J2EE or Domino.
     
    Brandon likes this.
  4. Brandon

    Brandon Regular Member

    Joined:
    Jun 1, 2009
    Messages:
    6,602
    Likes Received:
    1,707
    Location:
    Topeka, Kansas
    First Name:
    Brandon
    I'm setting up netbeans right now, I applied for a job that deals with java and this IDE was suggested.
    I see it had a plugin portal where they have tons of plugins, I also see it can work in .NET and PHP?
     
    Monster likes this.
  5. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    Yes, the Netbeans IDE is very powerful, it supports almost any language or development environment.

    For Java, if Java Beans are supported, you can use it as a component-based tool to build user interfaces (check the release notes). From within the IDE, you can access plugins and tutorials and various other information.

    p.s.: It's best to make a local installation of Netbeans and a JDK (J2SE or J2EE) (it doesn't need to be installed to the system, just extract or install it to a folder, and run it from the command line or a supplied icon -- from the command line has the advantage that you can see Java exceptions if any occur while the IDE is running). This comes in handy if you need to install plugins, docs, and if you need to install several versions of the IDE (sometimes, there's regressions or incompatibilities) or the JDK (you might need several if you have projects that require specific JDKs). During installation, you can choose the JDK you want to use.
     
    Brandon likes this.
  6. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany

Share This Page