Sign in Join
Wiki copytemporary

Networking libraries: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Networking libraries

OldNewLine
1+| Name | Developers | Platforms | License | Supported protocols | Remarks |
2+|----|----|----|----|----|----|
3+| [[lNet]] | Aleš Katona | Windows, Linux, macOS, FreeBSD | Modified LGPL | TCP, UDP, HTTP, HTTPS, FTP, SMTP, TELNET | Lazarus/FPC |
4+| [[Synapse]] | Lukas Gebauer | Windows, Linux, macOS, FreeBSD | [BSD style license](http://www.ararat.cz/synapse/doku.php/license) | TCP, UDP, HTTP, HTTPS, FTP, SMTP, SNMP, NTP, POP3, PING, IMAP, LDAP, FTPS, DNS | Runs on both Delphi and Lazarus/FPC |
5+| [[Indy with Lazarus|Indy]] | team | Windows, Linux, macOS, iOS, Android | MPL, modified BSD | numerous protocols | Runs on both Delphi and Lazarus/FPC |
6+| [[Internet Tools]] | Benito van der Zander | Windows, Linux, macOS, Android | GPL | HTTP, HTTPS | |
7+| [**IP*Works!**](http://www.nsoftware.com/ipworks/#plat-delphi) | team | Windows, Linux, macOS | Commercial | numerous protocols | Runs on both Delphi and Lazarus/FPC; requires .NET Framework 2.0 - 4.8. |
8+| [**ICS**](http://www.overbyte.eu/) | François Piette | Windows | Freeware(*) | numerous protocols | Delphi/FPC. Kylix/FPC is a separate, abandoned codebase |
9+| [**miniSocket**](https://github.com/parmaja/minilib) | Zaher Dirkey, Bilal Alhamad | Windows, Linux, macOS | Modified LGPL | TCP, HTTP, HTTPS, SMTP, OpenSSL, TLS1.3 | Delphi and FPC |
10+| [**CrossSocket**](https://github.com/winddriver/Delphi-Cross-Socket) | WindDriver | Windows, Linux, macOS, Android | LGPL-3.0 license | numerous protocols | Delphi and FPC |
11+
12+(*) request to send a postcard when used in production.
13+
14+## Web Frameworks
15+
16+It's actually hard to define what particular functionality a web-framework should provide. At least it should be able to communicate with a web-server OR even provide web-server functionality itself.
17+
18+The content and a coverage of each framework listed below varies. Some libraries provide functionality that is implemented in other libraries, i.e. HTML creation, database interaction, encryption, handling archive files, while others do not. It's questionable, if such functionality is mandatory for a web-framework.
19+
20+<table>
21+<thead>
22+<tr>
23+<th><p>Library</p></th>
24+<th><p>Link</p></th>
25+<th><p>Notes</p></th>
26+</tr>
27+</thead>
28+<tbody>
29+<tr>
30+<td><p>[[fcl-web]]</p></td>
31+<td><p>FPC packages</p></td>
32+<td></td>
33+</tr>
34+<tr>
35+<td><p>ExtPascal</p></td>
36+<td><p><a href="https://github.com/farshadmohajeri/extpascal">https://github.com/farshadmohajeri/extpascal</a></p></td>
37+<td><p>GPLv3</p></td>
38+</tr>
39+<tr>
40+<td><p>Brook</p></td>
41+<td><p><a href="https://github.com/risoflora/brookfreepascal">https://github.com/risoflora/brookfreepascal</a></p></td>
42+<td><p>LGPLv2.1</p></td>
43+</tr>
44+<tr>
45+<td><p>[[mORMot]]</p></td>
46+<td><p><a href="https://github.com/synopse/mORMot">https://github.com/synopse/mORMot</a></p></td>
47+<td><p>MPLv1.1 GPLv2.0 LGPLv2.1</p></td>
48+</tr>
49+<tr>
50+<td><p>Fano Framework</p></td>
51+<td><p><a href="https://github.com/fanoframework/fano">https://github.com/fanoframework/fano</a></p>
52+<p><a href="https://fanoframework.github.io/">https://fanoframework.github.io/</a></p></td>
53+<td><p>MIT</p></td>
54+</tr>
55+<tr>
56+<td><p>[[Powtils]]</p></td>
57+<td><p><a href="https://github.com/z505/powtils">https://github.com/z505/powtils</a></p></td>
58+<td></td>
59+</tr>
60+<tr>
61+<td><p>FastPlaz</p></td>
62+<td><p><a href="https://github.com/fastplaz/fastplaz">https://github.com/fastplaz/fastplaz</a></p>
63+<p><a href="https://github.com/fastplaz">https://github.com/fastplaz</a></p></td>
64+<td><p>Freeware?</p>
65+<p>The library is based on fcl-web in order to handle the communication.</p>
66+<p>Provides high level MVC routines.</p></td>
67+</tr>
68+</tbody>
69+</table>
70+
71+### Comparison by WebServer Communication
72+
73+| Library | CGI | FastCGI | SCGI | Apache Module | uWSGI |
74+|-----------|-----|---------|------|---------------|-------|
75+| fcl-web | Yes | Yes | No | Yes | No |
76+| ExtPascal | Yes | Yes | No | No | No |
77+| Brook | Yes | Yes | No | No | No |
78+| mORMot | Yes | Yes | No | No | No |
79+| Fano | Yes | Yes | Yes | No | Yes |
80+| Powtils | Yes | No | No | No | No |
81+
82+---
83+*From the Free Pascal wiki, page "Networking libraries", as it stood on 2023-10-02 after a change by Zaher, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history