Skip to content

Commit a1772a3

Browse files
committed
docs: content reorg and interpolation improvements
1 parent a90f230 commit a1772a3

22 files changed

+344
-217
lines changed

data/schemas/technology.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,14 @@
4343
}
4444
}
4545
},
46+
"rendering": {
47+
"type": "object",
48+
"properties": {
49+
"Browser engine": { "$ref": "#/$defs/support" },
50+
"Platform controls": { "$ref": "#/$defs/support" },
51+
"Direct drawing": { "$ref": "#/$defs/support" }
52+
}
53+
},
4654
"website": {
4755
"type": "string",
4856
"format": "uri",
@@ -51,14 +59,24 @@
5159
"properties": {
5260
"$schema": { "type": "string" },
5361
"name": { "type": "string" },
62+
"normalizedName": { "type": "string" },
5463
"platforms": { "$ref": "#/$defs/platforms" },
5564
"languages": { "$ref": "#/$defs/languages" },
65+
"codeLicense": { "type": "string" },
5666
"url": { "$ref": "#/$defs/website" },
5767
"community": { "$ref": "#/$defs/website" },
5868
"documentation": { "$ref": "#/$defs/website" },
5969
"releases": { "$ref": "#/$defs/releases" }
6070
},
6171
"additionalProperties": false,
62-
"required": ["name", "platforms", "languages", "releases", "url"]
72+
"required": [
73+
"name",
74+
"normalizedName",
75+
"platforms",
76+
"languages",
77+
"codeLicense",
78+
"releases",
79+
"url"
80+
]
6381
}
6482
}

data/technologies/electron.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "../schemas/technology.json",
33
"name": "Electron",
4+
"normalizedName": "electron",
45
"platforms": {
56
"Windows": "",
67
"macOS": "",
@@ -16,6 +17,11 @@
1617
"JavaScript": "",
1718
"Rust": ""
1819
},
20+
"rendering": {
21+
"Browser engine": "",
22+
"Platform controls": "",
23+
"Direct drawing": ""
24+
},
1925
"releases": [
2026
{
2127
"version": "v14.0.0",
@@ -170,6 +176,7 @@
170176
"date": "2021-03-02T03:09:29Z"
171177
}
172178
],
179+
"codeLicense": "MIT",
173180
"url": "https://www.electronjs.org",
174181
"community": "https://discord.com/invite/electron",
175182
"documentation": "https://www.electronjs.org/docs/latest/"

data/technologies/react-native.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "../schemas/technology.json",
33
"name": "React Native",
4+
"normalizedName": "react-native",
45
"platforms": {
56
"Windows": "",
67
"macOS": "",
@@ -16,6 +17,11 @@
1617
"JavaScript": "",
1718
"Rust": ""
1819
},
20+
"rendering": {
21+
"Browser engine": "",
22+
"Platform controls": "",
23+
"Direct drawing": ""
24+
},
1925
"releases": [
2026
{
2127
"version": "v0.65.1",
@@ -306,6 +312,7 @@
306312
"date": "2016-10-25T11:07:01Z"
307313
}
308314
],
315+
"codeLicense": "MIT",
309316
"url": "https://reactnative.dev/",
310317
"community": "https://discord.gg/JuTwWB8rsy",
311318
"documentation": "https://reactnative.dev/docs/getting-started"

data/technologies/webview2.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "../schemas/technology.json",
3-
"name": "webview2",
3+
"name": "WebView2",
4+
"normalizedName": "webview2",
45
"platforms": {
56
"Windows": "",
67
"macOS": "",
@@ -16,6 +17,11 @@
1617
"JavaScript": "",
1718
"Rust": ""
1819
},
20+
"rendering": {
21+
"Browser engine": "",
22+
"Platform controls": "",
23+
"Direct drawing": ""
24+
},
1925
"releases": [
2026
{
2127
"version": "1.0.961.33",
@@ -94,6 +100,7 @@
94100
"date": "2020-04-20T18:21:06.3408502+00:00"
95101
}
96102
],
103+
"codeLicense": "Close",
97104
"url": "https://developer.microsoft.com/en-us/microsoft-edge/webview2/",
98105
"community": "https://github.com/MicrosoftEdge/WebView2Feedback",
99106
"documentation": "https://docs.microsoft.com/en-us/microsoft-edge/webview2/"

docs/browser-engine.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
title: Overview
32
id: browser-engine
43
---
54

@@ -200,7 +199,6 @@ There are many strategies in here, each one with its pros and cons:
200199
[Safari]: https://www.apple.com/safari/
201200
[statcounter]: https://gs.statcounter.com/browser-market-share
202201
[Tauri]: https://tauri.studio/
203-
[Types of technologies]: ./types.md
204202
[V8]: https://en.wikipedia.org/wiki/V8_(JavaScript_engine)
205203
[WebKit]: https://webkit.org/
206204
[WebSockets]: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

docs/direct-drawing.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
title: Overview
32
id: direct-drawing
43
---
54

docs/electron.md

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,41 @@ support. At a high-level, [Electron adds the Node.js layer to Chromium's JavaScr
2222
V8][electron-node]. This means that developers can leverate all its ecosystem and also write C/C++
2323
code to access features not available out of the box or via other modules.
2424

25+
## Summary
26+
27+
| Characteristic | |
28+
| :------------- | :----: |
29+
| Website | [{{technologies.electron.url}}]({{technologies.electron.url}}) |
30+
| Platforms | Desktop |
31+
| Rendering strategy | [Browser engine] |
32+
| Code License | [{{technologies.electron.codeLicense}}] |
33+
| Copyright | [OpenJS Foundation][electron-foundation] |
34+
| Documentation | [{{technologies.electron.documentation}}]({{technologies.electron.documentation}}) |
35+
| Community | [{{technologies.electron.community}}]({{technologies.electron.community}}) |
36+
| Latest version | {{technologies.electron.releases.0.version}} |
37+
| Release cadence | Major versions: [12 weeks][release timeline] <br/> Minor/patch: ~weekly |
38+
| Release support | [9 months][release timeline] |
39+
| Update model | Developer driven |
40+
| Governance model | [Open Governance] |
41+
42+
**Platform support:**
43+
44+
{{ table technologies.electron.platforms.{} }}
45+
46+
:::note
47+
While a mobile Electron could be possible, the [Apple Store policy 2.5.6] will prevent it from being
48+
distributed on iOS devices.
49+
:::
50+
51+
**Language support:**
52+
53+
{{ table technologies.electron.languages.{} }}
54+
55+
:::note
56+
While this list is for the "out of the box" languages, there are ways to use others. An example
57+
would be Rust, which can be run via [Neon].
58+
:::
59+
2560
## Release cadence, version support and update model
2661

2762
Electron has three important branches of development: nightly, beta, and stable. The nightly branch
@@ -60,42 +95,6 @@ While the requirements might change from one WG to another, anyone can eventuall
6095
maintainer, join, and get their feature added. Electron is created to serve its community, and not
6196
the needs of a particular company or product.
6297

63-
## Summary
64-
65-
| Characteristic | |
66-
| :------------- | :----: |
67-
| Website | [{{technologies.electron.url}}]({{technologies.electron.url}}) |
68-
| Platforms | Desktop |
69-
| Type | [Browser engine] |
70-
| Software type | OSS |
71-
| License | [MIT] |
72-
| Copyright | [OpenJS Foundation][electron-foundation] |
73-
| Documentation | [{{technologies.electron.documentation}}]({{technologies.electron.documentation}}) |
74-
| Community | [{{technologies.electron.community}}]({{technologies.electron.community}}) |
75-
| Latest version | {{technologies.electron.releases.0.version}} |
76-
| Release cadence | Major versions: [12 weeks][release timeline] <br/> Minor/patch: ~weekly |
77-
| Release support | [9 months][release timeline] |
78-
| Update model | Developer driven |
79-
| Governance model | [Open Governance] |
80-
81-
**Platform support:**
82-
83-
{{ table technologies.electron.platforms.{} }}
84-
85-
:::note
86-
While a mobile Electron could be possible, the [Apple Store policy 2.5.6] will prevent it from being
87-
distributed on iOS devices.
88-
:::
89-
90-
**Language support:**
91-
92-
{{ table technologies.electron.languages.{} }}
93-
94-
:::note
95-
While this list is for the "out of the box" languages, there are ways to use others. An example
96-
would be Rust, which can be run via [Neon].
97-
:::
98-
9998
<!-- Ref links -->
10099

101100
[Apple Store policy 2.5.6]: https://developer.apple.com/app-store/review/guidelines/
@@ -105,7 +104,7 @@ would be Rust, which can be run via [Neon].
105104
[electron-node]: https://www.electronjs.org/blog/electron-internals-using-node-as-a-library
106105
[Figma]: https://www.figma.com/
107106
[InVision]: https://www.invisionapp.com/
108-
[MIT]: https://github.com/electron/electron/blob/main/LICENSE
107+
[technologies.electron.codeLicense]: https://github.com/electron/electron/blob/main/LICENSE
109108
[Neon]: https://github.com/neon-bindings/neon
110109
[Node.js]: https://nodejs.org
111110
[Open Governance]: https://github.com/electron/governance

docs/platform-controls.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
---
2-
title: Overview
32
id: platform-controls
43
---
54

docs/react-native.md

Lines changed: 55 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,60 @@ can use [Grid] and [Flexbox] for layout on the web, but only the later on React
2929

3030
<!-- Talk about extensibility -->
3131

32+
## Summary
33+
34+
| Characteristic | |
35+
| -------------- | :----: |
36+
| Website | [{{technologies.react-native.url}}]({{technologies.react-native.url}}) |
37+
| Platforms | Mobile, Desktop |
38+
| Rendering strategy | [Platform controls] |
39+
| Code License | [{{technologies.react-native.codeLicense}}] |
40+
| Copyright | Facebook |
41+
| Documentation | [{{technologies.react-native.documentation}}]({{technologies.react-native.documentation}}) |
42+
| Community | [{{technologies.react-native.community}}]({{technologies.react-native.community}}) |
43+
| Latest version | {{technologies.react-native.releases.0.version}} |
44+
| Release cadence | N/A |
45+
| Release support | Latest version |
46+
| Update model | Developer driven |
47+
| Governance model | Facebook is the ultimate decission maker |
48+
49+
**Platform support:**
50+
51+
{{ table technologies.react-native.platforms.{} }}
52+
53+
:::caution
54+
Windows and macOS are considered out-of-tree platforms React Native platforms. Developers need to
55+
download the packages `react-native-windows` and/or `react-native-macos` (developed
56+
by Microsoft) to target them. You can learn more in [React Native for Windows + macOS][RN desktop].
57+
:::
58+
59+
**Language support:**
60+
61+
{{ table technologies.react-native.languages.{} }}
62+
63+
## Release cadence, version support and update model
64+
65+
While React Native does not have a fixed release cadence, the team's goal is to publish a new
66+
version every few months (3-6). On top of the stable releases, developers have also access to
67+
release candidate and nighlty builds.
68+
69+
While usually only the latest published version is supported, during the `v0.62`-`v0.66` timeframe
70+
there have been updates to previous minor versions. For example, `v0.62.3` was released at the same
71+
time as `v0.64.1`.
72+
73+
React Native applications are self-contained: the runtime is bundled into the application. This
74+
means that updating the React Native version is a developer responsibility (developer driven).
75+
76+
:::caution
77+
Although React Native is a mature project, it has not reach v1. This means that any minor release
78+
can have breaking changes.
79+
:::
80+
81+
## Governance
82+
83+
While React Native is OSS ([MIT] licensed) and has contributors from different companies, the
84+
ultimate decission maker is Facebook.
85+
3286
## Internals
3387

3488
In React Native apps, the application code is executed outside of the application main (UI) thread.
@@ -89,61 +143,6 @@ The following sources where used for this section:
89143
* [React Native Reanimated]
90144
:::
91145

92-
## Release cadence, version support and update model
93-
94-
While React Native does not have a fixed release cadence, the team's goal is to publish a new
95-
version every few months (3-6). On top of the stable releases, developers have also access to
96-
release candidate and nighlty builds.
97-
98-
While usually only the latest published version is supported, during the `v0.62`-`v0.66` timeframe
99-
there have been updates to previous minor versions. For example, `v0.62.3` was released at the same
100-
time as `v0.64.1`.
101-
102-
React Native applications are self-contained: the runtime is bundled into the application. This
103-
means that updating the React Native version is a developer responsibility (developer driven).
104-
105-
:::caution
106-
Although React Native is a mature project, it has not reach v1. This means that any minor release
107-
can have breaking changes.
108-
:::
109-
110-
## Governance
111-
112-
While React Native is OSS ([MIT] licensed) and has contributors from different companies, the
113-
ultimate decission maker is Facebook.
114-
115-
## Summary
116-
117-
| Characteristic | |
118-
| -------------- | :----: |
119-
| Website | [{{technologies.react-native.url}}]({{technologies.react-native.url}}) |
120-
| Platforms | Mobile, Desktop |
121-
| Type | [Platform controls] |
122-
| Software type | OSS |
123-
| License | [MIT] |
124-
| Copyright | Facebook |
125-
| Documentation | [{{technologies.react-native.documentation}}]({{technologies.react-native.documentation}}) |
126-
| Community | [{{technologies.react-native.community}}]({{technologies.react-native.community}}) |
127-
| Latest version | {{technologies.react-native.releases.0.version}} |
128-
| Release cadence | N/A |
129-
| Release support | Latest version |
130-
| Update model | Developer driven |
131-
| Governance model | Facebook is the ultimate decission maker |
132-
133-
**Platform support:**
134-
135-
{{ table technologies.react-native.platforms.{} }}
136-
137-
:::caution
138-
Windows and macOS are considered out-of-tree platforms React Native platforms. Developers need to
139-
download the packages `react-native-windows` and/or `react-native-macos` (developed
140-
by Microsoft) to target them. You can learn more in [React Native for Windows + macOS][RN desktop].
141-
:::
142-
143-
**Language support:**
144-
145-
{{ table technologies.react-native.languages.{} }}
146-
147146
<!-- Ref links -->
148147

149148
[DOM]: https://en.wikipedia.org/wiki/Document_Object_Model
@@ -154,7 +153,7 @@ by Microsoft) to target them. You can learn more in [React Native for Windows +
154153
[Grid]: https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids
155154
[JSX]: https://reactjs.org/docs/introducing-jsx.html
156155
[Lorenzo Sciandra]: https://twitter.com/Kelset
157-
[MIT]: https://github.com/facebook/react-native/blob/main/LICENSE
156+
[{{technologies.react-native.codeLicense}}]: https://github.com/facebook/react-native/blob/main/LICENSE
158157
[MS RN]: https://twitter.com/safaiyeh/status/1219294459298344961
159158
[Pinterest RN]: https://medium.com/pinterest-engineering/supporting-react-native-at-pinterest-f8c2233f90e6
160159
[Platform controls]: ./platform-controls.md

docs/types.md renamed to docs/rendering.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
title: Types of technologies
2+
title: Rendering strategies
33
---
44

5-
# Types of technologies
5+
# Rendering strategies
66

77
There are many types of cross-platform technologies. At a high-level, they all work by exposing a
88
common API to the developers and then taking care of the underlying specific code for each platform.

0 commit comments

Comments
 (0)