Страницы: 1
я тут потыкался по интернетам и не нашёл ничего приличного на эту тему.
есть нативные ручки. доступные через Components, но они настолько низкоуровневые и кривые, что приходится писать тучу кода, обильно сдабривая её костылями.
есть набор библиотек доступный из resource:/gre/modules/ - они конечно сильно упрощают работу, но их разношёрстный (от ооп, до процедурщины) апи не слишком удобен.
есть попытка создать что-то высокоуровневое под названием FUEL ( https://developer.mozilla.org/en/FUEL ), но его апи весьма бедно и сильно специфично.
есть ещё что-то что я пропустил и что стоило бы внимания?
спрашиваю я это потому что разрабатываю свой и меня сильно печалит отсутствие достойных конкурентов ._."
из интересных фич моего фреймворка могу отметить:
1. лёгкость подключения. подключаем специальный модуль и он создаёт всё необходимое окружение. не нужно объявлять никакие EXPORTED_SYMBOLS - просто объявляем глобальный объект с именем модуля и всё.
2. автозагрузка модулей по требованию. не нужно заботиться о зависимостях - просто используете нужные вам объекты, а нужные модули подгрузятся сами.
3. упрощение работы с низкоуровневым апи. весь функционал фф покрыть высокоуровневым апи нереально, поэтому важно иметь простые ручки для работы с низким уровнем.
4. максимальная асинхронность. используюсят по возможности асинхронные ручки. а чтобы код их использующий не превращялся в спагетти - синхронность эмулируется с помощью генераторов. есть достаточно простая, но мощная реализация "волокон" с полной поддержкой исключений.
5. активно используются "обёртки", скрывающие внутри себя костыли для нативного апи и предоставляющие более простой и мощный интерфейс работы со стандартными объектами.
6. автопривязка методов к объекту (созданному через спец фабрику). не надо беспокоиться о передаче правильного контекста - просто берём у объекта метод и передаём в качестве колбэка куда угодно.
пока что это всё на стадии эксперимента, никакой документации и тестов, но если кто-то захочет пощупать у себя, то нужно просто положить сорцы себе в расширение и далее действовать по инструкции: https://github.com/nin-jin/fenix/blob/master/chrome.manifest
Отредактировано tenshi (01-10-2011 18:22:51)
Отсутствует
Страницы: 1