ABCDEFGHIJKLMNOPQRSTUVW
1
Vaadin platformVaadin FrameworkAngularJSFPrimeFacesReactWicketGWTGXTJavaFXSwing
2
3
Developed byVaadin LtdVaadin LtdGoogle Inc.
Java Community Process
PrimeTek Informatics
Facebook Inc.
Various individuals. Apache project.
GWT Steering Committee
Sencha Inc
Oracle Corporation
Sun Microsystems
4
Description
A development platform for web applications that prioritizes ease of development and uncompromised end user experience.
A server-side Java UI framework
A structural framework for client-side web apps
Java specification for building component-based user interfaces for web applications
Component suite for Java Server Faces 2.0
A JavaScript library for building user interfaces
Component-based web application framework for Java
Set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java
Rich components for GWT
Software platform for creating and delivering desktop applications and rich internet applications
Event-driven rich client
5
Initial release20182001200920042009201320042006?20081998
6
LicenseApache 2.0Apache 2.0MIT
Implementation dependent
Apache 2.0MITApache 2.0Apache 2.0
GPLv3 or Commercial license
GPL + linking exception
GPL
7
Free for opensource usexxx
Implementation dependent
xxxxxxx
8
Free for commercial usexxx
Implementation dependent
xxxx-xx
9
Websitehttps://vaadin.comhttps://vaadin.com
https://angular.io
https://jcp.org/en/jsr/detail?id=372
http://primefaces.org
https://reactjs.org
http://wicket.apache.org
http://www.gwtproject.org
https://www.sencha.com/products/gxt
http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html
https://www.oracle.com/technetwork/java/architecture-142923.html
10
SLA bound commercial support available from the maintainer
xx--x---xxx
11
Maintenance releases per year541092
Implementation dependent
22380120-2
12
Committers in last 6 months222247
Implementation dependent
2424107??0
13
Latest official release14.0.5 (16.09.2019)8.8.5 (01.07.2019)
7.1.1 (28.11.2018)
Implementation dependent
6.2 (28.2.2018)
16.6.3 (13.11.2018)
8.2.0 (12.11.2018)
2.8.2 (18.10.2017)
4.0.3 (16.3.2018)
Java 11.0.1 (16.10.2018)
Java 11.0.1 (16.10.2018)
14
15
Philosophy
16
Built for single-page web appsxxx--xxxxx-
17
Built for web pagesx--xx-x----
18
Server-driven architecturexx-xx-x----
19
Client-side architecturex-x--x-xxxx
20
21
Environment
22
Java server-side APIsxx-xx-x----
23
Java client-side APIsxx-----xxxx
24
Declarative APIsxxxxxx-xxx-
25
Deployment environment
Web server or Java Servlet Container
Java Servlet Container or Java Portlet
Web server
Java Servlet Container or Java Portlet
Java Servlet Container or Java Portlet
Web server
Only Java Servlet
Web serverWeb Server
Desktop, and web server (plus browser plugin)
Desktop
26
Programming language(s)
Javascript, Java, or any other JVM language
Java or any other JVM language
HTML with special syntax and TypeScript/JavaScript
JSF Markup and Java or any other JVM language
JSF Markup and Java or any other JVM language
HTML and JavaScript
HTML with special syntax and Java or any other JVM language
Only Java with a subset of the java.lang and java.util packages classes
Only Java
FXML, Java or any other JVM language
Java or any other JVM language
27
All Java 8 features supportedxxN/AxxN/Axx-xx
28
Scala wrappers available-x-----x-xx
29
30
FEATURES
31
Documentationhttps://vaadin.com/docs
https://vaadin.com/docs/v8
https://angular.io/docs
https://www.jcp.org/en/jsr/detail?id=314
http://www.primefaces.org/documentation
https://reactjs.org/docs/
http://wicket.apache.org/learn/
http://www.gwtproject.org/doc/latest/DevGuide.html
http://docs.sencha.com/gxt/4.x/
http://docs.oracle.com/javase/8/javase-clienttechnologies.html
http://docs.oracle.com/javase/8/javase-clienttechnologies.html
32
Abstraction over complex web technologies*************************************
33
Automated server-browser communicationxx-xx-x----
34
Usable without browser pluginsxxxxxxxxx--
35
Built-in Push (Websocket) supportxx--x-x----
36
Built in WAI-ARIA supportxx--xx-x---
37
State securely on the serverxx-xx-x----
38
Browser history / "back-button" supportxxx
Implementation dependent
xxxxx--
39
i18n supportxxxxx-xxxxx
40
Localization supportxxxxx-xxxxx
41
Built-in RTL support--x
Implementation dependent
x-xx-xx
42
UI code architecture using MVC or MVPxxxxxxxxxxx
43
44
Testing
45
Automated acceptance testing toolxxxxxxxxxxx
46
1st party pixel level UI testing tool xx---------
47
Load testing with standardized tools (JMeter, Gatling)xxxxxxxxxxx
48
UI code supports unit testingxxxxxxxxxxx
49
50
Look 'n' feel
51
Built-in parameterizable theme enginexx------x-
through look and feel
52
Themeable with CSSxxxxxxxxx
Yes, with limitations
-
53
Themeable with Sass (SCSS)xxx-xxxx---
54
Built-in ready-made themes25004006441
through look and feel
55
56
Components
57
Data grid componentxxx-x-xxxxx
58
Spreadsheet componentxx---------
59
Tree componentSingle-colum TreeGridxx-x-xxxxx
60
Treetable componentxxx-x-xxxxx
61
Charting componentsxx--xx-xxxx
62
Drag n drop layouts and componentsxx--x--xxxx
63
Mobile optimized componentsxx--xx-xx--
64
Support for Web Componentsxxxxxxxxx--
65
# of out of the box component widgets*******************************
66
67
COMMUNITY
68
Community add-on libraries1,010754?N/A??????N/A
69
Forum/mailinglist message activity /month2,0002,000310N/A???250?39N/A
70
StackOverflow questions4,7244,724114,96029,47017,43387,8582,86019,2501,14013,85072,809
71
GitHub projects2,3402,34044,120?1,280?1,1605,0001604,16015,000
72
Twitter followers6,7056,705303,000N/A7,250276,0001,657??N/AN/A
73
74
IDEs
75
Eclipse plugin availablexxxx-xxx-xx
76
IntelliJ plugin availablexxxx-xxx-xx
77
Netbeans plugin availablexxxxxxxx-xx
78
Visual Designer availalble
https://vaadin.com/designer
https://vaadin.com/designer
-------xx
79
80
Integration
81
Supported Java EE integration libraryxxN/AxxN/Ax--xN/A
82
Supported Spring integration libraryxxN/Ax-N/Ax---x
83
OSGi compatiblexxN/AxxN/Ax--xx
84
Maven based dependency managementxxN/AxxN/Axxxxx
85
Gradle based dependency managementx-N/A--N/A----x
86
Maven archetypesxxN/Ax-N/Axxxx
not needed since inside JSE
87
88
Browser support
89
IE8-x-N/A------N/A
90
IE9+IE11 OnlyxxN/Ax(with polyfills)xxxxN/A
91
Microsoft EdgexxxN/A-xxxx-N/A
92
ChromexxxN/Axxxxx-N/A
93
FirefoxxxxN/Axxxxx-N/A
94
SafarixxxN/Axxxxx-N/A
95
OperaxxxN/A?xxxxxN/A
96
Mobile SafarixxxN/A?x?xx-N/A
97
Mobile ChromexxxN/A?x?xx-N/A
98
99
EXTENDABILITY
100
Possibility to extend existing components with Javax
Server-side compositions, extend components server-side and extend client-side with GWT
-
JSF doesn't encourage extending existing components
JSF doesn't encourage extending existing components
-YesYesYesYesYes