At Wireworks we launched HeartWorks eLearn a cutting edge e-learning system for IML at the end of September. This system, aimed at the medical community, uses a NodeJs / Redis / MySQL application stack, with a sprinkle of coffee script.
We made full use of the Amazon cloud, so that we easily scale, monitor and backup.
This was my first production application using NodeJs and I learned to love it.
It is influenced by scala’s Akka actors. It is still very much a work in progress, but the committed code does work.
Apollo is a lightweight Actionscript and Flex framework for dependency injection and message passing. Itt is an ideal basis for applications built using model-view-controller, or more specifically model-view-adapter patterns. The approach of this framework is slightly different from most other well know frameworks, such as Robotlegs or pureMVC. The aim is to give developers the best tool to focus on the fun part of development and less on writing boilerplate code.
With Apollo I decided to go with a public interface driven design for dependency injection, instead of the more common meta tags+introspection, or the string based message passing as in pureMVC or the AS3 event model.
So what is the good thing about using interfaces in an observer pattern I hear you ask?
Using interfaces gives the application architect the opportunity to divide an application up into certain areas of interest and group methods and properties together to be used across various controllers.
Ide’s will let you create stub code for all the interfaces that are implemented, preventing you from writing boilerplate code.
Type safety for object passing
No horrible switch statements
You might think: ‘ok, I get that, but why another framework if the existing ones do a good job?’
This framework was developed by me as a way to test this new subscriber/observer method. Just because I can. Hopefully it will give you some new ideas or even a handy new tool.
The basis of the framework is a static Injector class which uses the observer pattern to register controllers.
The methods inject and call are used to update controllers. Inject does exactly what you expect it does. I will inject a strongly typed object in every controller that has a registered property, based on their interface.
Given an interface ‘IPersonInjectable’ which has a method set person(val:Person), then a call to Injector.inject(new Person(‘me’)) will inject this new Person instance into every controller. You can see that with altering your models a bit, you can make databinding extremely easy.
My friends at Isobar Mobile made this video to show the multi-screen app we made for De Bijenkorf, a Dutch high-end retailer.
Arctic Greenland has to be one of the most amazing places I have ever visited. Big open spaces, intense cold, steep snow faces, magnificent gullies, a close encounter with a polar bear and some serious snowboard first descents. WooT.
Thank you LinkedIn for coming up with the Javasript API.
For ReclameArsenaal we finally launched two new modules to browse over 160.000 pages of archive material. It includes over 17 magazine titles from 1922 onwards and books of the Advertisers Club Netherlands from 1968.
I did end-to-end development of this app, from database design, import and management tool, web service and two Adobe Flex applications.
Working in close coorperation with Redbike Multimedia and Pim Reinders from ReclameArsenaal, I think we achieved a really nice result.
Have a look at http://bit.ly/dt1Xan to see nearly 100 years of Dutch advertisement history.