|Version 1 (modified by 14 years ago) ( diff ),|
Why a rewrite?
Rewriting a large, working application is not something to be undertaken lightly. It is a lot of work & the payback at this stage isn't clear.
It is being done to address some real problems with the the current Sahana codebase:
- Sahana is currently based on design principles which have since become sub-optimal due to the emergence of new Rapid Application Development frameworks & highly-interactive Web 2.0 UIs.
- The current codebase has grown organically since it was originally designed - this has meant that standards have broken down & the code is becoming harder to maintain & add new functionality to.
- It is currently hard to access data from modules via consistent methods...this is required for serious integration e.g. in GIS & Messaging.
- PHP is not a good language for building large, maintainable applications: http://www.ukuug.org/events/linux2002/papers/html/php/index.html
- doesn't enforce Object Orientation
- poor separation of Presentation & Code
- Whilst there is a fairly coherent framework, it isn't adhered to consistently - different developers have done very different things in different modules
- using a modern library means no issues with browser incompatibilities
- consistency means less headers for clients to download
Note: See TracWiki for help on using the wiki.