Abstract

Graphical User Interfaces (GUIs) are required by almost all modern applications. Generally, developers utilize three main approaches to creating them: • Defining GUIs using manually written source code. Every popular programming language has its own dedicated libraries. In case of Java it could be Swing (Walrath, 2004) or SWT (Guojie, 2005). C# developers have WinForms (Sells, 2006); • Utilizing dedicated visual editors (designers) which allow for “drawing” a GUI and for generating an appropriate source code. The quality of such generators varies considerably. Some of them allow for round-trip engineering (i.e. (Jigloo, 2009)). In contrast, there are also solutions which act as pure generators; • Using a special declarative approach. The idea is to focus on “what to do” rather than “how to do it”. A recent, commercially used example of such an approach is MS XAML. Particular GUI items are defined using a dedicated programming language (or a description language). Unfortunately, most of the presented approaches require quite serious involvement from the programmer. The first one, is definitely the most time-consuming and also needs specified knowledge. The second one, saves some time but needs a lot of attention during designing process. The last one utilizes probably the easiest approach for having a decent user communication layer in an application. Following the declarative way, a programmer focuses on what to do rather than how to do it. Such a method saves time and ensures less programming errors in the final product. In this chapter we would like to: • Present existing declarative solutions, • Briefly describe our previous proposal for the Java language: the senseGUI library (Trzaska, 2008) and fully discuss the new one called the GCL language. Both of them have been implemented and are publicly available (together with source codes) using the following addresses: http://go.mtrzaska.com/?sensegui and http://gcl-dsl.googlecode.com/. The first prototype called the senseGUI utilizes annotations existing in the Java language (they also exist in other programming languages like MS C#). The annotations allow the programmer for marking particular parts of a source code defining class structures. Using such simple annotations, the programmer can describe basic properties of the desired GUI. In the simplest form it is enough just to mark attributes (or methods) in an ordinary Java class for which widgets should be created. There is also a way to define more detailed

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.