D

Awesome D Awesome


精选的D框架,库和软件的精选列表. 受启发 awesome-python.

我创建了此列表,以便将来需要时可以轻松找到. 大多数文档和链接是从 D forumD wikiD package repository . 探索GitHub还可以帮助托管许多lib.

如果您知道D中有趣的lib / app,请通过问题或请求请求告诉我:-).

- 基本信息
-文件
-语言相关 
-其他语言的编译器
-公用/公用事业
-网络/网络相关
-数据库
- GUI
-作业系统
-游戏
- 视频
- 图像处理
-最终用户应用程序(AppImages,Flatpaks,Snaps ...)
-科学
-机器学习
- 其他

Official Website

官方网站网址.

Getting Help

适合您在被卡住时使用.

People

使D成为语言的人

  • Walter Bright -D. Walter Bright的父亲是D编程语言的创建者和第一个实现者,并且已经实现了其他几种语言的编译器.
  • Andrei Alexandrescu, PhD -C ++专家. 《 D编程语言》和《现代C ++设计》的作者. Andrei与Walter Bright共同设计了D的许多重要功能,并编写了D标准库的很大一部分. Andrei是高级C ++编程和算法的培训师,现在正在组织中积极宣传D.
  • -如果您在D中做过一些有趣的事情,请添加您的信息.正是您,那些使D很棒的人.

Events

  • DConf -顶级活动,D专家交流有关D语言及其生态系统的一切知识,见识和灵感.

Organizations

对D项目有贡献的组织.

  • D Programming Language -官方组织,托管DMD,Phobos和其他官方工具和库.
  • LDC Developers -最不发达国家相关项目.
  • DerelictOrg -托管所有Derelict绑定(包括OpenGL和其他与多媒体/游戏相关的库绑定)的GitHub组织. (OpenGL 3,Bgfx,ENet,SDL 2,GLFW 3,OpenGLES,免费映像,Assimp3,libtheora,libogg,libvorbis,SFML 2,libpq,PhysicsFS,Open Dynamics Engine,Lua,DevIL,OpenAL,ALURE).
  • DlangScience -D的科学图书馆和工具的联络中心和第一站.
  • Circular Studios -我们是罗切斯特理工学院的游戏开发人员,负责开发游戏和游戏技术. 主持人 Dash,用D语言编写的3D游戏引擎以及其他相关的库.
  • d-gamedev-team -一个与gamedev相关的仓库的组织,其中包括一个名为D gamedev的工具包 gfmopengl tutorial in D.
  • EMSI -以D为主要语言的职业建筑公司. 托管他们的开源项目.
  • infognition -Infognition是一家自筹资金且自立的公司,专门为最终用户和开发人员提供视频处理和压缩技术. 他们提供了几种以D编写的开源视频相关应用程序和工具,托管在 bitbucket. They are also porting their main product--Video Enchanser 从C / C ++到D.
  • libmir -D的数字图书馆开发团队
  • sociomantic labs -总部位于柏林的公司,专门从事在线广告的实时出价. 的主要赞助商 annual D language conference . 已将其代码库的大部分开源为 tsunami 组织.
  • Symmetry Investments -Symmetry Investments LP是一家投资管理公司,截至2018年12月31日,其管理的资产约为47亿美元. Symmetry Autumn of Code . 赞助了 excel-d, dpp, autowrap, mir-algorithm, and various other projects.
  • HuntLabs -使用DLang的技术小组. 具有纯D语言实现,可快速开发服务器端应用程序并构建分布式系统服务.

Books

  • D相关书籍.*您可以在 Books D Wiki页面.
  • TDPL - D编程语言由Andrei Alexandrescu撰写.
  • Programming in D -AliÇehreli撰写的有关D语言编程的非常详尽的书,涵盖了语言的许多领域. 有一个免费的在线版本,适合初学者.
  • D Cookbook - A recipe-packed reference guide filled with practical tasks that are concisely explained to develop and broaden the user's abilities with the D programming language. by Adam D. Ruppe. Here is an interesting review of the book.
  • Learning D -本书适用于具有C族语言背景的人士,他们希望学习如何将其知识和经验应用于D.(...)本书将帮助您快速掌握该语言并避免常见问题.将C族的经验转化为D时出现的陷阱.
  • D Web Development -无论您是D世界的新手,还是已经在D中开发应用程序的人,或者您想利用D的功能进行Web开发,那么本书都是您的理想选择.

Tutorials

Bare metal / kernel development

Blogs

  • D相关博客.*

  • blog.dlang.org -官方博客.

  • /r/d_language on Reddit -有关D的新闻和博客文章的供稿.
  • This week in D -每周在D社区中进行的活动概述和简短的建议列,以帮助您充分利用D编程语言.
  • Planet D -由弗拉基米尔·潘捷列夫(Vladimir Panteleev)维护的特定D博客合著库.
  • D Idioms -一个很棒的博客,提供有关D编程的许多有用习语.
  • GTK-D coding -有关如何使用GtkD构建GUI应用程序的简单示例.

Articles

与D有关的Aritcles.

Package Management

用于程序包和依赖项管理的库.

  • code.dlang.org -官方D库资料库. 由配音支持.
  • dub -D的官方打包和构建管理系统.

Compilers

从源代码编译软件.

  • dmd -D编程语言的参考编译器. 稳定,快速构建,非常适合学习和快速制作原型/开发. 当前,前端是用D实现的,并在dmd,ldc和gdc之间共享,后端是用C ++实现的.
  • ldc -基于LLVM的D编译器. 使用DMD前端和LLVM后端. 生成速度比dmd慢,但生成的代码比DMD更优化. 它支持LLVM的所有目标平台.
  • gdc -GNU D编译器. 使用DMD前端和GCC后端. 由于使用了GCC,目前针对大多数平台. 在大多数情况下,生成的代码运行速度比DMD快,与LDC相当. 正在与官方GCC工具链集成.
  • sdc -愚蠢的D编译器. 每天用D撰写.
  • dil -D编程语言的编译器. 用D写.

Dev Tools

用于提高生产力的D开发的工具.

  • D-Scanner -用于D源代码的瑞士军刀(皮棉,静态分析,D代码解析等)
  • dfmt -D源代码的格式化程序

Build Tools

管理项目并从源代码编译软件.

  • dub -事实上的官方D软件包和构建管理系统.将很快正式包含在内.
  • scons-d -感谢Russel Winder,Scons对D项目的内置支持.
  • premake -Premake具有对D项目的内置支持
  • reggae -D中的元构建系统
  • Makefile -D项目的Makefile模板
  • cmake-d -CMake D项目
  • cook2 -适用于D项目的快速增量构建工具
  • button -只需按一下按钮,即可构建您的软件的通用构建系统.
  • wild -Wild构建系统,用于构建 PowerNex 核心

IDE

集成开发环境.

  • Mono-D -的AD语言插件 Xamarin Studio/MonoDevelop . 有配音支持.
  • Visual D -D编程语言的Visual Studio扩展.
  • DDT -D编程语言的Eclipse插件.
  • DCD -用于D编程语言的独立自动完成程序. 可以与vim,emacs,sublime text,textadept和zeus等编辑器一起使用. 看到 editors support.
  • Coedit -用于D编程语言,其编译器,工具和库的IDE.
  • Dlang IDE -基于D语言的IDE DlangUI . 这是一个纯D实现.
  • D Language Server -D的语言服务器协议(LSP)实施.向具有LSP支持的任何编辑器(VSCode,Sublime,Atom,Emacs,Vim / Neovim)添加了现代IDE功能.
  • Dutyl -集成了各种D开发工具的Vim插件

Lexers, Parsers, Parser Generators

  • libdparse -AD语言词法分析器和解析器,(可能)将来的标准D解析器/词法分析器.
  • Martin Nowak's Lexer -词法生成器.
  • Mono-D's DParser - A D parser written in C# and used in Mono-D.
  • Pegged -用D编写的解析表达语法(PEG)模块.
  • Goldie -Goldie解析系统.
  • ctpg -用D编写的编译时解析器(带转换器)生成器.
  • dunnart -用D编写的LALR(1)解析器生成器.

Preprocesors

  • warp -Facebook基础结构中使用的C和C ++的快速预处理器. 由Walter Bright撰写.

Javascript

  • higgs -Higgs JavaScript虚拟机,以D实现.

Basic

  • hunt -用于D编程语言的完善的核心库. 该模块具有并发/集合/事件/ io /日志/文本/序列化等等.
  • hunt-time -时间库,类似于Joda-time和Java.time api.
  • hunt-validation -基于搜寻库的DLang数据验证库.

Containers

  • EMSI containers -不使用GC的容器
  • memutils -D对象的开销分配器,可识别分配器的容器和生存期管理
  • dlib.container -通用数据结构(无GC的动态数组和关联数组等)
  • std.rcstring -D的内置字符串构造中的引用计数字符串实现

Web Frameworks

网络库 * hunt-net -用于D编程语言的高性能网络库,事件驱动的异步实现(IOCP / kqueue / epoll). * hunt-http -D的HTTP / 1和HTTP / 2协议库. * hunt-stomp -D中的Websocket协议库实现的STOMP. * libasync -异步对象的跨平台事件循环库 * libhttp2 -D中的HTTP / 2库,从nghttp2转换而来 * collie -用dlang编写的异步事件驱动的网络框架,例如D中的netty框架. * dlang-requests -受python请求启发的HTTP客户端库

全栈Web框架 * Hunt Framework -Hunt是高级D编程语言Web框架,鼓励快速开发和简洁实用的设计. 它使您可以快速,轻松地构建高性能的Web应用程序. * vibe.d -用D编写的不会妨碍您的异步I / O Web框架. * arsd -Adam D. Ruppe的网络框架. * cmsed -用作CMS的Vibe组件库. * Diamond -基于vibe.d的全栈Web框架,目标是针对小型和大型项目的企业开发和高性能Web解决方案.

  • RPC库*
  • grpc -用于D编程语言的grpc,基于hunt-http库.
  • kissrpc -快速,轻便,基于Flatbuffers的rpc框架.
  • Hprose -面向D的非常新颖的RPC库,现在支持25种以上的语言.
  • Apache Thrift -轻巧,独立于语言的功能强大的RPC框架. Thrift为数据传输,数据序列化,代码生成和应用程序级处理提供了干净的抽象. Dub package

Gossip

  • hunt-gossip -D语言编程语言的Apache V2八卦协议实现.

Cache

  • hunt-cache -D语言通用缓存库,使用基数,redis和memcached.

Data serialization

  • Json,XML,protobuf和其他数据序列化库.

Binary Serilization

  • flatbuffers -google flatbuffers库的D编程语言实现.
  • cerealed -D的序列化库
  • dproto -D中的Google协议缓冲区支持.

JSON

  • vibe.data.json -Vibe.d中的JSON函数. 目前是我使用的最佳实现.
  • fast.json -D库,旨在为某些日常例程提供最快的实现.
  • std.json -D的标准库JSON模块. 需要完善.
  • painlessjson -在D类型和std.json之间转换.
  • std.data.json -用于JSON序列化的Phobos候选人(基于Vibed)
  • asdf -基于缓存的基于字符串的JSON表示形式,用于快速读写和serialisatoin.

XML

  • orange -通用序列化器(当前仅支持XML)
  • std.experimental.xml -Phobos XML序列化候选者
  • [dom.d]-基于Javascript在浏览器中提供的xml / html DOM

Database clients

*用于关系数据库和nosql数据库的C blienct的客户端和绑定.

  • hunt-entity -Hunt实体是D编程语言的对象关系映射工具. 引用JPA的设计思想,支持PostgreSQL / MySQL / SQLite.
  • hunt-database -寻找D编程语言的数据库抽象层,支持PostgreSQL / MySQL / SQLite.
  • vibe.d -Vibe.d对Redis和MongoDB具有非常稳定的内部支持. 很快,数据库驱动程序将被分为独立的项目.
  • mysql-native -在本机D中实现的MySQL客户端.
  • ddb -D2的数据库访问. 当前仅支持PostgreSQL.
  • arsd -Adam D. Ruppe的图书馆; 除Web后端外,它还支持使用database.d,sqlite.d,mysql.d和postgres.d访问数据库.
  • ddbc -DDBC是D语言的数据库连接器(类似于JDBC). HibernateD(见下文)使用ddbc进行数据库抽象.
  • hibernated -HibernateD是D的ORM(类似于 Hibernate).
  • dvorm -具有Vibe支持的D的ORM. 与vibe.d和mysql-d一起使用,使其能够访问MongoDB和MySQL.
  • Tiny Redis -D的Redis驱动程序.快速,简单,稳定. 没有依赖关系.

Command Line

  • hunt-console -创建Hunt控制台更容易创建功能强大的命令行应用程序.
  • tilix -使用GTK + 3的Linux平铺终端模拟器.
  • scriptlike -实用程序库,可帮助在D中编写类似脚本的程序.
  • todod -Todod是基于命令行的待办事项列表管理器. 它还支持基于 linenoise.
  • d-colorize -红宝石图书馆的港口 colorize . 它添加了一些方法,可以使用ANSI转义序列更轻松地在控制台上设置颜色,背景色和文本效果.
  • terminal.d -亚当·鲁佩(Adam Ruppe)的一部分 arsd 库支持控制台上的光标和颜色操作.
  • dexpect -AD实施Expect框架. 方便进行bash仿真.
  • Argon -用D编写的命令行参数处理器,是Getopt的替代方法.
  • argsd -DLang的命令行和配置文件解析器
  • darg -D的可靠命令行参数解析.

GUI Libs

*用于处理图形用户界面应用程序的库.

  • DLangUI -用于D编程语言的跨平台GUI. 我个人喜欢,因为它是用D(不是绑定)编写的,并且是跨平台的. DLangUI在IDE中也有很好的展示 DLangIDE.
  • GtkD -GtkD是GTK +的D绑定和OO包装. GtkD被积极维护,并且目前是D的最稳定的GUI库.
  • DWT -用于创建跨平台GUI应用程序的库. GWT是Java SWT库到D的移植.DWT被提升为D的半标准GUI库,但是不幸的是,它尚未赶上流行.
  • tkD -基于Tcl / Tk的D编程语言的GUI工具包.
  • dqml -用于D编程语言的Qt Qml绑定.
  • Sciter-Dport -D的绑定 Sciter -跨平台HTML / CSS / script桌面UI工具包.
  • LibUI -动态绑定 libui

注意:您还可以在以下位置找到GUI库列表 wiki.dlang.org,但现在并不是所有的库都处于活跃状态.

OS

用D编写的操作系统

  • PowerNex -用D编写的内核
  • Trinix -用D编写的x64 PC混合操作系统
  • XOmB -用D编写的exokernel操作系统

Game Bindings

*与游戏开发相关的C库的绑定.

  • DerelictOrg -一个托管所有遗弃绑定的GitHub组织,包括:
    • OpenGL 3(DerelictGL3),
    • Bgfx(DerelictBgfx),
    • ENet(DerelictENet),
    • SDL 2(DerelictSDL2),
    • GLFW 3(DerelictGLFW3),
    • OpenGLES(DerelictGLES), *免费图片(DerelictFI),
    • Assimp3(DerelictASSIMP3),
    • libtheora(DerelictTheora),
    • libogg(DerelictOgg),
    • libvorbis(DerelictVorbis),
    • SFML 2(DerelictSFML2),
    • libpq(DerelictPQ),
    • PhysicsFS(DerelictPHYSFS), 开放动力引擎(DerelictODE), 路亚(DerelictLua),
    • DevIL(DerelictIL),
    • OpenAL(DerelictAL),
    • ALURE(遗留ALURE).

Game Frameworks

Games

Video applications

Image Processing

  • ArmageddonEngine -弗拉基米尔·潘捷列耶夫(Vladimir Panteleev)的ae库具有用于功能样式的图像处理的程序包,本文对此进行了介绍 Functional Image Processing in D.
  • Blogsort -一个简单的Windows应用程序,用于查看照片并为博客做准备.
  • dlib.image -图像处理(每通道8和16位,浮点运算,滤波,FFT,HDRI,图形格式支持,包括JPEG和PNG)
  • color.d + bmp.d, jpg.d, png.d -基本的颜色结构,HSL功能以及读写图像文件

End-user applications

  • Drill -搜索文件时无需编制索引,但可以轻松地进行爬网

Machine Learning

Parallel computing

Scientific

科学编程

  • scid -D编程语言的科学库
  • dstats -D的统计资料库.
  • mir -一些mir包的沙箱:稀疏张量,Hoffman和其他.
  • mir-algorithm -N维数组(矩阵,张量),算法,通用库.
  • mir-random -高级随机数生成器.
  • decimals -D的十进制库.

Text Processing

  • hunt-markdown -用于D编程语言的markdown解析和渲染库. 支持commonMark.
  • eBay's TSV utilities -对TSV文件的过滤,统计,采样,联接和其他操作. 非常快,特别适合大型数据集.

Logging

请小心打印

Configuration

解析配置文件

  • sdlang -用于D的SDL(简单声明语言)库.
  • D:YAML -D编程语言的YAML解析器和发射器.
  • inifile-D -D的编译时ini文件解析器和writter生成器

Blog Engine

自己托管博客

  • mood -简单的基于vibe.d的博客引擎

Testing

  • dunit -先进的单元测试和模拟工具包
  • unit-threaded -多线程单元测试框架

Other Awesome Lists

其他惊人的清单也可以在 awesome-awesomeawesome-awesomeness 项目.