| категории | закладки | история | добавить | RSS |
  

04:24 05-12-2017 Virtuos86

Когда революционная версия 57 еще пребывала в статусе beta, а я начинал делать адд-оны к \"огнелису\", я столкнулся с тем, что зачастую в примечаниях к документации о том или ином параметре встречается оговорка \"скопировано с Chrome Web Extensions API\". Но здесь нужно отметить коренное отличие, даже два.
Во-первых, в огнелисе для доступа к API используется корневой объект `browser`, в то время как Chrome в качестве такового использует `chrome`. Во-вторых, несмотря на идентичное API, существует разница и в способе его использования: в Хроме нужно передавать в функции API (методы chrome) колбэки, что провоцирует COP — колбэк-ориентированное программирование, в то время как Файерфоксе функции API возвращают промисы, что, на мой взгляд, гораздо удобнее.
Когда я обнаружил эти отличия, я немного приуныл, поскольку это означало, что при портировании дополнения между браузерами его либо придется переписывать самым обезьянним образом, либо изначально городить диспатчинг.
Но когда зарелизился FF 57, я в ходе разработки обнаружил, что в Файерфоксе заработал и объект `chrome`. К сожалению, я не проверил, является ли он обычным алиасом к `browser` или он копирует поведение хромовского оригинала и позволяет работать с ним с использованием колбэков, а не промисов. Если это так, то это бы значительно упростило портирование дополнений с Хрома в Файерфокс.

Пустяковое замечание, но для истории полезно.



Virtuos86
2017-12-05T04:24:52Z
1 нормальный
Рейтинг: 4
голосов: 5


Занимательное замечание об устройстве Web Extensions API в веб-браузере Mozilla Firefox

- Когда революционная версия 57 еще пребывала в статусе beta, а я начинал делать адд-оны к \"огнелису\", я столкнулся с тем, что зачастую в примечаниях к документации о том или ином параметре встречается оговорка \"скопировано с Chrome Web Extensions API\". Но здесь нужно отметить коренное отличие, даже два.
Во-первых, в огнелисе для доступа к API используется корневой объект `browser`, в то время как Chrome в качестве такового использует `chrome`. Во-вторых, несмотря на идентичное API, существует разница и в способе его использования: в Хроме нужно передавать в функции API (методы chrome) колбэки, что провоцирует COP — колбэк-ориентированное программирование, в то время как Файерфоксе функции API возвращают промисы, что, на мой взгляд, гораздо удобнее.
Когда я обнаружил эти отличия, я немного приуныл, поскольку это означало, что при портировании дополнения между браузерами его либо придется переписывать самым обезьянним образом, либо изначально городить диспатчинг.
Но когда зарелизился FF 57, я в ходе разработки обнаружил, что в Файерфоксе заработал и объект `chrome`. К сожалению, я не проверил, является ли он обычным алиасом к `browser` или он копирует поведение хромовского оригинала и позволяет работать с ним с использованием колбэков, а не промисов. Если это так, то это бы значительно упростило портирование дополнений с Хрома в Файерфокс.

Пустяковое замечание, но для истории полезно.">


Здесь находятся
всего 0. За сутки здесь было 0 человек

Напомнить пароль

Яндекс.Метрика