Concepts related to graphic interface development

Source: Internet
Author: User
Concepts related to graphic interface development are briefly summarized-Linux general technology-Linux technology and application information. The following is a detailed description. In ancient times, the computer operating system was a command line interface (CLI). With the development of technology, Apple was the first computer to create a desktop environment (DE.

Mainstream operating systems: in microsoft windows, mac OS x, and unix like, the desktop environments of the first two are unchangeable, but there are also themes and third-party software that can change the appearance of interface elements and the interface itself. However, unix like ubuntu and other operating systems can change the desktop environment. For example, ubuntu uses the Gnome desktop environment, kubuntu uses the KDE Desktop Environment, and Xubuntu uses the Xface desktop environment.

Different desktop environments are implemented by different or identical GUI development kits (GUI toolkits). For example:

1. GTK +

GTK + Basics

GTK + was initially a dedicated GIMP Development Library and later developed as one of the mainstream development tools for developing graphic interfaces in Linux. GTK + 2.0 is a free software and part of the GNU project. The GTK + 2.0 license agreement is LGPL.

GTK + is developed in C language, but its designers use object-oriented technology. C ++ (gtkmm), Perl, Ruby, Java, and Python (PyGTK) bindings are provided on the GNOME platform. Other bindings include Ada, D, Haskell, PHP, and all.. NET programming language.

Unlike many other component toolboxes, GTK + is not based on Xt. Advantages and disadvantages of this decision: GTK + can be applied to other systems, and its flexibility is strong. However, GTK + cannot use the X resource database customized for X11 using the traditional method.

Glade is an interface design tool, but it also contains an XML language that describes the GUI. It works with libglade to directly use GTK and GNOME controls.

2. Qt

Qt Introduction

Qt is a product of Trolltech.
Qt is a multi-platform C ++ graphical user interface application framework. It provides the functions required for application developers to create an artistic graphical user interface. Qt is fully object-oriented and easily scalable, and allows true component programming.

Since the beginning of 1996, Qt has entered the business field and has become the basis for thousands of successful applications around the world. Qt is also the basis for the popular Linux Desktop Environment KDE, which is a standard component of all major Linux distributions.

Qt supports the following platforms: MS/Windows-95, 98, NT 4.0, ME, and 2000,
Unix/X11-Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX, ibm aix, sgi irix, and many other X11 platforms
Macintosh-Mac OS X
Embedded-A Linux Platform Supported by framebuffer.

3. wxWidgets

Open-Source Software (LGPL) is a cross-platform tool set for C ++, Python, and Perl. As a C ++ GUI Library, wxWidget has been developing from 1992 to the present, and has had a great influence in the world. There are countless pieces of software that uses this class Library for GUI development.

WxWidgets, formerly known as wxWindows, is a project started by Julian Smart in 1992 at the University of Edinburgh Artificial Intelligence Application Research Institute. Julian Smart is now the technical director of Anthemion software.

To put it simply, wxWidgets provides a complete set of easy-to-use APIs for developing GUI applications on multiple platforms. WxWidgets supports multiple platforms, including Windows 3.1/95/98/NT/2000/XP, Unix with Motif 1.2 or later, Unix/Linux/* BSD with GTK +, and Mac. Developers only need to use the compiler of their own system platform to compile the source program and link the corresponding library file. The generated program code has the appearance and interface of the platform. Based on these guis, wxWidgets also provides various powerful functions such as online help, network programming, stream processing, support for a variety of Common graphic formats, database support, HTML viewing and printing.

4, MFC
It can only be used for GUI development on windows platforms.

One of the major attraction of wxWidgets and GTK + is that its wxWidgets 2 licence type belongs to LGPL (Lesser General Public License). That is to say, the software developed using it does not require that the source code be published. In this way, free software developers, GPL software developers, and pure commercial software developers can use this software package for free. In contrast, TrollTech's Qt seems to be affected by this factor because the cost paid by the person who develops the commercial software using Qt

Developers are still relatively expensive, and the platform is divided into single platforms, two platforms, and three platforms (that is, Qt/X11, Qt/Windows, and Qt/Mac are included) three different product packages are divided into different editions of Professional and Enterprise, that is, different prices, and the number of developers is different prices. From this point, wxWidgets is absolutely advantageous. In addition, Qt originated from the development on Linux and was later promoted to other platforms such as Windows and Mac. wxWidgets, on the contrary, started in Windows and then transplanted to other platforms such as Unix.

In addition to the desktop environment, these GUI toolkits can also be used as a graphical interface for applications. Some graphical interface tools/packages based on specific languages or players or tools can also do this, such as java AWT/SWING, and eclipse SWT/JFace (based on eclipse ), python's wxPython and micromedia flash/flex (I think it should be done, but it should be run on the flash player or the fash plug-in of the browser)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.