Ve Fedoře 19 je uvedená nová utilita nazvaná Developer Assistant, která má za cíl usnadnit vývojářům vývoj programů pod Fedorou. Zejména nainstalování nutných balíčků, nastavení prostředí, vytvoření repositářů apod.

Developer Assistant se skládá ze dvou částí:

  • engine neboli výkonná část programu, která zpracovává YAML soubory, uploaduje soubory do GitHubu
  • jednotliví asistenti napsaní ve formátu YAML, kde jsou popsány jednotlivé kroky jak začít či založit nový projekt

Aktuálně jsou podporovány následující vývojové jazyky:

  • C/C++
  • Python
  • Java
  • Ruby
  • Perl

Každý z těchto jazyků může, ale nemusí obsahovat i další podasistanty zaměřené na specifickou vývojovou část pod dotyčným jazykem.

Například pro jazyk Python to jsou:

  • lib – vytvoření své vlastní knihovny
  • django – web framework (https://www.djangoproject.com/)
  • flask – microframework (http://flask.pocoo.org/)
  • pygtk – demo příklad na tvorbu GTK GUI rozhraní

Tyto subasistanty jsou většinou demo nebo počáteční programy, které pouze nastaví prostředí a připraví jej pro další vývoj. Požadavky na správnou funkcionalitu Developer Assistanta: V případě, že uživatel chce svůj projekt uploadovat na GitHub server, pak MUSÍ mít na tomto serveru již vytvořen účet.

Jak Developer Assistant funguje:

Při každém spuštění Developer Assistanta se zkontroluje, zda-li jsou v systému nainstalované dotyčné balíky a v případě, že nainstalované nejsou, tak se doinstalují i se všemi svými závislostmi. V praxi to tedy znamená, že pokud uživatel zvolí python django, doinstaluje se jak balík python-django, tak i samotný programovací jazyk python. Developer asistant poskytuje následují rozhraní:

developer-assistant-1který uživateli zobrazí, které jsou dostupné programovací jazyky.

developer-assistant-2Při dalším spuštění developer assistanta pro specifický jazyk uživatel uvidí, jaké možnosti má pro vývoj v programovacím jazyku (například Python). Jestliže si uživatel zvolí vyvíjet například grafické rozhraní pod GTK (pomocí Pythonu), zobrazí se mu následující možnosti:

developer-assistant-3Jednotlivé možnosti znamenají:

  • -n NAME – Vytvoří projekt pod názvem [NAME] v aktuálním adresáři. Projekt je současně inicializován v lokálním GIT repositáři.
  • -e – importuje projekt do adresáře Eclipse workspace. Pokud není specifikováno, pak je to ~/workspace. V opačném případě je to adresář specifikovaný za parametrem -e.
  • -v – nastaví rc skript VIM pro lepší editaci jazyků. Pokud soubor .vimrc v domovském adresáři uživatele neexistuje, pak je tento skript vytvořen. V případě, že soubor .vimrc již existuje, část definovaná Developer Assistantem je vložena na konec souboru .vimrc. Uživatel má možnost zapnout doporučované nastavení o pluginy VIM jako NerdTree, TagList, Command-T, Jedi.
  • -g Github – projekt je uploadován do veřejného repositáře GitHub: https://github.com/. Pokud není specifikován argument, pak je bráno systémové uživatelské jméno, pod kterým je devassistant spuštěn.
  • -b Build – vytvoří jak SRPM, tak i RPM balík pro dotyčný projekt (zatím dostupný pouze pro jazyk C/C++)

Obsah souboru ~/.vimrc v případě, že neexistuje:

developer-assistant-4Přiřazení let devassistant=1 zapne nastavení prostředí VIM definovaného Developer Assistantem. V opačném případě zůstane nastavení prostředí VIM definované uživatelem. Nastavení prostředí VIM definovaného Developer Assistantem v praxi vypadá zhruba takto:

developer-assistant-6

Ukázkový příklad

Řekněme, že uživatel by si rád vytvořit pythonovskou knihovnu a tuto knihovnu by rád naimportoval do prostředí Eclipse a zároveň tuto knihovnu uložil do repositáře GitHub. Příkazová řádka tedy bude vypadat následovně:

devassistant python lib -n mylib -v -e -g

Po skončení Developer Assistanta a následovném otevření prostředí Eclipse uživatel uvidí, že projekt je naimportován a s projektem lze pracovat.

developer-assistant-5Celý projekt byl zároveň exportován do veřejného repositáře GitHub.

developer-assistant-7developer-assistant-8