Monday, May 30, 2011

Massive Refactorings

Here we go! The first developer blog post from paizio team. Behold and start following the blog. :)

For the last couple of weeks the production from user perspective has been pretty slow. This is mainly due to massive inner refactorings we've been working on. We decided to switch from SQLAlchemy 0.6 to 0.7. This switch allowed us to utilize the wonderful event system of 0.7. Now aspects such as caching and logging user's activity could be simply implemented as sqlalchemy event listeners. The code becomes much cleaner and easier to mantain this way.

Also we've been working on integrating another magnificent feature of 0.7. It's called association proxy. Many times models have cross-cutting concers, which normally would have to be implemented as separate model classes and tables. Let's say we have teams, users and matches and every one of them has a wall where people can post messages. Normally we would need 3 different wall classes to be able to link them properly. Association proxy solves this issue with a very clean and nice way - even at the database level.

Janne has been refactoring the whole frontend. We'll be using Backbone.js for javascript MVC. All the site requests will be done via ajax with some neat effects.

Here are some example sites using backbone:
Once we get all these three huge refactorings done, things will start to go smoothly again - even smoothier than before I hope :)

Until next time,


No comments:

Post a Comment