NEX — открытый формат расширений от Opera Software

Разработчики из Opera Software представили NEX - формат расширений, созданный на базе хромовского CRX, но более нейтральный в плане поддержки конкретных вендоров. А если простыми словами, то они взяли CRX и на его базе создают свой формат NEX, который будет поддерживать не только API от Google, но и как минимум еще и от Opera. А теперь немного подробнее...

Когда разработчики решали вопрос перехода на Chromium, они очень внимательно изучили все аспекты этого шага. В том числе обратили свое внимание на формат расширений CRX. Поскольку формат этот признает только те API, которые Google захотел увидеть в своем Chrome, а браузер Opera, несмотря на хромовскую природу, имеет свой интерфейс и свой функционал, то возникает проблема: как позволить разработчикам расширений использовать API от Opera?

В конце концов, поскольку внести поддержку API Оперы в формат CRX весьма проблематично, было решено создать на его основе свой NEX (образован от Navigator Extension). Причем в Opera решили, что если уж создавать новый формат расширений, то нужно сделать его открытым, чтобы и команды других браузеров смогли принять участие в его разработке. А в перспективе планируют сделать его стандартом, протолкнув через организацию W3C.

Что представляет из себя NEX сегодня?

На данный момент расширения NEX имеют расширение .nex (логично, кто бы спорил) и передаются с типом application/x-navigator-extension. NEX сейчас это CRX минус некоторые хромовские API и плюс API для работы с экспресс-панелью Оперы. При этом браузер Opera, а также их магазин дополнений продолжат поддерживать параллельно и CRX.

Как NEX будет поддерживать API разных браузеров?

Заявлено, что в формате NEX могут быть описаны специфические API всех браузеров, принимающих участие в разработке. Например, формат поддерживает API Хрома через chrome.*, а API Оперы через opr.*. При этом разработчики могут создавать универсальные расширения за счет проверок типа if(opr.speeddial){...}.

Мысли вслух от Хром.рф

Если уж они решили делать свой интерфейс, то выхода у них особо и не было. Вот только все равно остаются две проблемы:

1. А если каждый суслик мелкий браузер решит внести поддержку своих API? Не превратится ли NEX в свалку?

2. А кто из более менее популярных браузеров реально может принять участие в развитии NEX? Надежда только на Firefox...

Документация NEX доступна здесь.

Заметка по мотивам официального анонса