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.
Words don't do it justice. Here is a standard Eclipse RCP application running with SWT Evolve.
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.
You can try our examples or modernize your existing application in just a few minutes. Requirements: JDK 17+.
The easiest way to see SWT Evolve in action is to run the examples included in this repository.
-
Clone the repository:
git clone https://github.com/equodev/swt-evolve.git cd swt-evolve
-
Run the examples you want:
./gradlew runExample -PmainClass=dev.equo.StyledTextSnippet3
- Get SWT Evolve: Clone this repository and build it (see CONTRIBUTING.md), or get the
swt-evolve.jar
file from: - Locate Your Old SWT Jar: Find the original
swt.jar
in your SWT application. - 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.
- β¨ 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.
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 |
Key features working, more APIs to add. | |
CTabFolder |
Basic functionality is solid. | |
Button (Push) |
βοΈ Implemented | |
Button (Check) |
βοΈ Implemented | |
Button (Toggle) |
βοΈ Implemented | |
Button (Radio) |
||
Button (Arrow) |
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:
- Achieve 100% API coverage for all standard SWT widgets and layouts.
- Full support for graphical frameworks, including GEF, GMF, and Draw2D.
- 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.
- 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.
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.
This project is licensed under the Eclipse Public License 2.0.
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.