Hi all fellow researchers,
Magma lab is evolving and arrived to a milestone where functionalities are mostly there, and are quite tested. Much more stuff can be added, especially to offer more implementations of existing features, like supporting Hibernate instead of OpenJPA, or other templating systems than Velocity etc... but it reached the size where a single man has to stop increasing it.

Development of a demo/reference web application (following the petstore guidelines) is ended, and it just needs to be beautified (both in code and appearance). Documentation is an ongoing work, both keeping up to date old documents and creating new ones.

The next milestone will be all dedicated to user experience. I'll try to address problems like : - Speed up the modify/build/see-the-results cycle, probably using Commons JCI which will need to support AspectJ - Provide some kind of support in Eclipse, cause currently setting up a magma project in eclipse is a bit tricky. This involves M2E and AJDT stuff. - Improve the Maven plugin by providing more support for those cases where a dependency is there but without a proper implementation.
- Write much more docs, especially tutorial trails on specific subjects.
- Rewrite the current developer tools to give users faster and easier access to problems and features - Make all the code more user friendly, naming all classes accessible to base users Mag* - Smooth things over performing some small refactorings that will make it easier to understand some concepts to the user. - Expand the number and quality of fragments, to offer more functionalities out of the box.

The "user base" of Magma is expanding. We'll probably be using Magma to build an application for a government agency here in Italy in September, and I've been demoing Magma to the people there that will use it, gaining those "Aha moments" that convinced them. Other small/medium sized intranets are undergoing development right now.

Spring Roo is gaining popularity, which is a good thing for Magma due to the similarities they share : they both start from a similar approach and both uses ApsectJ ITDs coupled with annotations. One of the documents I'm trying to write is a comparison between the two.

The biggest difference I see is that Roo uses code generation, making it easier to produce lots of code, but not simplifying maintenance on that generated code. On the opposite Magma does not use code generation, it uses directly AspectJ ITDs to compose and customize the application, requiring probably a bit more code to be written by the programmer, but limiting maintenance only to that code. Since maintenance is often a higher cost than raw development, the advantage is clear.

As always, any question, criticism, appreciation or help is extremely welcome.

Simone

--
Simone Gianni            CEO Semeru s.r.l.           Apache Committer
http://www.simonegianni.it/


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to