Одно хорошо, нет путаницы такой путаницы как с браузерами и IE. Несколько дней потратил, чтобы чуточку расширить функционал одного проприетарного web приложения с помощью JS. Особый шарм задавало то, что все элементы на странице не имели ID или даже классов.
Я имею в виду каркас для office addins. Помню, сколько крови попил мне Outlook 2003, когда я кнопку своего продукта туда вкручивал на панель и дотягивался к его модели данных. Там очень много подводных камней, валунов и другой капканоподобной дряни, заботливо разложеной на дне наподобие линии Мажино, это вы правильно сказали.
А так — добавил себе в приложение и считай, почти все есть.
Все так, но это скорее «решение», чем «каркас» :) Для «каркаса» слишком громко будет звучать.
Для каркаса, возможно, потребуется какой-то немного более обобщенный подход.
Если честно, я на своей практике только один раз видел необходимость в подобном подходе. Через год разработки add-in обладал какой-то нестабильностью (девочка-аналитик его раз за разом умудрялась ломать) и все как-то приуныли — дескать, для ввода документов можно было бы и свой контрол наваять:)
VSTO и CAB: Интеграция .NET приложения в Microsoft Word