#1586 Draft Mini Web Framework

andy Sun 24 Jul 2011

I’ve posted a project I’ve been working on in my spare time recently:

Draft Mini Web Framework

Draft is a small web framework designed to notch in above WebMod, provide some useful features, while trying to leave as much freedom as possible for your app. Details over on the project site.

Its still a work in progress, but decided it was far enough along to start being useful to anyone who doesn’t mind getting their hands dirty. Hopefully I’ll have it wrapped up here in the next few months, and can be more generally useful to developers looking for a simple and lightweight solution for developing web apps in Fantom.

tcolar Sun 24 Jul 2011

That's great !

I always though webmod was just a little to "lean" by itself, especially for a newcomer.

This feel in the gap nicely without adding much (if any) complexity.

ahhatem Tue 26 Jul 2011

Very nice, but I think it should be distributed with fantom, this functionality is usually expected to be built-in not in an external lib...

jessevdam Thu 25 Aug 2011

You say it is still missing many features, which features do you still want to implement in it?

andy Thu 25 Aug 2011

For this round - really just polish and testing. Not sure anything in particular, had a few thoughts, but was really just going to grow it a bit organically as I came across patterns and things that would make life easier. Unfortunately haven't had time much to use it.

jessevdam Fri 26 Aug 2011

Do you have any plans to include it into fantom.org

andy Fri 26 Aug 2011

I'll add it to the online repo when that goes live - but not the standard distribution. I want complete freedom to try out new ideas and make breaking changes as I explore ideas.

go4 Sat 27 Aug 2011

Nice, I have always been trouble restarting problem. But now, it can be used to run my existed WebMod.

go4 Sun 28 Aug 2011

Hi Andy. It can't kill the process when the proxy exits.

andy Sun 28 Aug 2011

You on Windows?

go4 Sun 28 Aug 2011

Yes, Vista.

I mean that not kill the last process. The patch may like this:

const class DevMod : WebMod
{
  ...
  override Void onStop()
  {
    restarter->stopProc
  }
}

Another question:

Mode to run (0=dev, 1=prod, 2=proxy)

What is the meaning of prod

andy Sun 28 Aug 2011

Yes, Vista.

Yeah I figured there would be issues on Windows - Java's process management APIs sorta really suck. If anyone knows a good way to kill a Process under Windows, send me a link/patch and I'll fix.

What is the meaning of prod

Thats actually old code, we ended up adding this directly to wisp: changeset

go4 Sun 28 Aug 2011

Thanks. Actually, It works on Windows. To reduce noise, I email you.

jessevdam Mon 29 Aug 2011

I added some functionality to this draft frame work

  • Can now start draftMod, web application or a webby(single fan file for example examples/fwt/scroll.fan) via command prompt.
  • Can extends the Draft class for extra command console parameters using the abstractMain class as support.
  • Rest pattern added to router notified with ...
  • Add parameters allow for setting the public dir and the hookdir for the public directory.
  • Plus some other small addition

Can now do

fan draft -prod -webApp MyPod::Main -pubHookDir file -pubDir /home/someone/adir

or to run the fwt examples

fan draft -prod -webby /home/someone/fantom/examples/fwt/scroll.fan

Is it most handy to fork your github project and then upload my change set? or should I do something else

andy Mon 29 Aug 2011

Is it most handy to fork your github project and then upload my change set?

Yep, bitbucket/github work great here I think, to let people try out different stuff easily, add see what everyone else is tinkering with.

jessevdam Mon 29 Aug 2011

jessevdam Tue 30 Aug 2011

Next feature I plan to add is the support for full transparent file interface to work on the public directory. This would allow us to bring us a step closer to develop full application in running in the browser.

I would like also to implement the file dialog to work on js based on this file interface.

Login or Signup to reply.