You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sierra conceptually began back in 2007, when I started work on what would eventually become Apache Pivot. Pivot was itself inspired by Macromedia Flex and Microsoft Silverlight, both of which used a declarative, XML-based means of constructing a user interface. Pivot was an attempt to bring this capability to Java.
When I joined the JavaFX team at Oracle in 2010, I had to leave Pivot behind. After developing FXML and introducing it at JavaOne in 2011, I briefly left Java behind as well to focus on iOS. Using Objective-C, I created a framework called "MarkupKit", which supported declarative construction of native iOS applications in XML. MarkupKit ultimately evolved into Lima, a Swift-based DSL for building UIKit applications.
In 2022, I developed a renewed interest in client-side Java. Sierra 1.0 (released in July of that year) was an attempt to emulate the Lima DSL using the standard Java layout managers. After struggling with this approach for a while, I dropped it in favor of dedicated "layout containers" inspired by the Lima model. For version 2.1, I introduced a Kotlin DSL to try to more closely replicate the Lima style.
While functional, neither the Java nor the Kotlin DSL was entirely satisfactory. As a result, I dropped the Kotlin DSL in verion 2.3. XML support was introduced in version 2.4, and the Java DSL was dropped in version 2.5.
Subsequent releases have continued to build upon this foundation. Version 3.0 adopted Java 21 as a baseline. Version 3.3 added two new classes, NumberField and ValidatedTextField, discussed in more detail here:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Sierra conceptually began back in 2007, when I started work on what would eventually become Apache Pivot. Pivot was itself inspired by Macromedia Flex and Microsoft Silverlight, both of which used a declarative, XML-based means of constructing a user interface. Pivot was an attempt to bring this capability to Java.
When I joined the JavaFX team at Oracle in 2010, I had to leave Pivot behind. After developing FXML and introducing it at JavaOne in 2011, I briefly left Java behind as well to focus on iOS. Using Objective-C, I created a framework called "MarkupKit", which supported declarative construction of native iOS applications in XML. MarkupKit ultimately evolved into Lima, a Swift-based DSL for building UIKit applications.
In 2022, I developed a renewed interest in client-side Java. Sierra 1.0 (released in July of that year) was an attempt to emulate the Lima DSL using the standard Java layout managers. After struggling with this approach for a while, I dropped it in favor of dedicated "layout containers" inspired by the Lima model. For version 2.1, I introduced a Kotlin DSL to try to more closely replicate the Lima style.
While functional, neither the Java nor the Kotlin DSL was entirely satisfactory. As a result, I dropped the Kotlin DSL in verion 2.3. XML support was introduced in version 2.4, and the Java DSL was dropped in version 2.5.
Subsequent releases have continued to build upon this foundation. Version 3.0 adopted Java 21 as a baseline. Version 3.3 added two new classes,
NumberFieldandValidatedTextField, discussed in more detail here:https://httprpc.wordpress.com/2025/10/11/validating-user-input/
The most recent version (3.4.5) was released earlier this week and includes a variety of bug fixes and minor enhancements.
Beta Was this translation helpful? Give feedback.
All reactions