I have developed the Adept Development system for my own learning and for my own used. I set the following goals:
- Make no compromises. I develop the software to my best ability without compromising quality. I've had my fill of working on projects where time and money overrule the principle need for good design and code.
- Must be fully documented. I provide ongoing full documentation as part of the code - line by line - and keep it up during updates and changes.
- Full Unit Testing at all levels. Unit testing is a concept I've embraced, and I want to see how it fairs when fully implemented.
- Use Browser/DHTML as the front end to make full use of the talents of the modern GUI designer. It is popular to criticise the browser as a client, but I believe the advantages outweigh the problems.
- Must be inherently multi-user. The application server/browser framework allows for more than one user. I see no reason why this shouldn't be implemented to provide the same conveniences to the single user.
- Must be cross-platform. It has always been part of my vision to provide the same software on Windows, Mac and Unix/Linux, without having to spend costly months on ports.
- Implement separation between the GUI and back-end so that a HTML designer can continue to work on production pages without referring to development staff.
- Follow correct architectural principals to divide application development up horizontally (separate tiers) and vertically (clear functionality packages).
- Be able to be compiled by a native compiler such as GCJ to provide shrink-wrapped packages of software for each platform.
- Not to rely on server based database systems such as Postgres - although the users of the system should be free to use these if that is their desire.
- To work on all modern DHTML compatible browsers - Microsoft and Mozilla/Netscape based, as well as on OSX browsers like Safari.
- To provide clear and useful session management - including the simple retrieval of session and conversation data without having to explicitly pass them through the tiers.
- To provide a system that can be easily used by corporate developers - with the tools, packages and techniques that are familiar to them - to create shrink-wrapped software packaged to give away or sell.
0 Comments:
Post a Comment
<< Home