Info |
---|
Add your comments directly to the page. Include links to any relevant research, data, or feedback. |
Page Properties | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
|
...
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 adding locale-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 | 12 | 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 experiencedon't have 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 | |
Search features4 | 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 | Django | Flask | ZK | Keplar | Angular | AngularJS | Flask + AngularJS | TotalType | 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.
Framework / Criteria | Type | RAD | Internationalization and Localization | Profiling | Prototype support | Caching | Total |
---|---|---|---|---|---|---|---|
ZK framework | Component based | 3 | 9 | 3 | 1 | 9 | 3 |
GWT | Javascript Frontend compiled with Java backend. | 9 | 9 | 3 | 1 | 9 | 9 |
JSF | Component based | 3 | 9 | 3 | 1 | 9 | 3 |
AngularJS | Single Page | 3 | 9 | 3 | 1 | 9 | 3 |
Angular | Single Page | 3 | 9 | 3 | 1 | 9 | 3 |
Vue | Single Page | 3 | 9 | 3 | 1 | 9 | 3 |
React | Single Page | 3 | 9 | 3 | 1 | 9 | 3 |
Flask | Backend | 3 | 9 | 3 | 1 | 9 | 3 |
Django | Backend | 3 | 9 | 3 | 1 | 9 | 3 |
NodeJs | Backend | 3 | 9 | 3 | 1 | 9 | 3 |
Spring MVC | Backend | 3 | 9 | 3 | 1 | 9 | 3 |
Useful links
Description | Link |
---|---|
Wiki - web framework explained | https://en.wikipedia.org/wiki/Web_framework |
Wiki - comparison of web frameworks | https://en.wikipedia.org/wiki/Comparison_of_web_frameworks |
Best frameworks for RESTful API | https://www.slant.co/topics/1397/~best-web-frameworks-to-create-a-web-rest-api https://optimalbi.com/blog/2016/07/21/whats-the-best-restful-web-api-framework-part-2/ |
...