Skip to content

equodev/swt-evolve

Repository files navigation

SWT Evolve

Build Status License macOS Windows Linux

Modernize your SWT or Eclipse RCP application without changing a line of code. A new, cross-platform SWT library for desktop and web.

SWT Evolve is a cross-platform drop-in replacement for the standard SWT library. It allows you to instantly upgrade your application's user interface to a modern, fluid, and beautiful standard, without rewriting your UI code.


✨ See it in Action

Words don't do it justice. Here is a standard Eclipse RCP application running with SWT Evolve.

SWT Evolve Demo

🎨 SWT Evolve Widget Gallery

Check out the gallery of SWT snippets showing SWT Evolve implementations:
πŸ‘‰ SWT Evolve Gallery

This gallery provides small, focused SWT code snippets with rendered previews β€”
a quick way to explore available widgets and see how they look in practice.


πŸš€ Getting Started: 2-Minute Modernization

You can try our examples or modernize your existing application in just a few minutes. Requirements: JDK 17+.

Run the Examples

The easiest way to see SWT Evolve in action is to run the examples included in this repository.

  1. Clone the repository:

    git clone https://github.com/equodev/swt-evolve.git
    cd swt-evolve
  2. Run the examples you want:

    ./gradlew runExample -PmainClass=dev.equo.StyledTextSnippet3

Modernize Your Own App

  1. Get SWT Evolve: Clone this repository and build it (see CONTRIBUTING.md), or get the swt-evolve.jar file from:
  2. Locate Your Old SWT Jar: Find the original swt.jar in your SWT application.
  3. Replace and Run: Rename the swt-evolve JAR to match the exact filename of the original SWT JAR you located. Then, use your renamed file to replace the original. That's itβ€”run your application to see the modernized UI.

Note: For the time being, this method only works for pure SWT applications. Support for Eclipse-based applications is coming soon.

Key Features

  • ✨ Instant Modernization: No need for costly rewrites or code changes. If it runs on SWT, it runs on SWT Evolve.
  • πŸ’» Truly Cross-Platform: Develop once and deploy your application on Windows, macOS, Linux, and in a web browser from the same codebase.
  • πŸš€ GPU-Accelerated Performance: Powered by a modern rendering engine, UIs are fluid, responsive, and efficient.
  • βœ’οΈ Pixel-Perfect Rendering: Clean fonts, sharp icons, and beautiful widgets bring your application into the modern era.
  • 🀝 100% API Compatible: We are committed to implementing the complete SWT API for a seamless transition.
  • πŸ”„ Seamless Fallback for Gradual Modernization: Adopt at your own pace. SWT Evolve intelligently renders our modernized widgets and automatically falls back to the original SWT library for any widget we haven't implemented yet. Your application remains 100% functional, always.

πŸ“Š Project Status: Alpha

SWT Evolve is currently in an alpha stage. This means we are actively developing the core functionalities and implementing the API. We are already working with customers on commercial prototypes, but not all widgets are complete.

Here is the current status of major widgets:

Widget Status Notes
StyledText βœ”οΈ Implemented
Tree ⚠️ Partially Implemented Key features working, more APIs to add.
CTabFolder ⚠️ Partially Implemented Basic functionality is solid.
Button (Push) βœ”οΈ Implemented
Button (Check) βœ”οΈ Implemented
Button (Toggle) βœ”οΈ Implemented
Button (Radio) ⚠️ Partially Implemented
Button (Arrow) ⚠️ Partially Implemented

πŸ—ΊοΈ Roadmap

Our primary mission is the drive towards a stable 1.0 release. The vision for 1.0 is to provide a complete, modern, and high-performance replacement for the standard SWT library. We are aiming to deliver this milestone, which includes full widget and API coverage, by the end of 2025.

This is an ambitious goal, and our priorities are aggressively focused on making it a reality. The key workstreams are:

Core API & Widget Completion

  • Achieve 100% API coverage for all standard SWT widgets and layouts.
  • Full support for graphical frameworks, including GEF, GMF, and Draw2D.

Key Features & Milestones

  • A fully modernized Eclipse IDE experience running flawlessly on SWT Evolve.
  • Eliminate common UI freezes found in traditional SWT applications with our advanced threading model.

Quality & Performance

  • Continuous performance tuning and memory optimization.
  • Comprehensive test suite coverage to ensure stability and compatibility.

This roadmap outlines our strategic goals. For a detailed, real-time view of our work-in-progress and upcoming tasks, please visit our Public Project Dashboard.


❀️ How to Contribute

We are building SWT Evolve for the community and believe community contributions are the key to its success.

  • Report Bugs: If you find an issue, please report it.
  • Suggest Features: Have a great idea? Let us know in the Discussions tab.
  • Write Code: Check out our CONTRIBUTING.md guide to get started. We have a list of issues here.

πŸ“ License

This project is licensed under the Eclipse Public License 2.0.


πŸ’Ό Enterprise & Commercial Support

SWT Evolve is a free and open-source project, and we are committed to its growth and success.

For organizations requiring dedicated assistance, Equo Tech, Inc. offers professional services to accelerate your modernization journey and ensure your project's success. Our offerings include:

  • End-to-End Application Modernization: Comprehensive services to migrate your legacy SWT/Eclipse RCP applications.
  • Custom Widget Development: Bespoke UI components tailored to your specific business needs.
  • Theming & Custom Branding: Full visual customization, including custom themes and branding, to align the application with your company's style guidelines.
  • Cloud Migration Strategy: Expert guidance and implementation to bring your desktop applications to the cloud.
  • Dedicated Enterprise Support: Priority support channels, training, and SLAs for mission-critical applications.

To learn more about how we can help your business succeed with SWT Evolve, please contact our team at support@equo.dev.

About

Instantly modernize your Java SWT and Eclipse RCP applications with this drop-in library.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5