This repository was archived by the owner on Apr 5, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathcriteria.json
117 lines (117 loc) · 5.44 KB
/
criteria.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"components": {
"display": "Components",
"description": "Evaluate what component and companion libraries are available and actively maintained. Identify any gaps in component availability and explore the effort necessary to implement.",
"considerations": [
"Do the identified libraries have official support or are they community built?",
"What does *state management* look like?",
"What does *routing* look like?",
"What does *data management (model/store)* look like?",
"Are there charting library wrappers available? For which libraries?",
"What table or grid libraries are available? Do they scale infinitely?"
]
},
"dev-experience": {
"display": "Dev Experience",
"description": "Evaluate the developer experience of using the candidate framework or library. Efficiency, learning curve and ease-of-use should be considered.",
"considerations": [
"Is hot reloading supported?",
"Is time-travel debugging of state supported?",
"What browser extensions are available to support development?",
"How valuable are console warnings and errors?",
"What is the debugging experience like using dev tools?",
"What code editors / IDEs are supported or recommended?"
]
},
"incremental-adoptability": {
"display": "Incremental Adoptability",
"description": "Evaluate the incremental adoptability of the framework or library to determine the feasibility of running it alongside existing SPAs. Explore the pain points and recommended approach for integrating into an existing application.",
"considerations": [
"What is the support for code-splitting and modular loading of the application?",
"Can the framework be used inside of or alongside an existing SPA? What are the implications?",
"How does an incremental adoption impact CI / CD decisions?"
]
},
"i18n": {
"display": "i18n",
"description": "Evaluate if there is an established pattern or companion library for internationalization of an application built using the candidate framework or library. True internationalization support should enable easy localization for target audiences that vary in culture, region or language. Are any of the identified solutions used in production and by what organizations?",
"considerations": [
"Is support comprehensive (dates, numbers, translations, etc)?"
]
},
"learning-curve": {
"display": "Learning Curve",
"considerations": [
"What languages will I need to learn?",
"What skills are transferable?",
"What other technologies do I need to understand (babel, webpack, etc)?"
]
},
"languages": {
"display": "Language",
"description": "Evaluate what languages are supported by the candidate framework or library and wether or not a specific option is recommended.",
"considerations": [
"es5, es6, +",
"TypeScript, flow",
"vanilla, JSX"
]
},
"licensing": {
"display": "License",
"description": "Evaluate what license(s) the candidate framework or library has as well as the most widely used companion libraries.",
"considerations": [
"What about the licenses of project dependencies? (see [license-checker](https://github.com/davglass/license-checker))"
]
},
"mobile-native-support": {
"display": "Mobile & Native Support",
"description": "Evaluate support for non-web browser deployment targets for the companion library.",
"considerations": [
"Mobile (Android, iOS)",
"Desktop (Windows, MaxOS, etc.)",
"Office & Office 365 (see [fabric](https://developer.microsoft.com/en-us/fabric))",
"Salesforce (apps, components, etc)"
]
},
"pdf-export-rendering": {
"display": "PDF Export & Rendering"
},
"performance-scalability": {
"display": "Performance & Scalability"
},
"ssr": {
"display": "Server Side Rendering",
"description": "Evaluate the support for [SSR](https://medium.com/walmartlabs/the-benefits-of-server-side-rendering-over-client-side-rendering-5d07ff2cefe8). Note the benefits, implications and usability of the identified approaches.",
"considerations": [
"Is there a limitation as to what companion libraries the SSR implementation supports (e.g. state management)?"
]
},
"support-community": {
"display": "Support & Community",
"description": "Evaluate the state of the open source community as well as any enterprise / corporate support for the candidate and companion libraries.",
"considerations": [
"Is the candidate backed by a company with a commitment to support it?",
"Is the open source community growing, shrinking or stagnating?",
"How responsive are the maintainers to issues?",
"Is the project open and accessible to new contributions?"
]
},
"testing": {
"display": "Testing",
"description": "Evaluate what the testing experience and maturity of testing platforms are for the candidate framework or library.",
"considerations": [
"Unit testing",
"Integration testing",
"e2e testing",
"Component mocking & assertion libraries"
]
},
"theming": {
"display": "Theming",
"description": "Evaluate the experience, difficulty and approach to applying a global theme to a project built using the candidate framework or library.",
"considerations": [
"Are the findings specific to the candidate or a companion component library?",
"What out of the box themes are already available?"
]
}
}