Difference between revisions of "Libraries and Frameworks"

From D Wiki
Jump to: navigation, search
(Databases)
m (Fix link to redirect)
 
(20 intermediate revisions by 6 users not shown)
Line 3: Line 3:
  
 
== GUI Libraries ==
 
== GUI Libraries ==
{{:GUI_Libraries}}
+
{{:GUI Libraries}}
  
== General Purpose Libraries ==
+
{{:General_Purpose_Libraries}}
 
 
{{Projects
 
| Projects =
 
 
 
{{Project
 
| name = '''Unstandard'''
 
| about = General purpose library aimed to be an addition to the D standard library Phobos.
 
| platform = Platform-independent
 
| license = Boost 1.0
 
| url = https://bitbucket.org/denis-sh/unstandard
 
}}
 
}}
 
  
 
== Game development and Multimedia ==
 
== Game development and Multimedia ==
Line 23: Line 11:
  
 
== Serialization ==
 
== Serialization ==
{{Projects
+
{{:Serialization_Libraries}}
| Projects =
 
 
 
{{Project
 
| name = '''Orange'''
 
| about = Orange is a serialization library for the D programming language. It supports D1/Tango and D2/Phobos.
 
| platform = Windows/POSIX
 
| license = Boost 1.0
 
| url = https://github.com/jacob-carlborg/orange
 
}}
 
{{Project
 
| name = '''msgpack-d'''
 
| about = MessagePack is a binary-based JSON-like serialization library. msgpack-d is a pure D implementation of MessagePack.
 
| platform = Windows/POSIX
 
| license = Boost 1.0
 
| url = https://github.com/msgpack/msgpack-d
 
}}
 
{{Project
 
| name = '''yajl-d'''
 
| about = Yet Another JSON Library, which supports the stream parsing. yajl-d is a YAJL binding for D.
 
| platform = Windows/POSIX
 
| license = Boost 1.0
 
| url = https://github.com/repeatedly/yajl-d
 
}}
 
{{Project
 
| logo = [[File:DYAML-logo.png|link=http://dyaml.alwaysdata.net]]
 
| name = '''D:YAML'''
 
| about = YAML is a serialization format aimed at speed and human readability. D:YAML is a YAML parser in D, originally based on PyYAML.
 
| platform = Platform-independent
 
| license = Boost 1.0
 
| url = http://dyaml.alwaysdata.net
 
}}
 
{{Project
 
| name = '''Apache Thrift'''
 
| about = Thrift is a framework for scalable cross-language services development (serialization/RPC) and supports D out of the box.
 
| platform = Windows/POSIX
 
| license = Apache License v2.0
 
| url = http://thrift.apache.org
 
}}
 
}}
 
  
 
== Databases ==
 
== Databases ==
{{Projects
+
{{:Database_Libraries}}
| Projects =
 
 
 
{{Project
 
| name = '''DSQLite''' (bioinfornatics)
 
| about = D library to use SQLite
 
| platform = Windows/POSIX
 
| license = GPL
 
| url = https://github.com/bioinfornatics/DSQLite
 
}}
 
 
 
{{Project
 
| name = '''SQLite3-D''' (bayun)
 
| about = D2 SQLite bindings and OO interface
 
| platform = ??
 
| license = Boost
 
| url = https://github.com/bayun/SQLite3-D
 
}}
 
 
 
{{Project
 
| name = '''d2sqlite3''' (biozic)
 
| about = This wrapper around SQLite in D
 
| platform = ??
 
| license = Boost
 
| url = https://github.com/biozic/d2sqlite3
 
}}
 
{{Project
 
| name = '''sqlite4d''' (yasuhiro1988)
 
| about = SQLite bridge library for D programming language
 
| platform = ??
 
| license = [https://github.com/yasuhiro1988/sqlite4d/blob/master/LICENSE.md see]
 
| url = https://github.com/yasuhiro1988/sqlite4d
 
}}
 
 
 
 
 
{{Project
 
| name = '''arsdnet'''
 
| about = PostgreSQL, mySQL and SQLite simple binding.
 
| platform = Windows/POSIX
 
| license = Boost
 
| url = https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff
 
}}
 
 
 
{{Project
 
| name = '''dpq2'''
 
| about = Yet another attempt to create a good interface to PostgreSQL
 
| platform = Windows/POSIX
 
| license = ?
 
| url = https://github.com/denizzzka/dpq2
 
}}
 
 
 
 
 
 
 
{{Project
 
| name = '''ReeD'''
 
| about = ArangoDB Driver.
 
| platform = POSIX
 
| license = Boost 1.0
 
| url = https://github.com/repeatedly/reed
 
}}
 
{{Project
 
| name = '''ddb'''
 
| about = Database access for D2. Currently, only PostgreSQL client
 
| platform = POSIX
 
| license = Boost 1.0
 
| url = https://github.com/pszturmaj/ddb
 
}}
 
 
 
}}
 
  
 
== Scripting D applications ==
 
== Scripting D applications ==
{{Projects
+
{{:Scripting_Libraries}}
| Projects =
 
 
 
{{Project
 
| name = '''LuaD'''
 
| about = Lua for the D Programming Language
 
| platform = Windows/POSIX
 
| license = MIT
 
| url = https://github.com/JakobOvrum/LuaD
 
}}
 
{{Project
 
| name = '''Pyd'''
 
| about = Python for the D Programming Language
 
| platform = Windows/POSIX
 
| license = MIT
 
| url = https://bitbucket.org/ariovistus/pyd
 
}}
 
}}
 
  
 
== Text-to-speech ==
 
== Text-to-speech ==
Line 172: Line 36:
  
 
== Instant messaging ==
 
== Instant messaging ==
{{Projects
+
{{:IRC_Libraries}}
| Projects =
 
 
 
{{Project
 
| name = '''Dirk'''
 
| about = IRC library
 
| platform = Windows/POSIX
 
| license = MIT
 
| url = https://github.com/JakobOvrum/Dirk
 
}}
 
}}
 
  
 
== Unit Testing Framework ==
 
== Unit Testing Framework ==
{{Projects
+
{{:Unit_Testing_Framework}}
| Projects =
 
 
 
{{Project
 
| name = '''dunit''' (jmcabo)
 
| about = D Unit Testing Framework.
 
| platform = Windows/POSIX
 
| license = Boost 1.0
 
| url = https://github.com/jmcabo/dunit
 
}}
 
{{Project
 
| name = '''dunit''' (linkrope)
 
| about = xUnit Testing Framework for D (forked from jmcabo/dunit).
 
| platform = Windows/POSIX
 
| license = Boost 1.0
 
| url = https://github.com/linkrope/dunit
 
}}
 
{{Project
 
| name = '''unit-threaded'''
 
| about = Multi-threaded unit test framework for D.
 
| platform = Windows/POSIX
 
| license = ?
 
| url = https://github.com/atilaneves/unit-threaded
 
}}
 
{{Project
 
| name = '''DUnit''' (nomad-software)
 
| about = Advanced unit testing toolkit.
 
| platform = Windows/POSIX
 
| license = MIT
 
| url = https://github.com/nomad-software/dunit
 
}}
 
{{Project
 
| name = '''DMocks-revived'''
 
| about = DMocks-revived is a mock object framework for the D Programming Language, written also in D.
 
| platform = Windows/POSIX
 
| license = [https://github.com/QAston/DMocks-revived/blob/master/LICENSE.txt]
 
| url = https://github.com/QAston/DMocks-revived
 
}}
 
}}
 
 
 
== IoC Container ==
 
{{Projects
 
| Projects =
 
 
 
{{Project
 
| name = '''Deject'''
 
| about = Dependency injection system for the D programming language
 
| platform =
 
| license =
 
| url = https://github.com/bgertzfield/deject
 
}}
 
{{Project
 
| name = '''Dejector'''
 
| about = D Dependency Injection Framework
 
| platform =
 
| license =  MIT license
 
| url = https://github.com/jstasiak/dejector
 
}}
 
 
 
{{Project
 
| name = '''poodinis'''
 
| about = A dependency injection framework for D with support for autowiring.
 
| platform =
 
| license =  MIT license
 
| url = https://github.com/mbierlee/poodinis
 
}}
 
  
}}
+
== Dependency Injection Containers ==
 +
{{:Dependency_Injection_Containers}}
  
 
== Alternative standard libraries / runtimes ==
 
== Alternative standard libraries / runtimes ==
{{Projects
+
{{:Alternative_Standard_Libraries}}
| Projects =
 
  
{{Project
+
[[Category:Projects]]
| name = '''Tango'''
 
| about = D2 port of Tango, the alternative D1 standard library
 
| platform =
 
| license = BSD / AFL3
 
| url = https://github.com/SiegeLord/Tango-D2
 
}}
 
{{Project
 
| name = '''MiniLibD'''
 
| about = A collection of libraries and tools to compile D language programs for embedded systems with the gdc compiler.
 
| platform =
 
| license = Boost
 
| url = https://bitbucket.org/timosi/minlibd
 
}}
 
{{Project
 
| name = '''SlimD'''
 
| about = Minimalistic runtime / standard library for D
 
| platform =
 
| license =
 
| url = https://github.com/CyberShadow/SlimD
 
}}
 
{{Project
 
| name = '''minimal D'''
 
| about = Minimalistic runtime for D
 
| platform =
 
| license =
 
| url = http://arsdnet.net/dcode/minimal.zip
 
}}
 
{{Project
 
| name = '''MicroD'''
 
| about = DMD fork which outputs C code instead of object files.
 
| platform =
 
| license =
 
| url = https://github.com/yebblies/dmd/tree/microd
 
}}
 
{{Project
 
| name = '''D Runtime ARM Cortex-M study'''
 
| about = Druntime port to an ARM Cortex-M processor
 
| platform =
 
| license =
 
| url = https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study
 
}}
 
 
 
}}
 

Latest revision as of 00:50, 24 March 2016

Web Development

Title / InfoDescriptionLicensePlatform
Hunt-icon-48x48.png
Hunt is a high-level D Programming Language Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performance Web applications quickly and easily. Apache 2.0 Windows, FreeBSD, macOS, Linux
Logo-vibed-48x48.png
Asynchronous I/O and web development framework for D, providing a fiber based blocking programming model with a concise API. Comes with database support for MongoDB and Redis. MIT Windows, POSIX
Diamond-mvc.png
A full-stack web framework build on-top of vibe.d targeting enterprise development. It's a stable and fully functional framework and requires minimal to no D knowledge to use. MIT Windows, POSIX, Cloud-platforms (Azure, Heroku, AWS)
Icon dpackage 48.png
Tiny Redis is a Redis driver for D2. It is intentionally minimal, fast, simple and has no dependencies. ISC Windows, POSIX

GUI Libraries

Note: this list may not always be up-to-date nor complete.

For an automatically updated GUI library list in DUB please check the GUI category. Note however that not all GUI libraries on this page are registered or visible on dub.

Wrappers

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
GTK+ is a highly usable, feature rich toolkit for creating graphical user interfaces which boasts cross platform compatibility and an easy to use API. LGPL Windows/POSIX/Mac OS X
DWT Logo 48x48.png
DWT is a library for creating cross-platform GUI applications. It's a port of the SWT Java library from Eclipse. DWT is compatible with D2 using the standard library (Phobos) and D1 using Tango. Now available on 32 and 64 bit, Linux and Windows. Old dsource.org page. EPL-1.0 Windows/Linux
Icon dpackage 48.png
Qt bindings for D BSD 2-clause Windows/Linux/Mac OS X
Icon dpackage 48.png
experimental bindings for a subset of Qt 5 LGPL-3.0 Windows/Linux/Mac OS X
Icon dpackage 48.png
Qt Qml bindings for the D programming language LGPLv3 Windows/Linux
Icon dpackage 48.png
It is wrapper Qt-5 for programming language D. Boost 1.0 Windows/Linux/Mac OS X
Icon dpackage 48.png
wxD is D programming language bindings for wxWidgets, providing a portable GUI toolkit for D. wxWidgets(GNU LGPL based) Windows/Linux/Mac OS X
Icon dpackage 48.png
Testing use of C++ FLTK GUI lib from D code Academic Free License
Icon dpackage 48.png
GUI toolkit for the D programming language based on Tcl/Tk MIT License (MIT) Windows/Linux/Mac OS X
Icon dpackage 48.png
dtk is a D wrapper of the Tcl/Tk graphics library. Boost Windows/Linux/Mac OS X
Icon dpackage 48.png
Sciter engine bindings for creating HTML/CSS/scripting based multi-platform desktop apps MIT Windows/Linux
Icon dpackage 48.png
Awesomium wrapper and WebView GUI library for D programming language.  ?? Windows/Linux
Icon dpackage 48.png
Dynamic bindings to the libui c library. MIT Windows/Linux/Mac OS X
Icon dpackage 48.png
Complete OO interfaces of libui in D MIT Windows/Linux/Mac OS X
Icon dpackage 48.png
Delta enables you to create your UI using Embarcadero Delphi RAD Studio (FireMonkey) while all application code is written in D. Boost 1.0 Windows


Native

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
D Forms Library is a graphical user interface library for Windows. The project as abandoned by its author but unofficial forks is alive. In license.txt Windows
Icon dpackage 48.png
DFL unofficial fork In license.txt Windows
Icon dpackage 48.png
DFL FrankLike fork unofficial fork, now dfl can be build by dco. LGPL 3.0 Windows
Icon dpackage 48.png
Yet another DFL fork Boost Windows
Icon dpackage 48.png
DGui is a graphic library for Windows that aims to make windows applications with small effort. Boost 1.0 Windows
Icon dpackage 48.png
A library for creating basic Win32 Apps with just a small amount of code.  ?? Windows
Icon dpackage 48.png
Cross platform GUI library, a bit similar to Android UI API. Layouts, styles, themes, unicode, i18n, OpenGL based acceleration, widgets, DML - QML-like UI definition. Boost 1.0 Windows/Linux/Mac OS X/Android
Icon dpackage 48.png
A GUI library written in D Boost Windows/Linux


General Purpose Libraries

Title / InfoDescriptionLicensePlatform
Hunt-icon-48x48.png
Containers, event, async io, caching, logging, time, serialization and other core components are included. Apache 2.0 Windows, FreeBSD, macOS, Linux
Icon dpackage 48.png
General purpose library aimed to be an addition to the D standard library Phobos. Boost 1.0 Platform-independent
Icon dpackage 48.png
A common type and function library for D language programs MIT Platform-independent
Dlib-logo-48x48.png
Linear algebra, geometry, image processing, data streams, filesystem abstraction, XML parsing. Boost 1.0 Windows, POSIX
Icon dpackage 48.png
Open (and multi) methods. Virtual functions as free functions. Solves the Expression Problem. Boost 1.0 Platform-independent

Game development and Multimedia

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
A collection of dynamic D bindings to C libraries, useful for multimedia and game development. Boost Windows, POSIX
Icon dpackage 48.png
A cross-platform game programming library with up-to-date D bindings. (*The Derelict Project also includes different, but at the time of writing, older/stale bindings.) Custom (BSD-like) Windows, Linux (including Raspberry PI), Mac OSX, iPhone and Android
Icon dpackage 48.png
Game-oriented math library in style of GLSL builtin types/functions. Vectors, matrices, frustums, etc. MIT Platform-independent
Icon dpackage 48.png
Game oriented linear algebra, fixed point, memory alloc, containers, bindings, etc. Unlicense (public domain) Windows, POSIX
Icon dpackage 48.png
High-level OpenGL wrapper for D. MIT Windows, POSIX
Icon dpackage 48.png
Component-based entity system framework for D. New BSD License Platform-independent
Icon dpackage 48.png
A port of the Box2D physics library for 2D games. zlib Platform-independent
Icon dpackage 48.png
A port of the Chipmunk2D physics library for 2D games. MIT Platform-independent
Icon dpackage 48.png
3D game engine. Boost Windows, POSIX
Icon dpackage 48.png
3D physics engine (rigid body dynamics) written in D. Boost Platform-independent
Icon dpackage 48.png
Various game development utilities, including graphics, networking, image processing, OS utilities, etc. MPL, Public Domain Windows, POSIX
Icon dpackage 48.png
A port of the imgui OpenGL GUI library. zlib Platform-independent
Icon dpackage 48.png
Esoteric Software Spine runtime binding for D. MIT Platform-independent
Icon dpackage 48.png
Dynamic bindings to the raylib library. Boost Platform-independent



Serialization

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Thrift is a framework for scalable cross-language services development (serialization/RPC) and supports D out of the box. Apache License v2.0 Windows/POSIX
Icon dpackage 48.png
Binary serialisation library for D. Minimal to no boilerplate necessary. BSD like Windows/POSIX
DYAML-logo.png
YAML is a serialization format aimed at speed and human readability. D:YAML is a YAML parser in D, originally based on PyYAML. Boost 1.0 Platform-independent
Icon dpackage 48.png
MessagePack is a binary-based JSON-like serialization library. msgpack-d is a pure D implementation of MessagePack. Boost 1.0 Windows/POSIX
Icon dpackage 48.png
Orange is a serialization library for the D programming language. It supports D1/Tango and D2/Phobos. Boost 1.0 Windows/POSIX
Icon dpackage 48.png
Yet Another JSON Library, which supports the stream parsing. yajl-d is a YAJL binding for D. Boost 1.0 Windows/POSIX
Icon dpackage 48.png
D library for versatile object serialization/deserialization, supporting integral types, arrays, and strings. MIT Linux

Databases

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
A database abstraction layer, support PostgreSQL / MySQL / SQLite. Apache 2.0 FreeBSD/Linux/Windows/MacOS
Icon dpackage 48.png
A lightweight and simple key-value database (store) build on top of std.json (dddb clone). MIT Linux
Icon dpackage 48.png
A lightweight and simple key-value database (store) build on top of std.json. MIT Linux
Icon dpackage 48.png
An object-relational mapping (ORM) framework for dlang's database, support PostgreSQL / MySQL / SQLite. Apache 2.0 FreeBSD/Linux/Windows/MacOS
Icon dpackage 48.png
D library to use SQLite GPL Windows/POSIX
Icon dpackage 48.png
D2 SQLite bindings and OO interface Boost  ??
Icon dpackage 48.png
This wrapper around SQLite in D Boost  ??
Icon dpackage 48.png
SQLite bridge library for D programming language see  ??
Icon dpackage 48.png
PostgreSQL, mySQL and SQLite simple binding. Boost Windows/POSIX
Icon dpackage 48.png
Yet another attempt to create a good interface to PostgreSQL Boost Windows/POSIX
Icon dpackage 48.png
Database access for D2. Currently, only PostgreSQL client Boost 1.0 POSIX
Icon dpackage 48.png
Allows to use JSON-RPC requests to PostgresSQL RDBMS. MIT POSIX
Icon dpackage 48.png
ArangoDB Driver. Boost 1.0 POSIX
Icon dpackage 48.png
DB access library similar to JDBC (supports PostgreSQL, MySQL, SQLite). Boost 1.0 Windows/POSIX
Icon dpackage 48.png
ORM for D (supports PostgreSQL, MySQL, SQLite). Boost 1.0 Windows/POSIX
Icon dpackage 48.png
Simple but powerful PostgreSQL library with support for both ORM and manual querying. MIT POSIX(Windows untested)

Scripting D applications

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Lua for the D Programming Language MIT Windows/POSIX
Icon dpackage 48.png
Python for the D Programming Language MIT Windows/POSIX
Icon dpackage 48.png
Scheme interpreter in D Public domain Platform-independent
Icon dpackage 48.png
A simple & fast scripting language, written entirely in D. MIT Platform-independent

Text-to-speech

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Text to speech library MIT Windows/POSIX


Bioinformatics specific

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
The DScience Project goal is to become an international association of developers of freely available D tools for computational molecular biology. LGPLv3+ Windows/POSIX
Icon dpackage 48.png
R/qtlHD (or qtlHD) is the next generation implementation of R/qtl. qtlHD is aimed at QTL analysis of high-density, high-throughput data; for example for RNA-seq. BSD Windows/POSIX
Icon dpackage 48.png
Library for high-performance processing of BAM, SAM, SFF. BioD aims to support more formats in the future. MIT Windows/POSIX

Instant messaging

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
IRC library MIT Windows/POSIX

Unit Testing Framework

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
D Unit Testing Framework. Boost 1.0 Windows/POSIX
Icon dpackage 48.png
xUnit Testing Framework for D (forked from jmcabo/dunit). Boost 1.0 Windows/POSIX
Icon dpackage 48.png
Multi-threaded unit test framework for D. BSD-3-Clause Windows/POSIX
Icon dpackage 48.png
Advanced unit testing toolkit. MIT Windows/POSIX
Icon dpackage 48.png
DMocks-revived is a mock object framework for the D Programming Language, written also in D. [1] Windows/POSIX
Icon dpackage 48.png
The extensible test runner for DLang MIT



Dependency Injection Containers

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Dependency injection system for the D programming language
Icon dpackage 48.png
D Dependency Injection Framework MIT license
Icon dpackage 48.png
A dependency injection framework for D with support for autowiring. MIT license
Icon dpackage 48.png
Simple D Dependency Injection Framework Boost license Linux / Windows
Icon dpackage 48.png
Another dependency injection library for D MIT license Linux / Windows
Icon dpackage 48.png
A dependency injection library Linux / Windows

Alternative standard libraries / runtimes

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
D2 port of Tango, the alternative D1 standard library BSD / AFL3
Icon dpackage 48.png
A collection of libraries and tools to compile D language programs for embedded systems with the gdc compiler. Boost
Icon dpackage 48.png
Minimalistic runtime / standard library for D
Icon dpackage 48.png
Minimalistic runtime for D
Icon dpackage 48.png
DMD fork which outputs C code instead of object files.
Icon dpackage 48.png
Druntime port to an ARM Cortex-M processor