<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The following will take much less time and can achieve good, native results quickly:<br><br>Design a user-code facing clean api using idiomatic D (front end code): windows, widgets, callbacks via delegates, etc.<div>
Design a glue layer to talk to different backends: gtkd, wxd, qtd, fltk etc.</div>
<div><br></div><div>This is what python does with matplotlib:</div><div><a href="http://matplotlib.org/faq/usage_faq.html" target="_blank">http://matplotlib.org/faq/usage_faq.html</a> : they support pygtk, wxpython, tkinter, qt, macosx, or fltk, and also non interactive backends)<br>
<div>The user code stays clean, the results are native (depending on backend), and the wheel is not reimplemented.<div><div class="h5"><br></div></div></div></div></blockquote><div><br></div><div>The other advantage of this is we can have results early on (leveraging existing backends), but nothing prevents us to work in parallel on a backend that's purely written in D (written on top of opengl for example) if need be.</div>
<div><br></div></div>