critique of vibe.d
w0rp via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jul 9 12:05:53 PDT 2014
From my usage of vibe.d thus far, I've found that it has a lot of
things I want if I were to use it for building sites like the
sites I build at work. vibe.d can offer excellent performance and
scalability, and those are great building blocks to have for
building a great web framework. I think what's missing from
vibe.d lies in D code yet to be written which is required to get
a decent level of productivity.
I am primarily a Django developer these days, and Django has some
great features which boost my productivity massively. I'd want to
see the same features, only written in a way more appropriate for
D, in vibe.d. Here's a short list.
* An ORM, which absolutely must have a way to build queries a
piece at a time without writing any SQL, like Django.
* A framework for generating all of the SQL required for database
migrations like South or the built in migrations in Django 1.7,
so you can quickly change any model.
* An API for creating form handlers, especially for creating
instances of models in the ORM through forms. (Django Form and
ModelForm)
* An HTML template system which doesn't eat memory at compile
time and where changes can be made while the development server
is running.
Those are the important "must have" points. Because of these
features in Django, I can create a new feature for a website in
the space of a couple of days, wildly restructure databases for
optimisations etc. There are a few other tools I use in Django
that are very nice to have.
* Django's automated testing framework lets you test pages with
session data and email output, so I have tests for complex things
like checkouts which are very easy to write. I pair it with a
Jenkins module so I can use Jenkins locally for CI.
* The django-debug-toolbar module saves a ton of time when
optimising queries. I use it for loading pages and looking at all
of the queries run in a timeline with all of the EXPLAIN output
right there. As a result I have massively improved query times at
my job.
* The Django pipeline module provides mechanisms for generating
JS and CSS. I now have SCSS which regenerates CSS automatically
during development without needing a filesystem monitor like
Compass, and I have cut load times on a couple of pages by a
second each by merging JavaScript together. (Even without
minification, which it supports, which I haven't gotten to yet.)
So there's my wishlist. I see it as a TODO list of things I or
someone else should write. I'd be willing to contribute to a few
of those points whenever I have time.
More information about the Digitalmars-d
mailing list