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í:
který uživateli zobrazí, které jsou dostupné programovací jazyky.
Př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:
Jednotlivé 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:
Př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:
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.
Celý projekt byl zároveň exportován do veřejného repositáře GitHub.
18. 5. 2013 at 09:59
jak je to s tim perlem?
$ devassistant perl -h
usage: devassistant [-h] {c,cpp,java,python,ruby} …
You have to select a subassistant.
$ rpm -q devassistant
devassistant-0.3.1-1.fc20.noarch
20. 5. 2013 at 09:51
Diky za otazku.
Jelikoz je Perl opravdu mnohostranny programovaci jazyk, premyslime, co tam vlastne dat.
Demo tridy, ukazku CGI, apod …
Nejake prani?
Perl by se mel objevit jiz brzy, pokud pujde vse podle planu.
21. 1. 2014 at 18:28
Omlouvám se za „zneužití“ této sekce, ale potřebuji kontaktovat spolužáka Petr Hráček z důvodu pořádaného srazu spolužáku. Petře napiš mi prosim na uvedný email dfranc%seznam.cz. Děkuji.