Skip to content

Commit ca637d9

Browse files
author
Tony Sansone
committed
Add networking libraries
1 parent 779e378 commit ca637d9

File tree

2 files changed

+47
-33
lines changed

2 files changed

+47
-33
lines changed

src/guides/libraries/useful-libraries.md

+17-16
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,39 @@ Commonly used packages fall into three groups:
1616

1717
## General-purpose packages
1818

19-
The following packages are useful for a wide range of projects.
19+
Use these packages for a wide range of projects.
2020

2121
| **Package** | **Description** | **Commonly used APIs** |
22+
|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2223
| [archive]({{site.pub-pkg}}/archive) | Encodes and decodes various archive and compression formats. | Archive, ArchiveFile, TarEncoder, TarDecoder, ZipEncoder, ZipDecoder |
23-
| [characters]({{site.pub-pkg}}/characters) | String manipulation for user-perceived characters (Unicode grapheme clusters). | String.characters, Characters, CharacterRange |
24-
| [http]({{site.pub-pkg}}/http) | A set of high-level functions and classes that make it easy to consume HTTP resources. | delete(), get(), post(), read() |
24+
| [characters]({{site.pub-pkg}}/characters) | Manipulates strings for user-perceived characters (Unicode grapheme clusters). | String.characters, Characters, CharacterRange |
25+
| [cronet_http]({{site.pub-pkg}}/cronet_http) | Provides access to the Android [Cronet](https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/package-summary) HTTP client. | |
26+
| [cupertino_http]({{site.pub-pkg}}/cupertino_http) | Provides access to Apple's [Foundation URL Loading System](https://developer.apple.com/documentation/foundation/url_loading_system). | |
27+
| [http]({{site.pub-pkg}}/http) | Provides set of high-level functions and classes to simplify consuming HTTP resources. | delete(), get(), post(), read() |
2528
| [intl]({{site.pub-pkg}}/intl) | Internationalization and localization facilities, with support for plurals and genders, date and number formatting and parsing, and bidirectional text. | Bidi, DateFormat, MicroMoney, TextDirection |
26-
| [json_serializable]({{site.pub-pkg}}/json_serializable) | An easy-to-use code generation package. For more information, see [JSON Support](/guides/json). | @JsonSerializable |
27-
| [logging]({{site.pub-pkg}}/logging) | A configurable mechanism for adding message logging to your application. | LoggerHandler, Level, LogRecord |
28-
| [mockito]({{site.pub-pkg}}/mockito) | A popular framework for mocking objects in tests. Especially useful if you are writing tests for dependency injection. Used with the [test]({{site.pub-pkg}}/test) package. | Answering, Expectation, Verification |
29-
| [path]({{site.pub-pkg}}/path) | Common operations for manipulating different types of paths. For more information, see [Unboxing Packages: path.]({{site.news}}/2016/06/unboxing-packages-path.html) | absolute(), basename(), extension(), join(), normalize(), relative(), split() |
30-
| [quiver]({{site.pub-pkg}}/quiver) | Utilities that make using core Dart libraries more convenient. Some of the libraries where Quiver provides additional support include async, cache, collection, core, iterables, patterns, and testing. | CountdownTimer (quiver.async); MapCache (quiver.cache); MultiMap, TreeSet (quiver.collection); EnumerateIterable (quiver.iterables); center(), compareIgnoreCase(), isWhiteSpace() (quiver.strings) |
31-
| [shelf]({{site.pub-pkg}}/shelf) | Web server middleware for Dart. Shelf makes it easy to create and compose web servers, and parts of web servers. | Cascade, Pipeline, Request, Response, Server |
32-
| [stack_trace]({{site.pub-pkg}}/stack_trace) | Methods for parsing, inspecting, and manipulating stack traces produced by the underlying Dart implementation. Also provides functions to produce string representations of stack traces in a more readable format than the native StackTrace implementation. For more information, see [Unboxing Packages: stack_trace.]({{site.news}}/2016/01/unboxing-packages-stacktrace.html) | Trace.current(), Trace.format(), Trace.from() |
33-
| [test]({{site.pub-pkg}}/test) | A standard way of writing and running tests in Dart. | expect(), group(), test() |
34-
| [yaml]({{site.pub-pkg}}/yaml) | A parser for YAML. | loadYaml(), loadYamlStream() |
29+
| [json_serializable]({{site.pub-pkg}}/json_serializable) | Generates JSON manipulation code. To learn more, consult [JSON Support](/guides/json). | @JsonSerializable |
30+
| [logging]({{site.pub-pkg}}/logging) | Adds message logging to your application. | LoggerHandler, Level, LogRecord |
31+
| [mockito]({{site.pub-pkg}}/mockito) | Mocks objects in tests. Helps when you write tests for dependency injection. Use with the [test]({{site.pub-pkg}}/test) package. | Answering, Expectation, Verification |
32+
| [path]({{site.pub-pkg}}/path) | Manipulates different types of paths. To learn more, consult [Unboxing Packages: path.]({{site.news}}/2016/06/unboxing-packages-path.html) | absolute(), basename(), extension(), join(), normalize(), relative(), split() |
33+
| [quiver]({{site.pub-pkg}}/quiver) | Simplifies using core Dart libraries. Some of the libraries where Quiver provides additional support include async, cache, collection, core, iterables, patterns, and testing. | CountdownTimer (quiver.async); MapCache (quiver.cache); MultiMap, TreeSet (quiver.collection); EnumerateIterable (quiver.iterables); center(), compareIgnoreCase(), isWhiteSpace() (quiver.strings) |
34+
| [shelf]({{site.pub-pkg}}/shelf) | Provides web server middleware for Dart. Shelf makes it easy to create and compose web servers, and parts of web servers. | Cascade, Pipeline, Request, Response, Server |
35+
| [stack_trace]({{site.pub-pkg}}/stack_trace) | Parses, inspects, and manipulates stack traces that Dart produces. Also transforms stack traces into a more readable format than the native StackTrace implementation. To learn more, consult [Unboxing Packages: stack_trace.]({{site.news}}/2016/01/unboxing-packages-stacktrace.html) | Trace.current(), Trace.format(), Trace.from() |
36+
| [test]({{site.pub-pkg}}/test) | Standardizes writing and running tests in Dart. | expect(), group(), test() |
37+
| [yaml]({{site.pub-pkg}}/yaml) | Parses YAML markup. | loadYaml(), loadYamlStream() |
3538
{:.table .table-striped .nowrap}
3639

37-
3840
## Packages that expand on Dart core libraries {#packages-that-correspond-to-sdk-libraries}
3941

4042
Each of the following packages builds upon a [core library](/libraries),
4143
adding functionality and filling in missing features:
4244

4345
| **Package** | **Description** | **Commonly used APIs** |
44-
| [async]({{site.pub-pkg}}/async) | Expands on dart:async, adding utility classes to work with asynchronous computations. For more information, see [Unboxing Packages: async part 1]({{site.news}}/2016/03/unboxing-packages-async-part-1.html), [part 2]({{site.news}}/2016/03/unboxing-packages-async-part-2.html), and [part 3.]({{site.news}}/2016/04/unboxing-packages-async-part-3.html) | AsyncMemoizer, CancelableOperation, FutureGroup, LazyStream, Result, StreamCompleter, StreamGroup, StreamSplitter |
45-
| [collection]({{site.pub-pkg}}/collection) | Expands on dart:collection, adding utility functions and classes to make working with collections easier. For more information, see [Unboxing Packages: collection.]({{site.news}}/2016/01/unboxing-packages-collection.html) | Equality, CanonicalizedMap, MapKeySet, MapValueSet, PriorityQueue, QueueList |
46+
| [async]({{site.pub-pkg}}/async) | Expands on dart:async, adding utility classes to work with asynchronous computations. To learn more, consult [Unboxing Packages: async part 1]({{site.news}}/2016/03/unboxing-packages-async-part-1.html), [part 2]({{site.news}}/2016/03/unboxing-packages-async-part-2.html), and [part 3.]({{site.news}}/2016/04/unboxing-packages-async-part-3.html) | AsyncMemoizer, CancelableOperation, FutureGroup, LazyStream, Result, StreamCompleter, StreamGroup, StreamSplitter |
47+
| [collection]({{site.pub-pkg}}/collection) | Expands on dart:collection, adding utility functions and classes to make working with collections easier. To learn more, consult [Unboxing Packages: collection.]({{site.news}}/2016/01/unboxing-packages-collection.html) | Equality, CanonicalizedMap, MapKeySet, MapValueSet, PriorityQueue, QueueList |
4648
|[convert]({{site.pub-pkg}}/convert) | Expands on dart:convert, adding encoders and decoders for converting between different data representations. One of the data representations is _percent encoding_, also known as _URL encoding_. | HexDecoder, PercentDecoder |
4749
|[io]({{site.pub-pkg}}/io) | Contains two libraries, ansi and io, to simplify working with files, standard streams, and processes. Use the ansi library to customize terminal output. The io library has APIs for dealing with processes, stdin, and file duplication. | copyPath(), isExecutable(), ExitCode, ProcessManager, sharedStdIn |
4850
{:.table .table-striped .nowrap}
4951

50-
5152
## Specialized packages
5253

5354
Here are some tips for finding packages that are more specialized,

src/tutorials/server/httpserver.md

+30-17
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,33 @@ prevpage:
77
title: Fetch data from the internet
88
---
99

10-
Here are some resources for writing servers using Dart:
11-
12-
* Documentation
13-
* [Using Google Cloud][] has information on Google Cloud products
14-
that Dart servers can use, such as Cloud Run.
15-
* [Using Google APIs][] points to resources to help you
16-
use Firebase and Google client APIs from a Dart app.
17-
* Samples
18-
* [A simple Dart HTTP server][simple-sample]
19-
* Uses the [`shelf`][] package.
20-
* Also uses the [`shelf_router`][] and [`shelf_static`][] packages.
21-
* Is deployable on Cloud Run.
22-
* [A Dart HTTP server that uses Cloud Firestore][cloud-sample]
23-
* Uses the Cloud Firestore features in the [`googleapis`][] package.
24-
* Also uses the [`googleapis_auth`][], [`shelf`][], and
25-
[`shelf_router`][] packages.
26-
* Is deployable on Cloud Run.
10+
Dart resources for writing HTTP servers include:
11+
12+
## Packages
13+
14+
* [cronet_http]({{site.pub-pkg}}/cronet_http)
15+
Provides access to the Android [Cronet][] HTTP client.
16+
* [cupertino_http]({{site.pub-pkg}}/cupertino_http)
17+
Provides access to Apple's [Foundation URL Loading System][furl].
18+
19+
## Documentation
20+
21+
* [Using Google Cloud][] has information on Google Cloud products
22+
that Dart servers can use, such as Cloud Run.
23+
* [Using Google APIs][] points to resources to help you
24+
use Firebase and Google client APIs from a Dart app.
25+
26+
## Samples
27+
28+
* [A simple Dart HTTP server][simple-sample]
29+
* Uses the [`shelf`][] package.
30+
* Also uses the [`shelf_router`][] and [`shelf_static`][] packages.
31+
* Is deployable on Cloud Run.
32+
* [A Dart HTTP server that uses Cloud Firestore][cloud-sample]
33+
* Uses the Cloud Firestore features in the [`googleapis`][] package.
34+
* Also uses the [`googleapis_auth`][], [`shelf`][], and
35+
[`shelf_router`][] packages.
36+
* Is deployable on Cloud Run.
2737

2838
[cloud-sample]: https://github.com/dart-lang/samples/tree/main/server/google_apis
2939
[`googleapis`]: {{site.pub-pkg}}/googleapis
@@ -34,3 +44,6 @@ Here are some resources for writing servers using Dart:
3444
[simple-sample]: https://github.com/dart-lang/samples/tree/main/server/simple
3545
[Using Google APIs]: /guides/google-apis
3646
[Using Google Cloud]: /server/google-cloud
47+
48+
[Cronet]: {{site.android-dev}}guide/topics/connectivity/cronet/reference/org/chromium/net/package-summary
49+
[furl]: {{site.apple-dev}}/documentation/foundation/url_loading_system

0 commit comments

Comments
 (0)