Difference between revisions of "SAOC 2018 ideas"

From D Wiki
Jump to: navigation, search
(Category:Student_projects)
Line 38: Line 38:
 
* support dub install for distributions
 
* support dub install for distributions
 
* support building a {snap, Debian, Arch, ...} package out of DUB package
 
* support building a {snap, Debian, Arch, ...} package out of DUB package
 +
 +
[[Category:Student_projects]]

Revision as of 08:51, 15 July 2018

This is a list of potential project ideas for applicants to the Symmetry Autumn of Code.

HTTP/2 for Vibe.d


HTTP/2 is a major revision of the HTTP network protocol. Among its advantages belong decreased latency due to (e.g. due to compressed HTTP headers or pipelined requests) or server-push from the server which allows the server to send resources to the client before they are requested. Therefore, Vibe.d - D's flagship web application framework - would vastly profit from implementing HTTP/2.

Graphics library for resource constrained embedded systems


Create a 2D rasterizer, rich drawing primitives, and 2D graphics library suitable for resource constrained embedded systems (e.g. ARM Cortex-M) to be used in industrial controls, home appliances, medical devices, consumer electronics, and IoT just to name a few. The end goal would be something similar to Segger's emWin. The library would be used to drive LDCs similar to https://www.adafruit.com/product/3396 Requirements:

  • Hardware agnostic; should simply render to a frame buffer
  • No dependencies (No Phobos, no C standard library, and no official D runtime).
  • Consider using -betterC, but a custom minimal D runtime is also a viable option

Related work:

DUB: D's package manager


DUB - D's package manager - is one of the central infrastructure tools in the D world as a convenient build and package management tool for the D community. With D gaining more and more popularity, it's also a key tool to guarantee D's further adoption. Thus there are many great ideas to improve DUB: