Powerful full-stack web-framework, written in The D Programming Language using vibe.d

Innovation, performance and elegance are Diamond's key features


Get Started With Diamond







Experience the web with Diamond


Diamond is build on modern principles using vibe.d, inspired by ASP.NET and razor templates.

It's completely free, open-source and fit for enterprise development with focus on rapid development, performance and the cloud.

It compiles natively and can run on most platforms and environments.

Why Diamond?

High Performance

High Performance

Experience speed and low memory-usage



Diamond is built to handle many connections, fast and with absolute excellent performance.

It's also a priority for Diamond to be able to deliver content and data fast!

Diamond's performance is also combined with low memory-usage compared to many other frameworks.

You're in control

You're in control

Configurations, development and deployment...



Everything in Diamond can be controlled by you.

You can configure Diamond to operate exactly how you want it.

This allows Diamond to be integrated into existing solutions and work with any kind of data and content.

Fast Development Pace

Fast Development Pace

Experience rapid development like never before



The infrastructure of Diamond was made to support rapid development, even for enterprise solutions.

Diamond's API is user-friendly and feature-rich, making sure you only have to write absolute minimum functionality.

It supports all modern functionality and lots of functionality that other frameworks don't or requires third-party libraries.

With Diamond you can keep your dependencies as low as possible, keeping your environment and workspace safe from breakage.

Scalable

Scalable

Scalability like never before



Being able to scale environments and applications is an essential functionality for enterprise solutions.

Diamond was developed in a way to support scalability without a complex environment.

You can scale it as much or as little as you need.

Secure

Secure

Security is a priority and Diamond builds on that!



Today security is an absolute priority for professional solutions.

Security is not only protecting your data, server and platform from attacks, but also being secure from coding errors and bugs.

Diamond supports all modern security practices and one of its goals is to be OWASP compliant.

Cross Platform

Cross Platform

Run Diamond on multiple platforms and within multiple environments



Unlike other web-frameworks, then Diamond is not limited to one platform and environment.

Diamond supports multiple operating systems and environments.

Below is a list of common operating systems and enviroments that Diamond supports.

It is however not limited to those only.

Operating Systems Environments
Windows Microsoft Azure
Linux Heroku
macOS Nginx
  Apache
  Amazon Web Services

Localization & Internationalization

Localization & Internationalization

Without complexity or code duplication



The internet is a place where people from all over the world meet, but sometimes it's great to support the locales from specific countries, cultures etc.

Diamond has an easy-to-use localization and internationalization API built-in, which you can combine with specialized view-syntaxes to rapidly develop multi-language solutions.

Law & Standard Compliant

Law & Standard Compliant

Follows standards by ex. EU for cookies, GDPR etc.



It's important for professional business to be compliant with laws and regulations.

By using Diamond you get a lot of helpful functionality and tools that can help you comply with these.

Diamond has support for cookie-consent and various GDPR helper functionality.

All implementations can be bend and configured to match your exact needs.

Test-Driven Development

Test-Driven Development

Testing is essential for professional solutions



Diamond has support for D's built-in unittesting, but also has a more advanced unittesting API.

Diamond's own unittesting API can be shaped to test certain requests and target specific areas of the application.

This is useful, because you can do real HTTP tests without a browser or third-party tools.

Database Support

Database Support

Sql & No-sql



Software often use more than one type of database and thus it was a priority for Diamond to support that.

Diamond supports both no-sql and sql databases.

Database Supported
MySQL Yes
MariaDB Yes
PostgreSQL Support From 3.0.0
Microsoft SQL Server Support From 3.0.0
SQLite Support From 3.0.0
MongoDB Yes
Redis Yes

Partners & Stacks We Support!


Diet Templates VS Diamond Views


Functionality Diet Diamond
Compile-time parsing Yes Yes
Linear Expressions Yes Yes
D Code Yes (Partially)

Does not use fully D syntax.
Yes

Full D expressions with D syntax.
Layouts / Extendable Views Yes Yes
Partial Views Yes Yes
Non-layout View Limitations Yes

You can only use -block
No
Metadata Configurations Yes (Limited) Yes (Very Functional)
Expressive Grammar No

Uses keywords for identifying view parts.
Yes

Lots of syntactic sugar that helps creating expressive views.
Custom Grammar No Yes
Caching Yes Yes
Dynamic HTML Generation Yes Yes
Standard HTML No

You must use the Diet syntax.
Yes

Allows mixture between Diamond expressions and standard HTML.
Placeholders No Yes
MVC No Yes
HMVC No Yes
View Inheritance No Yes
Static Templates Yes Yes

Supports dynamic content and statically-timed caching.
Sections No Yes

You can render specific sections of partial views.
Total 9/18 18/18

Key Features Of Diamond MVC


  • Feature-rich, but light-weight

  • High-performance

  • Website & Web-api support

  • Cross-platform (Windows, Linux, macOS) (No platform specific functionality)

  • Complete control over requests / responses

  • Compile-time compatibility

  • ACL, Roles & Authentication

  • Security (CSRF Protection, Validation, Cryptography, SSL, Network etc.)

  • Cookies / Session

  • Cookie Consent & GDPR Compatibility

  • Transactions

  • Localization & Internationalization

  • Logging

  • Version-control

  • Route rewriting

  • Database Integration (Mysql, Mongo, Redis) & Object Relational Mapping (ORM)

  • Websockets

  • Email Functionality (Smtp Client)

  • ASP.NET inspired view syntax

  • Partial views & complex view layouts

  • Caching

  • Flash-messages

  • Sections (Very useful for responsive designs)

  • MVC & HMVC

  • RESTful

  • Backup functionality & services

  • File upload/download management

  • Customizable & Extensions

  • SEO (Search Engine Optimization)

  • Unittesting