Enough of this wordy marketing/writing-for-the-web stuff that Steven is writing about – we all know that everyone just wants to know about programming! Okay… maybe not everyone wants to know about code but I thought some people might be interested to know a little bit more about how we’re developing web apps here at Edge Hill. I mentioned previously how we’re developing sites using symfony, a web development framework and I’ll go into what this offers us and some pointers to further information.
Symfony is a framework, written in PHP which assists developers in creating rich web applications. It provides a wide range of features that previously the developer has to write themselves or manually integrate several third party systems such as object models, MVC separation, caching, scaffolding, Ajax interactions and much more. By taking away overhead it leaves the developer able to concentrate on the functionality of the system and should lead to better applications.
Symfony takes influence from Ruby on Rails and other frameworks in its design and actively promotes well written, reusable code. The MVC separation allows you to maintain database (model), templates (view) and logic (controller) separately meaning parts of the site can be written by several members of the team. ORM means that writing SQL is a rarity. Adding Ajax to produce slicker user interactions is easy and done in a way that maintains standards compliant and accessible HTML.
Currently two major sites have been developed using symfony – Education Partnership and Hi – there’s a couple more smaller applications using it and a few bigger ones in development at the moment. For these sites symfony has allowed pretty rapid development – under a month in the case of Hi – of complex websites. Tools for handling technologies like RSS are integrated with symfony in the form of plugins which has allowed us to produce a couple of different feeds plus seamlessly merge the forum and blog tools with the rest of the Hi site.
One of the best features of symfony is the admin generator. This allows us to quickly create interfaces to allow other people to update websites. This is being used for a couple of questionnaires and much more complex systems too – if you work or study at Edge Hill the chances are you’ll come across the admin generator in action very soon without even realising it.
If you’re interested in finding out more about symfony then there’s a brand new tutorial available on SitePoint which gives a great introduction. The symfony community is really good too with an ever growing selection of plugins (including a couple released as a result of work done here at Edge Hill) and a supportive forum and mailing list.