Javascript ideology for developing complex web applications