Это может быть за пределами вашей компетенции, но, возможно, вы должны рассмотреть sproutcore . Насколько я понимаю, это связанная архитектура MVC, которая может быть независимой от бэкэнда.
У меня нет особого опыта в этом, но похоже, что некоторые потребители (например, Apple MobileMe) хотят сделать то же самое, что и вы.