Getting Started (jpm)

This article needs a technical review. How you can help.

SDK pro vytváření doplňků obsahuje nástroj v podobě příkazového řádku, který použijete k inicializaci, spuštění, testování a kompletaci doplňků. Současná podoba tohoto nástroje se jmenuje jpm a je založena na Node.js. Nástroj jpm nahrazuje dnes již zastaralý nástroj cfx.

Nástroj jpm lze použít pro Firefox verze 38 a vyšší.

Tento článek popisuje vývoj doplňků pomocí jpm nástroje.

Návod Vás provede krok po kroku procesem vytváření jednoduchého doplňku za pomoci tohoto SDK.

Prerekvizity

K vytváření doplňků pro Firefox pomocí tohoto SDK budete potřebovat:

  • Firefox verze 38 nebo vyšší. Pokud potřebujete pracovat se staršími verzemi Firefoxu, je třeba abyste použili starší nástroj cfx. Podívejte se na instrukce jak začít pracovat s cfx.
  • na principu příkazového řádku založený jpm nástroj. Podívejte se na instrukce jak nainstalovat jpm. Od chvíle, kdy nástroj nainstalujete, budete pracovat s příkazovým řádkem.

Inicializace prázdného doplňku

Vytvořte novou složku pomocí příkazového řádku. Přejděte do této složky, napište příkaz jpm init a stiskněte enter:

mkdir my-addon
cd my-addon
jpm init

Budete požádáni o zadání některých informací o Vašem doplňku: tyto informace budou užity k vytvoření package.json souboru náležejícího k Vašemu doplňku. Pro začátek bude stačit, když stisknete Enter pro přijetí výchozích nastavení každé z vlastností. Pro více informací ohledně příkazu jpm init se podívejte na dokumentaci jpm příkazů.

Po vložení nebo přijetí výchozích hodnot těchto vlastností bude vypsán úplný obsah souboru "package.json", který je třeba odsouhlasit.

Vytváření doplňku

V tuto chvíli je již možné začít se psaním samotného kódu doplňku. Pokud jste nezměnili výchozí hodnotu vstupního bodu, "entry point" (proměnná "main" v souboru package.json), umístíte Váš kód do souboru "index.js" v kořenovém adresáři doplňku. Soubor index.js pro Vás byl vytvořen v předchozím kroku. Otevřete jej a vložte následující kód:

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");

var button = buttons.ActionButton({
  id: "mozilla-link",
  label: "Visit Mozilla",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: handleClick
});

function handleClick(state) {
  tabs.open("http://www.mozilla.org/");
}

Povšimněte si, že "vstupní bod" je ve výchozím nastavení jpm nastaven na "index.js", což znamená, že jako hlavní soubor Vašeho doplňku byl určen "index.js", který se nachází přímo v kořenovém adresáři Vašeho doplňku.

V případě staršího nástroje cfx je jako výchozí hodnota vstupního bodu nastaven soubor "main.js", který se nachází ve složce "lib" v kořenovém adresáři doplňku.

Soubor uložte.

Jako další krok vytvořte složku s názvem "data" uvnitř kořenového adresáře Vašeho doplňku

mkdir data

a uložte tyto tři soubory s ikonami do této složky (data):

icon-16.png
icon-32.png
icon-64.png

Přejděte zpět do příkazového řádku a zadejte:

jpm run

Tímto příkazem se spustí nová instance prohlížeče Firefox s již nainstalovaným Vámi vytvořeným doplňkem.

V případě, že se Firefox nepodařilo nalézt, je třeba specifikovat cestu k jeho umístění (příklad z Ubuntu):

jpm run -b /usr/bin/firefox

Jakmile dojde ke spuštění Firefoxu, uvidíte v pravém horním rohu okna ikonu s logem Firefox. Klikněte na tuto ikonu a otevře se nová záložka s načtenou stránkou z adresy http://www.mozilla.org/.

To je vše, co v tuto chvíli Váš doplňek dělá. Jsou užity tyto moduly SDK balíčku: modul akční tlačítko (action button), který Vám umožňuje přidávat tlačítka do prohlížeče a modul záložek (tabs), který Vám umožňuje provádět základní operace se záložkami. V tomto případě jsme vytvořili tlačítko, jehož ikona je tvořena logem Firefox a definovali metodu handleClick() volanou při události kliknutí, která načte domovskou stránku Mozilla v nové záložce.

Zkusme si upravit kód doplňku v souboru index.js. Například můžeme změnit adresu stránky, která se má v nové záložce načíst:

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");

var button = buttons.ActionButton({
  id: "mozilla-link",
  label: "Visit Mozilla",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: handleClick
});

function handleClick(state) {
  tabs.open("https://developer.mozilla.org/");
}

V příkazovém řádku opět zadejte jpm run pro spuštění upraveného doplňku. Tentokrát jsme po kliknutí přesměrování na stránku https://developer.mozilla.org/.

Kompletace doplňku

Jakmile jste s vytvářením doplňku hotovi a jste připraveni jej zpřístupnit dalším uživatelům, je třeba doplněk zkompletovat v podobě balíčku souboru XPI. Balíček XPI představuje soubor, kterým si ostatní uživatelé Firefoxu mohou Váš doplněk nainstalovat. Soubor XPI můžete ostatním uživatelům buď poskytovat individuálně nebo jej zveřejnit na adrese https://addons.mozilla.org, kde si každý uživatel Firefox bude Váš doplněk moci stáhnout a nainstalovat.

K vytvoření XPI balíčku stačí v přikázovém řádku z umístění kořenového adresáře Vašeho doplňku spustit následující příkaz:

jpm xpi

Měla by se ukázat následující informace:

JPM info Successfully created xpi at /path/to/my-addon/@my-addon-0.0.1.xpi

Abyste otestovali funkčnost výsledného XPI balíčku, pokuste se doplňek nainstalovat na Vašem vlastním prohlížeči Firefox. To můžete provést například tak, že stisknete klávesovou kombinaci Ctrl+O (na zařízeních Mac Cmd+O) přímo ve Firefoxu, nebo tak, že kliknete na položku Otevřít soubor v menu prohlížeče pod záložkou Soubor. Otevře se dialogové okno pro výběr souboru, ve kterém vyhledáte Váš .xpi balíček, otevřete jej a budete následovat pokyny instalace doplňku.

Berte na vědomí, že Firefox ve svém výchozím nastavení požaduje, aby všechny doplňky, včetně těch, které si uživatel sám vytváří, byly podepsané. Po instalaci se doplňky ukáží jako zakázané v seznamu nainstalovaných balíčků s poznámkou o chybějícím podpisu. Během vývoje, nebo pokud neplánujete doplněk šířit, můžete otevřít konfiguraci about:config a nastavit xpinstall.signatures.required na hodnotu false pro umožnění spouštění nepodepsaných doplňků. Toto nastavení se však vztahuje na veškeré instalované doplňky a je tedy třeba zvýšené obezřetnosti, aby nedošlo k případné instalaci škodlivého balíčku z neznámých zdrojů.

Chcete-li svůj doplňěk šířit, nahrajte jeho XPI soubor na addons.mozilla.org nebo spusťte příkaz jpm sign v příkazovém řádku pro případ, kdy doplněk budete šířit samostatně, třeba na vlastním serveru.

Souhrn

V tomto návodu jsme vytvořily a zkompletovali jednoduchý doplněk užitím těchto tří příkazů v příkazovém řádku:

  • jpm init k inicializaci prázdné šablony doplňku
  • jpm run ke spuštění nové instance prohlížeče Firefox s již nainstalovaným doplňkem za účelem testování
  • jpm xpi ke kompletaci doplňku do balíčku formátu XPI sloužícího k šíření doplňku

Toto jsou tři hlavní příkazy, kterých budete užívat při vývoji doplňků pomocí tohoto SDK. K dispozici je podrobně zpracovaná dokumentace popisující všechny příkazy, kterých je možné užívat a všechny další parametry těchto příkazů.

Samotný zde vytvořený doplněk využívá dvou modulů představovaného SDK, akčního tlačítka a založek. Vývojář má také k dispozici dokumentaci pro všechna API vysoké a nízké úrovně tohoto SDK.

Jak pokračovat?

Pro vyzkoušení dalších možností nabízených tímto SDK si zkuste projít některým dalším z našich návodů.

Štítky a přispěvatelé do dokumentace

Štítky: 
 Přispěvatelé této stránky: Demo30
 Poslední aktualizace od: Demo30,