Latest Replies
Tuesday
Mar102009

Some OSS News on Lokad and Autofac

Last weeks have been quite intense. So here are just some news and links.

Lokad Shared Libraries


SVN for repository for Lokad Shared Libraries has been moved away from the Source Forge and into the Google Projects. That's where all documentation would eventually be migrated.

Version of the library has been updated to 1.2 and there was a major release (available for download at Google). Among other things it includes following changes:

  • Rule messages have been cleaned up and moved into the resources. Thus, they are localizable now.
  • Rule scopes have been got new extensions Lower() and Raise(). They create new child scopes (with the same path) that lower or boost the importance of rule messages being passed. This is useful for situations, when you want to reuse your existing rules in a slightly different context.
  • There are some more predefined rules.
  • Added a number of missing method overloads for composing and enforcing rules.
  • Scope.Validate (which uses fast IL reflection) now also works on fields. This is for DDD/MVC scenarios where models are implemented as immutable classes.
  • ILMerge process has been added to the integration. So Lokad.Stack.dll (in its current setup) now includes Autofac.dll and log4net.dll.
  • Licenses for all 3rd party libraries are included in the ReadMe.txt, JIC.
  • Library includes ReSharper 4.5 attributes for the code analysis (used in solution-wide analysis).
  • More tests and a number of fixes.

Autofac


  • Autofac.Contrib is being merged with the Autofac (projects and solutions are still separate). This should simplify development of contributions (and has already simplified the integration process).
  • Integration scripts (MSBuild now) and the solution structure have been upgraded to the latest version of the xLim template.
  • Discussion groups of Autofac have picked up quite a momentum recently. There are a few really interesting topics out there. If everything goes as it is, we might eventually see this kind of command-line:

    msbuild Autofac.stack  /P:Include="mef,startable,nhibernate,log4net,rules"
    

    The implementation sounds like an interesting challenge, but it should not be that hard with Mono.Cecil, ILMerge and some well-laid solution structures.

Lokad SDK


This new project might might be interesting, if you:

  • are interested in a different and efficient approach on building composite desktop applications with Autofac and Lokad Shared Libraries;
  • want to learn about shared codebases, where MVC elements are reused in different application hosts;
  • are potentially interested in integrating some business intelligence services (proprietary but smart, friendly and revenue sharing) in your projects;
  • agree that SmartClient and CAB are too heavy and Autofac is better than Unity.

Lokad SDK has been established at Google Code projects (moving away from SourceForge). It already includes an Add-in for Excel in beta stage and a foundation for composite UI library on top of Lokad Shared Libraries.

Among the features it currently contains:

  • functional-style MVC used for UI composition (models are immutable for the simplicity and better async in UI);
  • UI-level validation with Lokad Rules;
  • good citizenship code (supported by Result{T} and Maybe{T} classes);
  • ClickOnce VSTO deployment in the build scripts (same xLim template);
  • code quality checks (on top of Lokad.Quality) for enforcing design-level decisions (i.e. MVC models must be immutable or controller classes must have only 1 constructor);
  • Autofac wiring in an add-in hosted in Excel 2007.

What do you think about all this?

« Development in 5 Years Would be Affected by | Main | Logging with Lokad Shared Libraries for .NET »