dlang / project-ideas

Collection of impactful projects in the D ecosystem
36 stars 12 forks source link

Improve existing documentation on `vibe-core` asynchronous API #28

Open GallaFrancesco opened 5 years ago

GallaFrancesco commented 5 years ago

Description

The Vibe.d framework would benefit from improved documentation regarding the usage of its asynchronous API. This could be used to integrate the existing documentation and help new users familiarize with the low-level structure of the framework.

The current vibe-core repository lacks examples regarding how to use asynchronous I/O, while the main vibe.d repository contains a great number of application-level use cases.

Some of the missing use cases which could be demonstrated through examples are:

These examples could be included in the DLang Tour or displayed in a similar fashion on the vibe.d website and should be included in the vibe-core repository, example directory.

What are rough milestones of this project?

How does this project help the D community?

The Vibe.d web framework provides a simple yet extremely powerful interface for asynchronous I/O which can be exploited in a broad range of situations, such as web server implementation, concurrent data processing, the event-driven programming model.

Improving the existing documentation and providing more use cases in the form of examples would surely increase the interest in it and help new users familiarize with the vibe-core API, while allowing existing contributors to spot possible inconsistencies or bugs and fix them.

Recommended skills

Point of Contact

@GallaFrancesco

References

Recent feature request: https://github.com/vibe-d/vibe-core/issues/133

At the moment, the following documentation is available:

API: http://vibed.org/api/vibe.core.core/ http://vibed.org/api/vibe.core.concurrency/

Features Description: http://vibed.org/features

Examples: https://github.com/vibe-d/vibe-core/tree/master/examples

Vibe.d in the Dlang Tour: https://tour.dlang.org/tour/en/vibed/vibe-d-web-framework

Similar outcome (with sources) https://tour.dlang.org/tour/mir https://github.com/dlang-tour/mir

Actor model high-level description https://en.wikipedia.org/wiki/Actor_model