|
Does anyone know if there is a framework that glues programs together
dynamically. We use Spring in Java and have gotten hooked on the ease with which applications can be built. We would like to try to dynamically glue the application together including tying the GUI widgets to the controller. We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content. We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions. It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters). We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units. This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here. Any suggestions or comments? Ron -- haXe - an open source web programming language http://haxe.org |
|
I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations. This is about the best I've come up with:
External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:
Regards, John On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:
-- haXe - an open source web programming language http://haxe.org |
|
I'm using this as suggested by blackdog :
Also see blackdog's answer at http://stackoverflow.com/questions/3211740/loose-programming-in-high-level-languages-how-why-and-how-much
- Tom 2010/7/21 John A. De Goes <[hidden email]>
-- haXe - an open source web programming language http://haxe.org |
|
hi Tom, that doesn't look like one of mine :)
On Wed, Jul 21, 2010 at 9:55 AM, Tom <[hidden email]> wrote: I'm using this as suggested by blackdog : -- haXe - an open source web programming language http://haxe.org |
|
In reply to this post by tommedema
Sping ActionScript (formerly Prana) sounds like what you're looking for: http://www.springactionscript.org/I'm not sure that it's been ported to HaXe, but you should be able to use the swc if its an AS3 project.
On Wed, Jul 21, 2010 at 9:55 AM, Tom <[hidden email]> wrote: I'm using this as suggested by blackdog : -- haXe - an open source web programming language http://haxe.org |
|
In reply to this post by blackdog-2
Hi,
I stupidly mistaken blackdog with back2dos. I meant back2dos, of course. - Tom
2010/7/21 blackdog <[hidden email]> hi Tom, that doesn't look like one of mine :) -- haXe - an open source web programming language http://haxe.org |
|
In reply to this post by John A. De Goes
I use haxe.rtti.Infos, and use those annotations to inject values.
It's pretty lightweight and simple, but it works. Dion On Wed, Jul 21, 2010 at 9:51 AM, John A. De Goes <[hidden email]> wrote: > > I've investigated doing dependency injection in HaXe. It's not easy because > run-time reflection is quite limited and there are no annotations. > This is about the best I've come up with: > > var foo: Foo; > var bar: Bar; > public function new() { > this.foo = Inject.interfaceOf(Foo); > this.bar = Inject.singletonOf(Bar); > } > > External configuration data, either in HaXe or XML or something else > entirely, could specify at application entry point details like which > classes are used for which interfaces, etc.: > > Inject.main(function(i) { > i.bindClass(Foo, FooImpl); > i.bindSingleton(Bar, BarImpl); > }); > OR > Inject.main(function(i) { i.load(xml); }); > > Regards, > John > On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote: > > Does anyone know if there is a framework that glues programs together > dynamically. > We use Spring in Java and have gotten hooked on the ease with which > applications can be built. > > We would like to try to dynamically glue the application together including > tying the GUI widgets to the controller. > We think that the way JSF or JSP widgets are tied to classes and methods in > an XML configuration file (.jsp) would simplify building e-learning content. > > We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that > dynamically creates user interactions. > It supports a plug-in architecture that uses XML to describe the multimedia > behaviour (show this image 4 seconds into the sound file and then at 7 > seconds display this text with a specific bullet in bold green Arial 14 > point characters). > > We have developed a wide range of training courses using this technology > ranging from "Inroduction to ISO 14000" to a 6 hour introduction to > operating a Xylene refinery to an on-boarding course for a government > department that described the regional operating units and missions of each > of the operating units. > > This was done over 8 years ago and we have learned a lot since and are > pretty sure that there have to be better ways of doing this today given the > progess on the Java side and the smart HaXe crowd here. > > Any suggestions or comments? > > Ron > > > > > -- > haXe - an open source web programming language > http://haxe.org > > > -- > haXe - an open source web programming language > http://haxe.org > -- haXe - an open source web programming language http://haxe.org |
|
In reply to this post by Ron Wheeler
OK, I needed this functionality today, so I added it. Example usage:
You can specify global bindings, class bindings, module bindings, and package bindings. Class bindings have highest preference, global bindings have lowest preference. There are several limitations: no circular references, injected classes must have either a factory or no-arg constructor, and all dependencies must be explicitly requested through [interface name].inject(). E-mail me privately if you'd like the URL of the git repository where this is hosted. Regards, John On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:
-- haXe - an open source web programming language http://haxe.org |
|
Hi John,
I'm currently working on my own dependency injection project for the os community, but was wondering if I could leaf through your tool to see what I might be missing, if that's okay? I'll certainly credit you where idea's have been pilfered and will be sure to give you first dibs on the finished product :-) Alternatively, if that's not okay (which I can understand ;-)), maybe I could finish my DI tool, send it to you with examples, and you can tell me what you think I could do to make it better (and pilfer some of my idea's, instead)? All in the best interests of open source-ness :-P Thanks and kindest regards, Lee John A. De Goes wrote: > > OK, I needed this functionality today, so I added it. Example usage: > > public function testClassInjectorOverridesPackageInjector() { > Injector.enter(function(cfg) { > cfg.inPackage("haxe.framework").bind(Clock, MockClock); > cfg.inClass(InjectorTestCase).bind(Clock, SystemClock); > > Assert.is <http://Assert.is>(Clock.inject(), SystemClock); > > return Unit; > }); > } > > > You can specify global bindings, class bindings, module bindings, and > package bindings. Class bindings have highest preference, global > bindings have lowest preference. > > There are several limitations: no circular references, injected > classes must have either a factory or no-arg constructor, and all > dependencies must be explicitly requested through [interface > name].inject(). > > E-mail me privately if you'd like the URL of the git repository where > this is hosted. > > Regards, > > John > > On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote: > >> Does anyone know if there is a framework that glues programs together >> dynamically. >> We use Spring in Java and have gotten hooked on the ease with which >> applications can be built. >> >> We would like to try to dynamically glue the application together >> including tying the GUI widgets to the controller. >> We think that the way JSF or JSP widgets are tied to classes and >> methods in an XML configuration file (.jsp) would simplify building >> e-learning content. >> >> We have built an RIA in Flash Actionscript (FLASH IDE and later >> MTASC) that dynamically creates user interactions. >> It supports a plug-in architecture that uses XML to describe the >> multimedia behaviour (show this image 4 seconds into the sound file >> and then at 7 seconds display this text with a specific bullet in >> bold green Arial 14 point characters). >> >> We have developed a wide range of training courses using this >> technology ranging from "Inroduction to ISO 14000" to a 6 hour >> introduction to operating a Xylene refinery to an on-boarding course >> for a government department that described the regional operating >> units and missions of each of the operating units. >> >> This was done over 8 years ago and we have learned a lot since and >> are pretty sure that there have to be better ways of doing this today >> given the progess on the Java side and the smart HaXe crowd here. >> >> Any suggestions or comments? >> >> Ron >> >> >> >> >> -- >> haXe - an open source web programming language >> http://haxe.org > -- haXe - an open source web programming language http://haxe.org |
|
Oops, you said private. Oh, well, it's not like it's a big secret :-)
Lee Lee McColl Sylvester wrote: > Hi John, > > I'm currently working on my own dependency injection project for the > os community, but was wondering if I could leaf through your tool to > see what I might be missing, if that's okay? I'll certainly credit > you where idea's have been pilfered and will be sure to give you first > dibs on the finished product :-) > > Alternatively, if that's not okay (which I can understand ;-)), maybe > I could finish my DI tool, send it to you with examples, and you can > tell me what you think I could do to make it better (and pilfer some > of my idea's, instead)? > > All in the best interests of open source-ness :-P > > Thanks and kindest regards, > Lee > > > > John A. De Goes wrote: >> >> OK, I needed this functionality today, so I added it. Example usage: >> >> public function testClassInjectorOverridesPackageInjector() { >> Injector.enter(function(cfg) { >> cfg.inPackage("haxe.framework").bind(Clock, MockClock); >> cfg.inClass(InjectorTestCase).bind(Clock, SystemClock); >> >> Assert.is <http://Assert.is>(Clock.inject(), SystemClock); >> return Unit; >> }); >> } >> >> >> You can specify global bindings, class bindings, module bindings, and >> package bindings. Class bindings have highest preference, global >> bindings have lowest preference. >> >> There are several limitations: no circular references, injected >> classes must have either a factory or no-arg constructor, and all >> dependencies must be explicitly requested through [interface >> name].inject(). >> >> E-mail me privately if you'd like the URL of the git repository where >> this is hosted. >> >> Regards, >> >> John >> On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote: >> >>> Does anyone know if there is a framework that glues programs >>> together dynamically. >>> We use Spring in Java and have gotten hooked on the ease with which >>> applications can be built. >>> >>> We would like to try to dynamically glue the application together >>> including tying the GUI widgets to the controller. >>> We think that the way JSF or JSP widgets are tied to classes and >>> methods in an XML configuration file (.jsp) would simplify building >>> e-learning content. >>> >>> We have built an RIA in Flash Actionscript (FLASH IDE and later >>> MTASC) that dynamically creates user interactions. >>> It supports a plug-in architecture that uses XML to describe the >>> multimedia behaviour (show this image 4 seconds into the sound file >>> and then at 7 seconds display this text with a specific bullet in >>> bold green Arial 14 point characters). >>> >>> We have developed a wide range of training courses using this >>> technology ranging from "Inroduction to ISO 14000" to a 6 hour >>> introduction to operating a Xylene refinery to an on-boarding course >>> for a government department that described the regional operating >>> units and missions of each of the operating units. >>> >>> This was done over 8 years ago and we have learned a lot since and >>> are pretty sure that there have to be better ways of doing this >>> today given the progess on the Java side and the smart HaXe crowd here. >>> >>> Any suggestions or comments? >>> >>> Ron >>> >>> >>> >>> >>> -- >>> haXe - an open source web programming language >>> http://haxe.org >> > > -- haXe - an open source web programming language http://haxe.org |
| Powered by Nabble | See how NAML generates this page |
