Ninja IDE: IDE navržené pro Python

Nakonec se někdo rozhodl psát IDE jako lidé pro Python který může běžný občan bez problémů používat v Linuxu. Ano, existuje několik IDE pro programování v různých jazycích, včetně Pythonu, ale tento má v rukávu několik malých triků...

Jak NINJA-IDE začalo?

NINJA-IDE Vzniklo to několika e-maily zaslanými PyAr, jehož téma je slyšet poměrně často: „Jaké dobré IDE pro Python mohu použít?“, „Proč neexistuje IDE pro Python, který by měl tu či onu funkci?“, a odpovědi na tyto e-maily vždy skončí víceméně stejnými, protože současné IDE, které najdeme k dispozici, z větší části nebyly navrženy pro Python, ale nabídly možnost začlenit je pomocí pluginu a v tomto způsob Dříve se používalo velmi těžké IDE určené pro jiné účely, kde podpora pro Python byla ve skutečnosti minimální a ty, které byly pro Python, byly nakonec velmi orientované na konkrétní Framework nebo nebyly Free. Motivováni výzvou, kterou představovala, a zajímavými nápady, které byly vzneseny v seznamu adresátů, jsme se rozhodli přistoupit k tomuto projektu zaměřením na „Jaké funkce by měl mít dobrý IDE pro programátora v Pythonu?“.

S ohledem na tuto skutečnost jsme zahájili vývoj NINJA-IDE, jehož název je derivát rekurzivní zkratky: „Ninja není jen další IDE“. IDE má sotva více než dva měsíce vývoje, ale díky touze a hodinám programování, které mu věnujeme, již můžeme mít IDE s mnoha funkcemi implementovanými do té míry, že budeme moci pokračovat ve vývoji NINJA-IDE pomocí NINJA-IDE, což nám zase pomáhá najít chyby a zlepšit použitelnost a praktičnost aplikace prostřednictvím zkušeností a jejího nepřetržitého používání.

Projekt je vyvíjen na základě bezplatné licence GPL a kód lze získat prostřednictvím:

Některé ze současných funkcí IDE jsou:

  • Typické funkce jakéhokoli IDE pro práci se soubory, záložkami, automatickým odsazením, přiblížením editoru atd.
  • Je napsán v Pythonu a používá PyQt, je multiplatformní a byl testován na systémech Linux, MAC OS X a Windows.
  • Zvýraznění syntaxe pro širokou škálu jazyků (i když je zaměřeno na Python, poskytuje zvýraznění syntaxe pro jiné jazyky pro pohodlí programátora).
  • Možnost použití konzoly Python ze stejného IDE.
  • Umožňuje správu projektů v IDE, jejich rozpoznávání jako projektů v Pythonu a prostřednictvím IDE vytváření nových souborů a složek, mazání stávajících souborů, automatické vytváření souborů „__init__“ s informacemi v tomto modulu atd.
  • Umožňuje velmi jednoduchým způsobem skrýt a přemístit všechny panely rozhraní, což umožňuje přizpůsobení vkusu uživatele.
  • Umožňuje zobrazit více než jeden editor současně svisle nebo vodorovně.
  • Rozšiřitelné přidáním doplňků (které lze pro jednoduchost vytvořit pomocí pluginu NINJA-IDE).
  • Spravuje relace IDE, aby si pamatoval, které soubory a projekty byly otevřené, když bylo zavřeno, a obnovuje je při opětovném otevření instance.
  • Podpora automatického dokončování (jedná se o konkrétní automatické dokončování objektu, ke kterému se přistupuje).
  • Automatické aktualizace.
  • A mnoho dalších funkcí!

Kdo vyvíjí NINJA-IDE?

NINJA-IDE začaly vyvíjet Santiago Moreno a Diego Sarmentero a do 2 týdnů od zahájení projektu byl již používán k jeho vývoji. Díky lidem ze seznamu PyAr, blogů atd. Ve velmi krátké době šíření projektu znamenalo, že jsme mohli počítat s Bugs Report od uživatelů, návrhy na NINJA mailing listu a dokonce s příspěvky kódu od uživatelů a spolupracovníků, z nichž se někteří stali součástí NINJA-IDE s role komisařů, jako například: Martín Alderete, Juan Cabral a Matías Herranz.

Tato silná spolupráce a účast, které dostáváme od komunity, umožňuje NINJA-IDE každý den růst, vylepšovat a implementovat funkce, které uživatelé potřebují. Komentáře, které dostáváme od lidí, kteří aktuálně používají NINJA-IDE, nás zase motivují k další tvrdé práci na tomto nástroji, kterým chceme dále zjednodušit vývoj aplikací v Pythonu.

Jak jste se rozhodli, které funkce přidat?

Na začátku projektu se uvažovalo o struktuře, která by mu umožnila růst a začleňovat funkce v průběhu času, přičemž jako vodítko slouží dva hlavní faktory: editor kódu a projektový management. Aplikace se začala budovat tak, aby se starala o tyto dva základní pilíře a umožňovala jejich dobrou základnu pro pozdější začlenění nových funkcí. Projekt prošel různými fázemi, počínaje dobrým editorem se zvýrazňováním syntaxe, pokračující správou souborů projektu, až po přidání funkcí pluginu, automatické dokončování, správu relací atd. Python je často považován za jazyk, který má větší potíže s poskytováním informací o kódu, který je psán, protože nemůže odvodit z objektů v době programování kvůli dynamickému psaní atd.

V některých případech je pravda, že explicitní psaní může provádět jednodušší a podrobnější analýzy, ale je také pravda, že v současné době existuje mnoho nástrojů a knihoven pro Python, které pomáhají eliminovat toto tabu, že není možné mít IDE který poskytuje skutečnou pomoc s generovaným kódem. Proto se NINJA-IDE snaží umožnit těm programátorům, kteří používají Python k vývoji svých programů, mít stejná zařízení a pomůcky, jaké se získávají při vývoji v Javě nebo .NET s některými IDE, které jsou pro tyto jazyky v současnosti nejlépe známé. Vezmeme-li výsledky a zkušenosti získané z IDE pro jiné jazyky, je zamýšleno dosáhnout IDE navrženého pro Python, který generuje stejnou spokojenost při jeho používání.

Pro návrh, rozhodnutí a začlenění nových funkcí do NINJA-IDE se seznam adresátů obvykle používá k dosažení společného rozhodnutí členů, kteří tvoří projekt, více než cokoli jiného, ​​aby věděli, jaký bude cíl této funkce, v jaká fáze by měla být začleněna a další podrobnosti. Mnohokrát jsou tyto charakteristiky motivovány nějakou zajímavou funkcionalitou viděnou v jiném IDE, nápadem od jednoho z členů nebo návrhy ze skupiny uživatelů. Tímto způsobem může kdokoli, uživatel i vývojář, navrhnout, jaké věci by rádi viděli implementované v NINJA-IDE, a na základě architektury projektu jej lze definovat, pokud je to nutné začlenit jako součást samotného IDE nebo jako plugin umožňující zároveň vědět, na jakých nápadech se pracuje a kdo je ovládá, aby byla pracovní skupina synchronizována.

Co můžeme očekávat od NINJA-IDE?

NINJA-IDE se zrodilo k pokrytí potřeby, která se nám zdála důležitá, a také jsme viděli, že současné přístupy k IDE neposkytují potřebné pokrytí.

Naším záměrem při zahájení tohoto projektu bylo vytvořit prostředí zaměřené na vývoj aplikací v Pythonu, ale vždy s přihlédnutím k potřebě mít komunitu uživatelů, která by nám umožnila zlepšit zkušenosti s používáním tohoto nástroje, a v současné době nás dělá velmi rádi, že můžeme počítat s komunitou NINJA-IDE, protože díky zkušenostem a kolektivním znalostem uživatelů je možné, že s jejich návrhy může vývoj projektu postupovat rychleji a je zohledněno mnohem více podrobností než z jiného tvaru lze přehlédnout.

Plány do budoucna

V současné době s neustálým vývojem, kterého dosahujeme, jsme blízko vydání verze 1.0 NINJA-IDE, která bude mít název „Kunai“. V této první verzi bude přítomno několik dříve zmíněných funkcí, které vývojářům umožní mít robustní a praktické IDE, samozřejmě, stejně jako v každém projektu, se objeví implementace vylepšení a nových funkcí. Některé z věcí, které mají být začleněny do NINJA-IDE v budoucích verzích, jsou:

  • Grafický debugger
  • Schopnost graficky zobrazit splavnost a vztah modulů a tříd projektu (na základě BlueJ)
  • Podpora nástrojů pro správu verzí kódu.
  • Povolit úpravy dokumentu ve spolupráci.
  • Návrhář rozhraní Qt a Gtk integrovaný do IDE.
  • Podpora rámců, jako jsou:
  • Django
  • Google App Engine
  • A to teprve začíná!

Jaké nástroje NINJA-IDE používá?

IDE je vyvíjeno pomocí PyQt frameworku pro veškerou manipulaci s grafickým rozhraním a některými dalšími funkcemi, i když bylo zkoušeno co nejvíce abstrahovat určité funkce, aby bylo možné zítra v případě potřeby přenést NINJA-IDE na jiné frameworky jako např. Gtk. Qt umožnilo mít pevné a vysoce konfigurovatelné rozhraní, které umožnilo rozšířit každý nezbytný prvek, aby upravil jeho chování a přizpůsobil ho potřebám IDE.

Pokud jde o zvýraznění syntaxe, NINJA-IDE využívá svůj vlastní systém zvýrazňování syntaxe využívající funkce Qt a umožňuje, aby byl tento zvýrazňovací systém snadno rozšiřitelný v NINJA-IDE vytvořením jednoduchého souboru JSON, který popisuje jazyk, který má být začleněn. Tato metoda poskytuje vylepšení výkonu, ale k pokrytí jazyků, které tento systém nerozpozná, bylo začleněno použití Pygmentů pro zvýraznění syntaxe většího počtu jazyků. I když se v současné době zvyšuje možnost nahrazení Pygmentů GNU Highlight z důvodů výkonu.

Pro automatické dokončování, refaktoring a ty, které odkazují na odvození kódu, se používá Rope, což je vynikající knihovna, velmi úplná pro tento typ situace. Rope je nástroj, který umožňuje přivést do IDE vlastnosti Pythonu IDE typovaných jazyků. V současné době také pracujeme na začlenění kontroly kódu pomocí knihovny Pep8, abychom přesně poskytli informace o stavu kódu ve vztahu ke standardům Pep8.

Rozšiřitelnost NINJA-IDE

NINJA-IDE má poměrně kompletní systém pluginů, který umožňuje integraci těchto pluginů jako nativního prvku IDE. Psaní pluginů je poměrně jednoduché a můžete dokonce použít NINJA-IDE Plugin pro zápis NINJA-IDE Plugins (rekurzivní?). Tento Plugin «pro psaní pluginů» vám umožňuje rozhodnout, s kterými částmi IDE bude nový plugin souviset a automaticky vytvoří potřebnou strukturu projektu, společně s deskriptorem pluginu, aby jej NINJA-IDE mohl interpretovat a základní třídu of This Plugin with the methods that will need to be reimplemented, in turn, when we are creating writing the Plugin, it allows us to package it and then distribute it. V současné době jsou k dispozici 3 doplňky pro NINJA-IDE:

  • pastebin: což vám umožní poslat kód na pastebin.com a vrátí výsledný odkaz ke sdílení tohoto kódu.
  • PluginProject: osoba odpovědná za vytváření projektů Plugins pro NINJA-IDE, jak jsme uvedli.
  • ClassCompleter: automaticky dokončuje některé struktury při psaní kódu v Pythonu, například: vytvořte konstruktor automaticky voláním rodičovských tříd, které jsou nutné atd.

Další informace o tom, jak vyvinout Plugin pro NINJA-IDE, najdete na následující Wiki: http://ninja-ide.org/plugins/

kontakt

Plnění

Ninja IDE je nyní k dispozici v balíčcích DEB a RPM. Zbytek světa si samozřejmě může vždy stáhnout zdrojový kód a zkompilovat jej. 🙂

Děkujeme Diego Sarmentero za sdílení tohoto vynikajícího IDE s námi všemi!

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Patrik Arguello řekl

    Opravdu se mi líbí PyCharm lépe. Nicméně dobrá práce gratuluji a s pozdravem. @patoargu

  2.   Riccardo3284 řekl

    Zdravím komunitu Jsem fanouškem programování v pythonu, IDE je velmi dobrý, ale na mém počítači mám Ubuntu 10.10 a nemohu pracovat s funkcemi, které vidíte na obrázku 4, na obrázku, kde jsou příkazy nebo třídy nebo metody zobrazeno Z objektu pythonu je tato funkce přinejmenším pro mě velmi důležitá, protože ne všechny příkazy se učí a zároveň by nám to umožnilo naučit se více programátorů, ale tato funkce v mém Ubuntu nevychází.

    Doufám, že mi někdo z komunity pomůže, můj e-mail je riccardo3284@gmail.com

  3.   marcoshipe řekl

    Četl jsem to špatně, podpora pro git ještě není implementována, ale je to již jako plugin, který plánují implementovat 🙂

  4.   Alex řekl

    ^ ^, Začínal jsem jako člen vývojového týmu :), ale nakonec jsem neměl čas ani dostatek znalostí a musel jsem se toho vzdát :(. Jsem ale velmi rád, že nakonec NInja IDE pokračovalo s tak dobrými výsledky.

  5.   marcoshipe řekl

    Už to zkusím 😀
    doufejme, že to bude dobré, ale protože používám python a qt, mám rád xD
    Myslím, že otírá eric, a já jsem se podíval a má to podporu pro git 😀 Myslím, že si spolu rozumíme

  6.   Daniel řekl

    Myslím, že je to vynikající, jediná negativní věc je, že když mluví španělsky, vytvářejí rozhraní v angličtině, měli by je dělat ve španělštině, IDES v angličtině, existuje spousta důvodů, proč neudělat něco, co my všichni, kteří to nezvládáme Angličtina rozumí, jinak žádné nemám, ale blahopřeji jim.

    pozdravy

  7.   Eugeniu Tamburovi řekl

    Líbí se mi to, ale v tuto chvíli je to něco zeleného, ​​otestoval jsem to a nechalo mě to omráčeno a neustále restartuje Windows Explorer a další chyby, ale jakmile to napraví a je to něco stabilnějšího, nepochybně to bude být velmi úspěšný.

  8.   Daniel Dcs řekl

    Skvělá práce „made in“ Argentina !!!! Upřímně blahopřeji celému vývojovému týmu !!!!

  9.   neyer řekl

    Zdravím všechny, velmi dobrá práce, použití IDE je docela pohodlné, bylo by velmi zajímavé přidat editor grafických uživatelských rozhraní, bylo by také fascinující, kdyby vám umožnilo generovat projektovou dokumentaci (Možná ve stylu Javadocs).

    Pokračuj.