Комментарии 32
Вроде как использование XUL объявлено мозиллой устаревшим подходом. Сейчас предлагается переходить на Web Extensions. Правда, это началось недавно и будет работать только для последних версий Firefox… Поправьте пожалуйста, если я не прав.
Да, это так, но API этих WebExtensions очень небогат. Тривиальные вещи с его помощью не сделать. Например, вам не удасться повторить расширение fb2reader (естественно, повторять его нет необходимости, но если вы хотите сделать нечто похожее, как например преобразование XML-файла с логом в таблицу, то делать придется по устаревшей технологии). Так что если оставят только его в таком виде, как есть сейчас, очень много чего похерят.
Переход на новый движок (Servo), оптимизированный под многопоточность и многоядерность (корни нынешнего движка Gecko уходят ещё во времена Netscape, когда в подавляющем большинстве ПК было не больше одного процессорного ядра), требует «смерти» XUL (который, как я понимаю, сильно прибит к старому движку гвоздями). А это, в свою очередь, требует и переписывания дополнений на новый API. Заодно и новый интерфейс будет, основанный на HTML5.
Так что статью бы кто написал о современном состоянии разработки дополнений (мне бы эта информация сильно пригодилась).
Представьте себе http://stackoverflow.com/questions/7575658/firefox-add-on-vs-extensions-vs-plugins три старых вида расширений (при том что в документации mdn зачастую забывают рассказать для какого апи примеры) + новый недопиленный (крайне недопиленный) web extension, использование которого отключает все остальные api (то есть вы не можете в web extension расширении использовать модули других апи файрфокса что бы реализовать недопиленный функционал) — и вы приблизительно поймете всю боль разработки расширения для ff. Именно в данный момент. До того как они взялись за webextensions и не забросили addon sdk — все было если не хорошо, то неплохо. Когда они допилят webextension — расширения под хром можно будет иcпользовать в ff (возможно с перепаковкой) — тоже будет неплохо. А вот прямо сейчас — есть некоторая боль от процесса разработки.
Tree Style Tab можно реализовать, не вижу проблем. Advanced Locationbar — да, прямо в таком виде не реализуется на хроме. Но у меня больше эмоций по поводу низкоуровневого доступа к сети и файловой системе. Полезные фишки были, я буду скучать по ним.
Да я откуда знаю? Решили не заморачиваться на портирование, не захотели по религиозным причинам, мало ли. Просто я вижу функционал, я знаю api — исходя из этого говорю — это реализуемо. Advanced Locationbar — нет, в хроме можно только кнопки добавлять в бар, сам бар на кастомизацию не отдается.
http://www.ghacks.net/2016/08/14/override-firefox-add-on-signing-requirement/
поправил кнопку, завтра надо будет реализовать добавление меток на страницу в виде квадратиков, лэйблов, и т.д. Может кто знает что использовать canvas или что то другое?
На mdn есть хорошее howto для создания нового расширения.
https://developer.mozilla.org/en/Add-ons/SDK/Tutorials/Getting_Started_(jpm)
Разработка расширения для firefox, или мой первый опыт, на примере скриншотера