Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion articles/tools/modernization-toolkit/dragonfly.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Dragonfly is the engine that applies a preconfigured set of Vaadin Framework-to-

== Disclaimers

Dragonfly Transpiler is a simplified, default-setting configuration of the rich and configurable tool used by Vaadin specialists when performing Vaadin upgrades or Swing-to-Vaadin migrations. Dragonfly is a refactoring tool that works using the same approach as your Java compiler to identify the pieces of your source code and resolve in what libraries these pieces are declared. Dragonfly comes with over 3000 rules that it can apply to make changes to Vaadin Framework and desktop applications.
Dragonfly Transpiler is a simplified, default-setting configuration of the rich and configurable tool used by Vaadin specialists when performing Vaadin upgrades or Swing-to-Vaadin migrations. Dragonfly is a refactoring tool that works using the same approach as your Java compiler to identify the pieces of your source code and resolve in what libraries these pieces are declared. Dragonfly comes with over 5000 rules that it can apply to make changes to Vaadin Framework and desktop applications.

Dragonfly has thousands of rules but your application uses libraries that are made up of tens of thousands of APIs and classes. If you discover that Dragonfly has a rule for every API in your application, it is a rare and fortunate coincidence and is by no means the default expectation. Most applications get coverage percentages of between 70% - 90%. Still even with a partial solution, many developer teams have found that Dragonfly can significantly reduce the overall effort in a modernization project, reduce the number of errors found by users, increase consistency of the modernized code, and help deliver modernized applications to their users on or ahead of schedule.

Expand All @@ -34,6 +34,12 @@ Dragonfly Transpiler does not support the modification of rules or addition of n

Dragonfly will modify the source code in your workspace. It is advised to ensure you are working on a safe copy before proceeding. Dragonfly processes all of the files in your workspace or your selection in one single batch. How long this batch takes will depend on how many lines of code you have in your input. Performance will vary depending on the specs of your system but a good rule of thumb to start with is to expect about 10 minutes for each block of 100 000 lines of code.

== Requirements
The following requirements apply for both Eclipse and Maven Plug-In versions.

Dragonfly requires JDK 17 for runtime. This does not necessarily mean that your application should compile with Java 17. You can execute Dragonfly on JDK 17 while your application refers to an earlier JDK for compilation.

Dragonfly makes use of Java Development Tools (JDT) from Eclipse Foundation. Minimum required JDT version is 3.34.0. Maven plugin automatically handles this requirement, but Eclipse version consumes JDT from Eclipse environment itself. You can verify your JDT version by *Help*>*About Eclipse*>*Installation Details*. In Plug-Ins tab, search for *org.eclipse.jdt.core* and verify your version. Earliest Eclipse version that has 3.34.0 by default is *2023-06*. So, please make sure that you are using 2023-06 or later. Earlier versions will cause unstable behavior.

== Installing

Expand Down
9 changes: 8 additions & 1 deletion articles/tools/modernization-toolkit/feature-pack.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -110,5 +110,12 @@ The following desktop-inspired features are supported in the Feature Pack:
|`com.jgoodies.forms.layout.FormLayout`
|===

pass:[<!-- vale Vaadin.ProductName = YES -->]


== Desktop-Oriented Features - Blocking Dialog
In addition to various layouts and components, Vaadin Feature Pack also supports blocking dialogs. Typical desktop applications will wait user response over a modal dialog and proceed execution after receiving a response from the user. This is not the case with web applications in general. Accepting a user response while the serving thread is waiting at the server side requires Virtual Threads from Java 21. This is a separate artifact that you need to refer explicitly in order to use it and not included in Feature Pack components by default.

https://vaadin.com/api/com.vaadin/vaadin-feature-pack-flow-threads/[Blocking Dialog API docs]


pass:[<!-- vale Vaadin.ProductName = YES -->]
Loading