hexMachina on Web Unleashed 2016 - Extending JS
Francis Bourre will talk at Toronto on October for Web Unleashed 2016Read more »
hexMachina is OpenSource, free to use and collaborate.
hexMachina relies on a smart mix beetween declarative and imperative programming. The main concept is to split your application codebase in two distinct parts. The first one is made from resusable micro-applications called components developed with haxe language. The second one is driven by DSL for describing your components assembling and your application behaviors.
MVC implementation for writing individual modules with the classical Model-View-Controller structural pattern.
Inversion of Control system to make multi-modular applications. You can have an extremely powerful DSL layer (Domain Specific Language), where you can connect together any modules, components and describe any dependency, behavior between them.
Powerful and easy-to-use Dependency Injection system based on @annotations. It supports property, method and constructor injections predefined in injector mappings.
Extendable UnitTest runner with a basic set of assertions. It works well together with any mocking and assertion system. JUnit and FlexUnit like syntax.
Service layer extension for hexMVC to separate service communications. It has all typical predefined service behaviors like: configuration, success, fail, cancel, timeout, etc.
Easy-to-use utilities for reading and writing @annotation data.
Powerful easy-to-use StateMachina system based on Martin Dowler’s implementation. It saves you from a lot of issue with invalid states of your application.
Common core libraries that everyone needs in everyday developments like: exceptions, dispatcher, logging system, utils, etc.
Find below two examples of the popular tic-tac-toe game. I’ve made a single and a multi-module version to showcase you have the free choice to make your aplication as much scaled as you want. If you need, you can go for really module oriented implementation, but if you just want a simple game, without DSL, modules and all the crazy structures, you can just make a simple MVC implementation in one module.Read more »