https://github.com/equodev/swt-evolve
Instantly modernize your Java SWT and Eclipse RCP applications with this drop-in library.
https://github.com/equodev/swt-evolve
Last synced: 7 days ago
JSON representation
Instantly modernize your Java SWT and Eclipse RCP applications with this drop-in library.
- Host: GitHub
- URL: https://github.com/equodev/swt-evolve
- Owner: equodev
- License: other
- Created: 2025-07-29T17:12:01.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-04-23T21:03:21.000Z (about 2 months ago)
- Last Synced: 2026-04-23T22:11:30.112Z (about 2 months ago)
- Language: Java
- Homepage: https://www.equo.dev/swt
- Size: 20.7 MB
- Stars: 28
- Watchers: 9
- Forks: 7
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# SWT Evolve


  
[//]: # ([](https://github.com/equodev/swt-evolve/stargazers))
> **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 Widget Gallery
Check out the gallery of SWT snippets showing **SWT Evolve** implementations:
π [**SWT Evolve Gallery**](https://equo.dev/swt-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:**
```bash
git clone https://github.com/equodev/swt-evolve.git
cd swt-evolve
```
2. **Run the examples you want:**
```bash
./gradlew runExample -PmainClass=dev.equo.StyledTextSnippet3
```
---
### Modernize Your Own App
1. **Get SWT Evolve:** Clone this repository and build it (see [CONTRIBUTING.md](./CONTRIBUTING.md)), or get the `swt-evolve.jar` file from:
- [Download latest release](https://github.com/equodev/swt-evolve/releases/latest)
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. |
| `Table` | β οΈ 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 | |
| `Canvas` | βοΈ Implemented | |
| `GC` | βοΈ Implemented | Only supports Canvas. Draw2d implemented for FigureCanvas. |
| `Label` | βοΈ Implemented | |
| `List` | βοΈ Implemented | |
| `Text` | βοΈ Implemented | |
| `Group` | βοΈ Implemented | |
| `Link` | βοΈ Implemented | |
| `Combo` | β οΈ Partially Implemented | SWT.READ_ONLY Combo implemented for Windows and Linux, SWT.SIMPLE and SWT.DROP_DOWN to add. |
| `ExpandBar` | β οΈ Implemented for Windows | |
| `Scale` | βοΈ Implemented | |
| `Spinner` | βοΈ Implemented | |
| `Slider` | βοΈ Implemented | |
| `ProgressBar` | βοΈ Implemented | |
| `Menu` | β οΈ Partially Implemented | SWT.BAR Menu to add |
| `CCombo` | βοΈ Implemented | |
| `SashForm` | βοΈ Implemented | |
| `CoolBar` | β οΈ Implemented for Windows | |
| `ToolTip` | β οΈ Implemented for Windows | ToolTip text for Controls implemented, ToolTip Widget to add |
---
## πΊοΈ 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.
- [x] Draw2d (FigureCanvas) implemented for Windows.
- [x] GC image support added for Windows, MacOS and Linux.
### 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](https://github.com/orgs/equodev/projects/2/views/1)**.
---
## β€οΈ 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](https://github.com/equodev/swt-evolve/issues).
* **Suggest Features:** Have a great idea? Let us know in the [Discussions tab](https://github.com/equodev/swt-evolve/discussions).
* **Write Code:** Check out our [CONTRIBUTING.md](./CONTRIBUTING.md) guide to get started. We have a list of issues [here](https://github.com/equodev/swt-evolve/issues).
---
## π License
This project is licensed under the [Eclipse Public License 2.0](./LICENSE).
---
## πΌ Enterprise & Commercial Support
SWT Evolve is a free and open-source project, and we are committed to its growth and success.
For organizations building mission-critical applications, **Equo** offers **Equo Enterprise**βa suite of commercial products and professional services designed to accelerate your modernization journey and ensure project success. Our offerings include:
- **End-to-End Application Modernization**: Let our team handle the comprehensive migration of your legacy SWT/Eclipse RCP applications.
- **Theming & Custom Branding**: ****Full visual customization, including custom themes and branding, to align the application with your company's style guidelines.
- **Custom Widget Development**: Bespoke UI components tailored to your specific business needs.
- **Compliance & Accessibility**: Leverage integrated tools to ensure your application meets industry-standard compliance and accessibility (WCAG) requirements.
- **Equo SDK**: Access powerful middleware and developer tools to build secure, efficient, and scalable Java applications.
- **Equo Chromium**: Integrate a high-performance, modern Chromium-based browser directly into your Java app.
- **Signed & Notarized Binaries**: Deploy with confidence using production-ready, signed binaries for all major platforms, including full support for macOS notarization.
- **Broad Compatibility**: Maintain stability with full support for Eclipse/SWT 3.x & 4.x and guaranteed compatibility with older operating systems.
- **Dedicated Enterprise Support**: Gain peace of mind with priority support channels, expert training, and defined SLAs for your mission-critical applications.
- **Cloud Migration Strategy**: Bring your desktop applications to the cloud with expert guidance and an implementation strategy that requires **minimal to no changes to your existing codebase**.
Ready to take your project to the next level? Contact our team to learn more about Equo Enterprise at **support@equo.dev**.