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]