Lightweight User Interface Toolkit

Last updated
Lightweight User Interface Toolkit (LWUIT)
Developer(s) Sun Microsystems
Stable release
1.5 / August 11, 2011 (2011-08-11)
Operating system Cross-platform
Available inJava
Type Widget Toolkit
License GPL linking exception
Website http://lwuit.java.net/

Lightweight User Interface Toolkit (LWUIT) is a Widget toolkit developed by Sun Microsystems to enable easier Java ME user interface development for existing devices, including not only traditional Java ME environments like mobile phones, but also TVs and set top boxes. [1] LWUIT is inspired by Swing and supports many of its features including pluggable look and feel, layout managers, etc.

Contents

History

LWUIT was created by Chen Fishbein of Sun Microsystems Israel development center (SIDC) who started developing LWUIT for an internal project. The project grew at which point Shai Almog joined the project which was announced at JavaOne 2008, following the announcement the project was made open source by Sun under the GPL with ClassPath Exception license and gained wide acceptance within the community. LWUIT is known as the Lightweight UI Toolkit, where the word lightweight is used as it is used in Swing to indicate a component model that performs all of its own rendering/event handling. [2]

It has also been used a part of the Brazilian digital TV interactivity middleware, [Ginga] specifically in the Ginga-J technology. [3]

Architecture

. [4] LWUIT is very different from Swing and has taken on features unavailable in Swing such as theming, painters, animations, etc. However features such as MVC, layout managers, renders and the EDT are directly related to Swing. [5] LWUIT is based on a Component/Container hierarchy composite architecture. Containers are Components and can be nested to create elaborate layouts. Components can be styled both via external styles/themes and programmatically by developers.

Community

LWUIT is constantly ranked as one of the most active java.net projects and its forums are some of the most active forums in the community. [6]

See also

Related Research Articles

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">Swing (Java)</span> Java-based GUI toolkit

Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs.

Jakarta Faces, formerly Jakarta Server Faces and JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and was formalized as a standard through the Java Community Process being part of the Java Platform, Enterprise Edition. It is also an MVC web framework that simplifies the construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.

<span class="mw-page-title-main">Standard Widget Toolkit</span>

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

The Java Foundation Classes (JFC) are a graphical framework for building portable Java-based graphical user interfaces (GUIs). JFC consists of the Abstract Window Toolkit (AWT), Swing and Java 2D. Together, they provide a consistent user interface for Java programs, regardless of whether the underlying user interface system is Windows, macOS or Linux.

The event dispatching thread (EDT) is a background thread used in Java to process events from the Abstract Window Toolkit (AWT) graphical user interface event queue. It is an example of the generic concept of event-driven programming, that is popular in many other contexts than Java, for example, web browsers, or web servers.

<span class="mw-page-title-main">Google Web Toolkit</span> Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under Apache License 2.0.

Pluggable look and feel is a mechanism used in the Java Swing widget toolkit allowing to change the look and feel of the graphical user interface at runtime.

<span class="mw-page-title-main">YUI Library</span>

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

OpenESB is a Java-based open-source enterprise service bus. It can be used as a platform for both enterprise application integration and service-oriented architecture. OpenESB allows developers to integrate legacy systems, external and internal partners and new development in business processes. It supports a multitude of integration technologies including standard JBI, XML with support for XML Schemas, WSDL, and BPEL with the aim of simplicity, efficiency, long-term durability, and low TCO.

<span class="mw-page-title-main">DrJava</span> Java integrated development environment

DrJava is a lightweight IDE for the Java programming language. Designed primarily for beginners and actively developed and maintained by the JavaPLT group at Rice University, its interface uses Sun Microsystems' Swing toolkit and therefore has a consistent appearance on different platforms. DrJava has the ability to interactively evaluate Java code from a console and to present output as well to the same console. It has many other features that have been designed for advanced users as well. DrJava offers a JUnit test facility.

Griffon is an open source rich client platform framework which uses the Java, Apache Groovy, and/or Kotlin programming languages. Griffon is intended to be a high-productivity framework by rewarding use of the Model-View-Controller paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

<span class="mw-page-title-main">Vaadin</span>

Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.

<span class="mw-page-title-main">Abstract Window Toolkit</span> Java-based GUI toolkit

The Abstract Window Toolkit (AWT) is Java's original platform-dependent windowing, graphics, and user-interface widget toolkit, preceding Swing. The AWT is part of the Java Foundation Classes (JFC) — the standard API for providing a graphical user interface (GUI) for Java program. AWT is also the GUI toolkit for a number of Java ME profiles. For example, Connected Device Configuration profiles require Java runtimes on mobile telephones to support the Abstract Window Toolkit.

This article compares the application programming interfaces (APIs) and virtual machines (VMs) of the programming language Java and operating system Android.

<span class="mw-page-title-main">OpenUI5</span> Open source toolkit by SAP for development of enterprise-ready web applications

OpenUI5 is a JavaScript application framework designed to build cross-platform, responsive, enterprise-ready applications. It is an open-source project maintained by SAP SE available under the Apache 2.0 license and open to contributions. OpenUI5's core is based on JavaScript, jQuery, and LESS. The library's feature set includes model–view–controller patterns, data binding, its own UI-element library, and internationalisation support.

<span class="mw-page-title-main">Fyne (software)</span> Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.

References

  1. LWUIT on TVs Archived 2012-03-21 at the Wayback Machine
  2. "The LWUIT Blog".
  3. "Ginga-J diagram including LWUIT". Archived from the original on July 9, 2012.
  4. "LWUIT is inspired heavily by Swing in its architecture although it is much smaller and arguably simpler". Archived from the original on 2012-03-11. Retrieved 2010-09-07.
  5. "LWUIT home page at java.net". Archived from the original on 2013-06-20. Retrieved 2013-04-11.
  6. "LWUIT forums".