Skip to content

Commit 4258cdc

Browse files
authored
Update web_networking.md
1 parent 3b2104f commit 4258cdc

File tree

1 file changed

+31
-25
lines changed

1 file changed

+31
-25
lines changed

content/web_networking.md

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,10 @@ tags: [ecosystem]
1111
* [ICFP presentation on improving the OCaml web stack](https://www.youtube.com/watch?v=tTqqu4xh4UY&t=1156s)
1212
* [Building an OCaml webapp using Opium](https://shonfeder.gitlab.io/ocaml_webapp/)
1313

14-
## Low-Level HTTP Protocol
15-
16-
* [h2](https://github.com/anmonteiro/ocaml-h2):
17-
High performance http2 implementation.
18-
* [httpaf](https://github.com/inhabitedtype/httpaf):
19-
A high performance HTTP implementation written in OCaml. Compatible with Async and Lwt.
20-
* [cohttp](https://github.com/mirage/ocaml-cohttp):
21-
Older, slower implementation of HTTP supporting only HTTP/1.x.
22-
2314
## HTTP Servers
2415

16+
* [dream](https://github.com/aantron/dream):
17+
Tidy, feature complete web framework. Supports http and http2.
2518
* [Opium](https://github.com/rgrinberg/opium):
2619
Sinatra like micro-framework web toolkit for OCaml.
2720
* [Tutorial: Building an OCaml WebApp](https://shonfeder.gitlab.io/ocaml_webapp/)
@@ -36,25 +29,12 @@ Simple HTTP server like python's SimpleHTTPServer, for serving files.
3629
Typed bidirectional routing utility with combinators.
3730
Could be useful as part of creating a server.
3831

39-
## HTTP Clients
40-
41-
* [piaf](https://github.com/anmonteiro/piaf):
42-
An HTTP client that supports both HTTP/1.x and HTTP/2, and with better cross-platform support for SSL.
43-
* [http-lwt-client](https://github.com/roburio/http-lwt-client):
44-
A simple HTTP client with emphasis on minimal dependencies.
45-
* [cohttp](https://github.com/mirage/ocaml-cohttp):
46-
A mature, lightweight HTTP server and client that currently only supports HTTP/1.x.
47-
* [fetch](https://github.com/lessp/fetch):
48-
*Experimental*.
49-
Aims to provide a common interface, following the fetch specification,
50-
over different HTTP and Promise implementations. Currently only supports `piaf` and `lwt`,
51-
but also plans to support BuckleScript in the near future.
52-
* [Curly](https://github.com/rgrinberg/curly): Wrapper around the `curl` command for applications that want to create simple HTTP requests
53-
5432
## Web Frameworks
5533

5634
* [dream](https://github.com/aantron/dream):
5735
Tidy, feature complete web framework. Supports http and http2.
36+
* [nightmare](https://github.com/funkywork/nightmare):
37+
Set of useful components to use with `Dream`.
5838
* [hc](https://erratique.ch/software/hc):
5939
Lightweight framework for web applications using server processing and the `fetch` interface.
6040
* [Ocsigen Eliom](http://ocsigen.org/eliom/): a full-featured multi-tier framework,
@@ -93,6 +73,8 @@ Also includes experimental [FRP](frp.md) support via `Note`.
9373

9474
## Web Apps
9575

76+
* [Muhokama](https://github.com/xvw/muhokama):
77+
Forum software written on top of `Dream`.
9678
* [Cumulus](https://github.com/Cumulus/Cumulus):
9779
Hackernews-like website with the OCaml framework Ocsigen (demo is currently down).
9880
* [Prose](https://gitlab.com/adrien-n/prose/):
@@ -101,7 +83,31 @@ A Google-docs-like collaborative editing application written using Eliom/Ocsigen
10183
A blogging MirageOS unikernel based on git.
10284
Can be compiled to Unix as well.
10385

104-
## Javascript Compiler
86+
## Low-Level HTTP Protocol
87+
88+
* [h2](https://github.com/anmonteiro/ocaml-h2):
89+
High performance http2 implementation.
90+
* [httpaf](https://github.com/inhabitedtype/httpaf):
91+
A high performance HTTP implementation written in OCaml. Compatible with Async and Lwt.
92+
* [cohttp](https://github.com/mirage/ocaml-cohttp):
93+
Older, slower implementation of HTTP supporting only HTTP/1.x.
94+
95+
## HTTP Clients
96+
97+
* [piaf](https://github.com/anmonteiro/piaf):
98+
An HTTP client that supports both HTTP/1.x and HTTP/2, and with better cross-platform support for SSL.
99+
* [http-lwt-client](https://github.com/roburio/http-lwt-client):
100+
A simple HTTP client with emphasis on minimal dependencies.
101+
* [cohttp](https://github.com/mirage/ocaml-cohttp):
102+
A mature, lightweight HTTP server and client that currently only supports HTTP/1.x.
103+
* [fetch](https://github.com/lessp/fetch):
104+
*Experimental*.
105+
Aims to provide a common interface, following the fetch specification,
106+
over different HTTP and Promise implementations. Currently only supports `piaf` and `lwt`,
107+
but also plans to support BuckleScript in the near future.
108+
* [Curly](https://github.com/rgrinberg/curly): Wrapper around the `curl` command for applications that want to create simple HTTP requests
109+
110+
## Ocaml to Javascript
105111

106112
* [js_of_ocaml](http://ocsigen.org/js_of_ocaml):
107113
Compiles OCaml bytecode to Javascript.

0 commit comments

Comments
 (0)