GOBii needs to identify and implement a web framework to be used for all future UI work. Old UIs will be gradually transitioned to new framework. The purpose of this decision is to unify and standardize GOBii's UIs
Relevant data
Metrics
Rank
Criteria
Weight (1 - 3)
1
3
9
Multi-browser support
1
Does not support all 3, or external libraries needed to support all 3
Has support for all 3 major browsers, but requires code support for each
Has native support for all 3 major browsers, Chrome, FireFox and MS Edge
UI testing framework
2
Only code testing (unit testing) supported
Can use external library or tool such as Selenium
Has a testing framework
Internationalization and localization
1
No support
Supports L10n - Localization is the process of adapting internationalized software for a specific region or language by translating text and addinglocale-specific components
Supports i18n - Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes
3
Security Framework
3
No security framework
Has security framework that supports either OAuth or LDAP, the other can be achieved through code
Has security framework that supports OAuth-2 and LDAP
Form validation
2
No
Yes
, but just serverYes, both server and client
. Allows client side validation.
Template framework
2
No
No, but
theming
Templating framework is supported through libraries
Yes
Latest stable version
2
More than 5 years
Greater than 2 years, but less than 5 years
Less than 2 years
1
License
3
Part open-source, part commercial
-
Subscribe fully to open-source license
RAD
1
Code editor
Support for popular RADs such as Eclipse, JetBrains
Has RAD
5
Programming language
3
Not in GOBii stack, and don't have expertise in language
Not in GOBii stack, but have expertise in language
Already in GOBii stack
Architectural pattern
2
1-tier
MVC
3-tier
2
RESTful API support
3
No documentation available
Stackoverflow
Published manuals and tutorials on developing APIs
6
In house experience
3
need external experience or learn
experience within a sister project
Have in house experience
Compatibility with Deployment Stack
2
incompatible with current stack
compatible with sister deployment stack
compatible with GOBii deployment stack
Profiling support
1
no support
can use other profiling tools or libraries
comes with inbuilt profiling tools
Prototype support
1
no known support
Supported by other prototyping tools
Comes with prototyping tools
Caching framework
1
none
with extensions
has caching framework
4
Visualization/Chart support
3
Need to program visualizations
Can use popular chart libraries such as D3
Come with Charts that are available to use out of the box
Evaluations
Types of frameworks:
Backend Framework -
Component based Framework -
GWT -
Single Page Framework -
Framework / Criteria
Criteria1
Criteria2
Criteria3
...
CriteriaN
F1
F2
F3
...
FM
Total
Type
Total
ZK framework (Consider only CE)
Component based
174 (158)
GWT
Javascript Frontend compiled with Java backend.
186
JSF
Component based
96
AngularJS
Single Page
180
Angular
Single Page
204
Vue
Single Page
180
React
Single Page
180
Flask
Backend
192
Django
Backend
168
NodeJS
Backend
156
Spring MVC
Backend
192
Evaluations: Round 1
Round 1 evaluation only looks at criteria with weight 3.
Framework / Criteria
Type
License
RESTful API support
Security Framework
Visualization/Chart support
Programming language
In house experience
TOTAL
ZK framework
Component based
9
9
1
1
9
29 (23)
GWT
Javascript Frontend compiled with Java backend.
9
9
9
3
3
33
JSF
Component based
9
1
1
1
1
15
AngularJS
Single Page
9
9
9
3
1
31
Angular
Single Page
9
9
9
3
9
39
Vue
Single Page
9
9
9
3
1
31
React
Single Page
9
9
9
3
1
31
Flask
Backend
9
9
9
3
9
39
Django
Backend
9
9
9
3
1
31
NodeJs
Backend
9
9
9
3
1
31
Spring MVC
Backend
9
9
9
3
9
39
Round 2 evaluation only looks at criteria with weight 2.
Framework / Criteria
Type
UI testing support
Latest stable version
Form Validation
Template Framework
Architecture
Deployment Stack
Total
ZK framework
Component based
3
9
9
9
3
9
42 (40)
GWT
Javascript Frontend compiled with Java backend.
3
1
9
9
3
9
34
JSF
Component based
3
3
3
3
1
9
24
AngularJS
Single Page
3
9
9
9
3
9
42
Angular
Single Page
3
9
9
9
3
9
42
Vue
Single Page
3
9
9
9
3
9
42
React
Single Page
3
9
9
9
3
9
42
Flask
Backend
3
9
3
9
9
3 (need to check other projects)
36
Django
Backend
3
9
3
9
9
3 (need to check other projects)
36
NodeJs
Backend
3
9
3
3
9
3 (need to check other projects)
30
Spring MVC
Backend
3
9
3
3
9
9
36
Round 3 evaluation only looks at criteria with weight 1.