OLD | NEW |
---|---|
(Empty) | |
1 # Supported Projects | |
2 | |
3 The `//net` stack is used on a variety of platforms and in a variety of open | |
4 source projects. These different platforms and projects have differing | |
5 degrees of support from `//net` OWNERS as well as differing requirements for | |
6 designs and technical requirements. | |
7 | |
8 Note that this is a rough high-level overview of the major projects; as more | |
9 of `//net` is broken into consumable services/components as part of the Mojo | |
10 servicificaiton efforts, it's likely that there will be a larger number of | |
11 'variants' of these projects with different constraints and features. | |
12 | |
13 ## Google Chrome Browser | |
14 | |
15 The Google Chrome browser, which lives in `//chrome`, is the most important | |
16 `//net` consumer and shapes many of the core design decisions. In general, | |
17 features that are not intended with or not compatible with the needs of | |
18 the Google Chrome browser will have a very high bar for acceptance in `//net`. | |
19 | |
20 The feature matrix | |
21 | |
22 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
23 * **Release Frequency**: ~6 weeks between releases | |
24 * **Automatic Updates**: Yes | |
25 * **Command-line Flags**: | |
26 * __Yes__: Windows, macOS, Linux, Chromium OS (Dev image), Android (rooted) | |
27 * __No__: Chromium OS (Release image), iOS, Android (Release) | |
28 * **Field Trials (Finch)**: Yes | |
29 * **Enterprise Policy**: Yes | |
30 * **User Metrics (UMA)**: Yes | |
31 * **Component Updater**: Yes | |
32 | |
33 ## Chromium Browser | |
34 | |
35 The Chromium browser refers to the practice of certain Linux distributions to | |
36 bundle the open-source components of Chrome Browser in `//chrome`, branded | |
37 as Chromium. This version is not distributed by Google, but by individual | |
38 Linux distributions (primarily). Other distributions based on building Chromium | |
39 for other platforms exist, although do not see as wide of usage. | |
40 | |
41 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
42 * **Release Frequency**: Varies by distributor; some Linux distributions | |
43 treat versions of Chromium as "Long Term Stable" and support a single | |
44 version for a longer time than the Chromium projects do, others track | |
45 the Google Chrome release frequency. | |
46 * **Automatic Updates**: Varies by distributor | |
47 * **Command-line Flags**: | |
48 * __Yes__: Windows, macOS, Linux, Chromium OS (dev image), Android (rooted) | |
49 * __No__: Chromium OS (Release image), iOS, Android (Release) | |
50 * **Field Trials (Finch)**: No | |
51 * **Enterprise Policy**: Yes | |
52 * **User Metrics (UMA)**: Varies by distributor | |
53 * **Component Updater**: Varies by distributor | |
54 | |
55 ## Android WebView | |
56 | |
57 Distinct from the Chromium browser, the Android WebView is itself based on | |
58 the Chromium browser. On official Android devices running Android N or later, | |
59 WebView is automatically updated when Google Chrome is updated on the | |
60 device. For earlier devices, Android WebView is updated by the System WebView | |
61 component. | |
62 | |
63 Android WebView may also be used on non-official Android devices, such as | |
64 those based on the Android Open Source Project but do not go through the | |
65 Android [Compatability Test Suite](https://source.android.com/compatibility/cts/ ). | |
66 Such releases have limited to no interaction with the Chromium projects, and | |
67 so their capabilities cannot be conclusively documented. | |
68 | |
69 For official Android devices, WebView has the following capabilities. | |
70 | |
71 * **Supported Platforms**: Android | |
72 * **Release Frequency**: ~6 weeks between releases | |
73 * **Automatic Updates**: Varies. Updates are made available on the Android | |
74 App Store, but users must explicitly choose to update. As such, the | |
75 rate of update varies much more than for the Chromium browser. | |
76 * **Command-line Flags**: No | |
77 * **Field Trials (Finch)**: No | |
78 * **Enterprise Policy**: No | |
79 * **User Metrics (UMA)**: No | |
80 * **Component Updater**: No | |
81 | |
82 ## `//content` Embedders | |
83 | |
84 In addition to Chromium, there are a number of other of embedders of | |
85 `//content`, such as projects like [Chromium Embedded Framework](https://bitbuck et.org/chromiumembedded/cef) | |
86 or [Electron](http://electron.atom.io/). While `//net` does not directly | |
87 support these consumers, it does support the `//content` embedding API that | |
88 these projects use. Note that this excludes the | |
89 [content_shell](../../content/shell) test framework. | |
Randy Smith (Not in Mondays)
2017/02/16 21:07:23
Opera?
| |
90 | |
91 * **Supported Platforms**: Windows, macOS, Linux, Chromium OS, iOS, Android | |
92 * **Release Frequency**: Varies by consumer; Officially ~6 weeks | |
93 * **Command-line Flags**: Varies by consumer | |
94 * **Field Trials (Finch)**: No | |
95 * **Enterprise Policy**: No | |
96 * **User Metrics (UMA)**: No | |
97 * **Component Updater**: No | |
98 | |
99 ## Cronet | |
100 | |
101 [Cronet](../../components/cronet/README.md) is a version of the `//net` | |
102 network stack for use in mobile applications on iOS and Android. While | |
103 primarily targetting first-party Google applications, Cronet's status as an | |
104 open-source project, similar to the Chromium browser, means that it may | |
105 find itself embedded in a variety of other projects. | |
106 | |
107 Unlike some of the other `//net` consumers, Cronet does not necessarily | |
108 implement "The Web Platform" (as the holistic set of user agent-focused | |
109 features), and instead is more akin to an HTTP(s) client networking library. | |
110 | |
111 * **Supported Platforms**: iOS, Android | |
112 * **Release Frequency**: Varies. While "releases" are made following the | |
113 same frequency as Google Chrome, because it is treated similar to | |
114 a "third-party" library, different products and projects will ship | |
115 different versions of Cronet for differing periods of time. | |
116 * **Command-line Flags**: No | |
117 * **Field Trials (Finch)**: No | |
118 * **Enterprise Policy**: No | |
119 * **User Metrics (UMA)**: | |
120 * __Yes__: First-party (Google) projects, although they will be | |
121 reported in project-specific buckets (e.g. no overarching set of | |
122 metrics for all Cronet consumers). | |
123 * __No__: In general | |
124 * **Component Updater**: No | |
OLD | NEW |