Наверняка, вы сталкивались с принципами (пусть и противоречивыми) о написании модулей и классов на JavaScript. Когда мне понадобилось написать встраиваемый в веб-страницу cкрипт, который предоставляет API для работы определённого сервиса, то я не смог найти достойных рекомендаций о проектировании подобных скриптов.
Итак, вот (довольно очевидные) требования к скрипту, с которыми я столкнулся:
- он будет встраиваться в страницы сторонних веб-приложений;
- он должен выполнять свою работу качественно;
- он должен загружаться быстро;
- он не должен (непредсказуемо) влиять на работу веб-приложения;
- должен соответствовать требованиям безопасности;
- … // много чего ещё :)
Из реальной практики родились принципы, описанные ниже. Это не полностью уникальные идеи, а скорее сборка лучших практик, которых я видел в чужих решениях, например, в библиотечках google analytics и jquery.