Web Development Frameworks – CodeIgniter
A few moments spent with Google will reveal that a myriad of frameworks exist for content management systems (CMSs) available for use in web development. A lot of which are free to use, open source and highly hackable to specific requirements. Indeed, it would be easy to think that for every plausible project a neatly packaged solution already exists and is merely a search away.
Here at eSterling, we often find ourselves facing a unique project that doesn’t fit neatly in to any of these pre-packaged solutions. Data structures cannot always be altered due to compatibility with client software or procedure, design often doesn’t lend itself to the required templating brief, technologies are not always realistically compatible, and many other underlying requirements can be present which mean we have to start from the ground up.
However, even the most bespoke of web development projects requires a solid foundation, a way to structure growth and distribute key features whist ensuring maintainability. The vast majority of projects, no matter how niche, will require basic features such as page generation, form submission and basic database manipulation. Furthermore, these features need to be implemented in a secure and robust way to ensure the integrity of each project whilst simultaneously minimising loading times, bandwidth usage and other strains on resources.
Enter CodeIgniter. CodeIgniter is an open source, application development framework, designed to kick-start projects with a well-designed core of those basic features most sites require. Due to the fundamental nature of the tools provided it will happily exist on a variety of server configurations and requires virtually no configuration out of the box, saving headaches and that most precious of all assets, time. It is lean, modular and essentially, unlike many CMSs, it provides no front-end templates or theme (aside from an easily-deleted example welcome page) ensuring that the “default install” look is avoided.
Over the next few posts we will have a closer look at the feature-set provided by CodeIgniter, focusing on how it fulfils our needs in terms of functionality and security. There are also some areas, whilst by design, where CodeIgniter fails to address reasonably fundamental features that crop up time and again, namely user authentication and site administration, and we will see how to plug those gaps.