I'm a software developer and I have a bad luck because since I started
the work (for money) until now, I never satisfy my job. All projects that
pass through my working life is quite suck. Especially web project.
No pattern (or maybe it has) but with a lot of exceptions and finally every
Java EE project is quite bloat and messy. I used to work with many people
although now I work with a few people. The common problem for new
developers (may be including old developers) is they don't know how to
design the system I mean how to design the code. separate the Class
by its responsibility, separate the method by its functionality and naming.
The naming convention is the classic problem even if Java has the
standard naming convention that anyone can download. http://java.sun.com/docs/codeconv
I always found the guy that stick with his naming convention and have
the difficulty when I ask them for changing.
By the way naming convention is easy to follow if you have the open mind
but the difficult thing is not naming convention but it is how to name the
class, method, variable and package. IMO it is the art.
Another bad luck for me is no one around me is smart in programming
(This may wrong because I'm not the good one and may miss something)
I would like to be a smart programmer. so I try (moderate) hard by
reading many books, articles , documents and blogs. I know I cannot
change people around me to do what I think. I can change only one guy,
that's me.
The first problem that I want to eliminate is the lack of programming
design art in the head of people around me. I would like to make the simple,
and if possible the simplest web framework for them and me.
The framework that provides the comfortable with flexibility.
Type less do more is still the interesting idea.
Now while I'm writing this blog post with ironic style. My framework
was finished. It is in alpha state of development because I've a plenty
of features that have not been implemented yet and many bugs to be
discovered (No test case because the code re-factoring happens frequently)
My framework built on top of the great existing one ,
Stripes framework, and able to wire many thing into it with easy to
use annotation. Framework was totally built from my experience both
coding and reading.
Many people suggest to separate layer of responsibility to
at least 3 layers. For the view of development is MVC and for the view
of software architecture is Domain , DAO , Service, Presentation.
My framework can apply all or some of it with ease. The strength point
of my framework is Service, DAO, Resources, ... dependency injection
and move the cross cutting concern logic into framework.
Developer just write the code without the question because the framework
have already solved many problems. developer will not stuck on
the way anymore. (This help me from reading unpatterned
and scattered code.
I've forgot to tell you the name of my framework. I call it "Ngai" .
I didn't intend to give the god name for it (Ngai the God) but Ngai
can pronounce "Ng-ai" in Thai language means "Easy" and the slogan
of the framework is "Ngai - nothing is difficult except pronouncing its name"
I decided to open the Ngai source code to everyone. Yes I will release it as
just another opensource software with business friendly license Apache license v2
This time I just want to tell you what I'm doing.
The next time I will post the feature set of Ngai framework. Please stay tuned.
Tuesday, July 28, 2009
Subscribe to:
Post Comments (Atom)
I want to see your Framework
ReplyDeleteand how to use and config
so what is type off licence
from your friend ^^
Now I'm working on javadoc, tutorials and some
ReplyDeleteexamples. not over 1-2 month you can access all
of these resources from the version control repo.
The license may be Apache License version 2
That means it can be used in commercial software.
Or may be dual license but don't worry GPL or costly license is not in my list