We had a small but yet good start today and got some good feedback! We have built up so long for this release so now it feels good just to have it out of the way.
If anyone tries to port an existing Dart app (before we write up a proper tutorial on how to do it) you could check these changes out of how we got 's existing Dart app to run on DartVoid in a couple of minutes. In total it was a diff of +25 and -2 rows:
Here comes a short summery of how to structure an app to run on DartVoid:
1 server dir
1 client dir
In the server and client dirs you keep two separate Dart projects with their own pubspec files. DartVoid is a PaaS and can run pretty much any server side framework. We have developed one on our own that is called Vane, and the first two example templates are written with Vane. But DartVoid does not require you to use it, it's just one out of many choices you have.
Here are the example repos that you can fork and auto create an app from in the dashboard (we plan to add more example there):
If you choose to not use Vane you should bind to 127.0.0.1 and find the port number from the environment (see the commits above for example). You need to add a framework parameter (any framework name is okay really, right now only "vane" is different since it's server.dart file is auto generated when you deploy your app). Name you dart server file "server.dart" and put it in the root of the server dir.
With each app there is also a Mongodb database created for you automatically. The easiest way to access it is with Vane and you can see examples of that in the guestbook template. If you don't use Vane you can find your mongodb URI on the environment variable called "MONGODB_URI" (eg. Platform.environment['MONGODB_URI']) and use the mongo driver from pub.
I have started to document Vane here, it's not complete but at the same time it's quite extensive compared to some other projects:
There a lots of examples there on how to use both Vane, mongodb and middleware handlers. There are also examples of how to receive files and how to use websockets and etc.
Lots of information to get out there as I said, but we have to take it a little bit at a time. More stuff comes tomorrow, time to get some sleep now!
An extra thanks to and for some good feedback and chat earlier tonight!