>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >фреймворки для разработки расширений | тизер fenix http://forum.mozilla-russia.org/viewtopic.php?id=51723 |
tenshi > 01-10-2011 18:21:30 |
я тут потыкался по интернетам и не нашёл ничего приличного на эту тему. есть ещё что-то что я пропустил и что стоило бы внимания? спрашиваю я это потому что разрабатываю свой и меня сильно печалит отсутствие достойных конкурентов ._." из интересных фич моего фреймворка могу отметить: 1. лёгкость подключения. подключаем специальный модуль и он создаёт всё необходимое окружение. не нужно объявлять никакие EXPORTED_SYMBOLS - просто объявляем глобальный объект с именем модуля и всё. 2. автозагрузка модулей по требованию. не нужно заботиться о зависимостях - просто используете нужные вам объекты, а нужные модули подгрузятся сами. 3. упрощение работы с низкоуровневым апи. весь функционал фф покрыть высокоуровневым апи нереально, поэтому важно иметь простые ручки для работы с низким уровнем. 4. максимальная асинхронность. используюсят по возможности асинхронные ручки. а чтобы код их использующий не превращялся в спагетти - синхронность эмулируется с помощью генераторов. есть достаточно простая, но мощная реализация "волокон" с полной поддержкой исключений. 5. активно используются "обёртки", скрывающие внутри себя костыли для нативного апи и предоставляющие более простой и мощный интерфейс работы со стандартными объектами. 6. автопривязка методов к объекту (созданному через спец фабрику). не надо беспокоиться о передаче правильного контекста - просто берём у объекта метод и передаём в качестве колбэка куда угодно. пока что это всё на стадии эксперимента, никакой документации и тестов, но если кто-то захочет пощупать у себя, то нужно просто положить сорцы себе в расширение и далее действовать по инструкции: https://github.com/nin-jin/fenix/blob/master/chrome.manifest |