Ninja IDE: IDE určené pre Python

Konečne niekto odhodlal písať IDE ako ľudia pre Python ktorý môže každý bežný občan bez problémov používať v systéme Linux. Áno, existuje niekoľko IDE na programovanie v rôznych jazykoch, vrátane Pythonu, ale tento má v rukáve niekoľko malých trikov...

Ako začal NINJA-IDE?

NINJA-IDE Zrodilo to niekoľko e-mailov zaslaných PyAr, ktorých téma je zvyčajne počuť pomerne často: „Aké dobré IDE pre Python môžem použiť?“, „Prečo neexistuje IDE pre Python, ktorý by mal túto alebo tú funkciu?“a odpovede na tieto e-maily budú vždy viac-menej rovnaké, pretože súčasné IDE, ktoré považujeme za dostupné, väčšinou neboli navrhnuté pre Python, ale ponúkali možnosť ich začlenenia prostredníctvom pluginu a týmto spôsobom Kedysi sa používalo veľmi ťažké IDE určené na iné účely, kde bola podpora pre Python skutočne minimálna a tie, ktoré boli pre Python, sa nakoniec veľmi orientovali na konkrétny rámec alebo neboli zadarmo. Preto sme sa motivovaní výzvou, ktorú predstavovala, a zaujímavými nápadmi, ktoré sa objavili v zozname adresátov, rozhodli pristúpiť k tomuto projektu zameraním na „Aké funkcie by mal mať dobrý IDE pre programátora Pythonu“.

S týmto vedomím sme zahájili vývoj NINJA-IDE, ktorého názov je derivátom rekurzívnej skratky: „Ninja nie je len ďalší IDE“. IDE má sotva viac ako dva mesiace vývoja, ale vďaka túžbe a hodinám programovania, ktoré mu venujeme, už môžeme mať IDE s mnohými funkciami implementovanými do tej miery, že budeme môcť pokračovať vo vývoji NINJA- IDE pomocou NINJA-IDE, čo nám zase pomáha pri hľadaní chýb a zlepšovaní použiteľnosti a praktickosti aplikácie prostredníctvom skúseností a jej neustáleho používania.

Projekt je vyvíjaný na základe bezplatnej licencie GPL a kód je možné získať prostredníctvom:

Niektoré zo súčasných funkcií IDE sú:

  • Typické funkcie ľubovoľného IDE na prácu so súbormi, kartami, automatickým odsadením, priblížením editora atď.
  • Je napísaný v Pythone a používa PyQt. Je to platforma, ktorá bola testovaná na systémoch Linux, MAC OS X a Windows.
  • Zvýraznenie syntaxe pre širokú škálu jazykov (hoci je zamerané na Python, pre uľahčenie programovania poskytuje zvýraznenie syntaxe pre ďalšie jazyky).
  • Možnosť použitia konzoly Python z rovnakého IDE.
  • Umožňuje správu projektov v IDE, ich rozpoznanie ako projektov v Pythone a prostredníctvom IDE vytváranie nových súborov a priečinkov, mazanie existujúcich súborov, automatické vytváranie súborov „__init__“ s informáciami v rámci tohto modulu atď.
  • Umožňuje skryť a premiestniť všetky panely rozhrania veľmi jednoduchým spôsobom, čo umožňuje ich prispôsobenie vkusu používateľa.
  • Umožňuje zobraziť viac ako jedného editora súčasne vertikálne alebo horizontálne.
  • Rozšíriteľné o pridanie doplnkov (ktoré je možné pre jednoduchosť vytvoriť pomocou doplnku NINJA-IDE).
  • Spravuje relácie IDE, ktoré si pamätajú, ktoré súbory a projekty boli otvorené, keď boli zatvorené, a obnovuje ich pri opätovnom otvorení inštancie.
  • Podpora automatického dokončovania (konkrétne automatické dokončovanie objektu, ku ktorému sa pristupuje).
  • Automatické aktualizácie.
  • A mnoho ďalších funkcií!

Kto vyvíja NINJA-IDE?

NINJA-IDE začali vyvíjať Santiago Moreno a Diego Sarmentero a do 2 týždňov od spustenia projektu sa už na jeho vývoj použila. Vďaka ľuďom zo zoznamu PyAr, blogov atď. Šírenie projektu vo veľmi krátkom čase znamenalo, že sme mohli rátať s hlásením chýb používateľov, návrhmi na zozname adries NINJA a dokonca aj s prispením kódov od používateľov a spolupracovníkov, z ktorých sa niektorí stali súčasť NINJA-IDE s úlohou komisárov, ako je to v prípade: Martín Alderete, Juan Cabral a Matías Herranz.

Táto silná spolupráca a účasť, ktorú dostávame od komunity, umožňuje NINJA-IDE každý deň rásť a vylepšovať a implementovať funkcie, ktoré používatelia potrebujú. Komentáre, ktoré dostávame od ľudí, ktorí v súčasnosti používajú NINJA-IDE, nás zase motivujú k tomu, aby sme naďalej usilovne pracovali na tomto nástroji, pomocou ktorého chceme ďalej zjednodušiť vývoj aplikácií Pythonu.

Ako ste sa rozhodli, ktoré funkcie pridať?

Na začiatku projektu sa uvažovalo o štruktúre, ktorá by mu umožnila rásť a začleňovať funkcionality v priebehu času, pričom ako sprievodca slúžia dva hlavné faktory: editor kódu a projektový manažment. Aplikácia sa začala budovať tak, že sa stará o tieto dva základné piliere a umožňuje ich dobrú základňu pre neskoršie uľahčenie začlenenia nových funkcií. Projekt prešiel rôznymi fázami, počnúc dobrým editorom so zvýrazňovaním syntaxe, pokračujúcou správou súborov projektu, až po pridanie funkcií doplnkov, automatické dokončovanie, správu relácie atď. Na Python sa často pozerá ako na jazyk, ktorý má väčšie ťažkosti s poskytovaním informácií o písanom kóde, pretože z dynamického písania atď. Nemôže vyvodiť záver z objektov v čase programovania.

V niektorých prípadoch je pravda, že explicitné písanie môže vykonávať jednoduchšie a podrobnejšie analýzy, ale je tiež pravda, že v súčasnosti existuje veľa nástrojov a knižníc pre Python, ktoré pomáhajú eliminovať toto tabu, že nie je možné mať IDE ktorá poskytuje skutočnú pomoc s generovaným kódom. Preto sa NINJA-IDE snaží umožniť tým programátorom, ktorí používajú Python na vývoj svojich programov, rovnaké vybavenie a pomôcky, aké sa dajú získať pri vývoji v prostredí Java alebo .NET s niektorými IDE, ktoré sú v súčasnosti pre tieto jazyky najlepšie známe. Ak vezmeme do úvahy výsledky a skúsenosti získané z IDE pre iné jazyky, je zámerom dosiahnuť IDE určené pre Python, ktoré pri ich použití generuje rovnaké uspokojenie.

Pre návrh, rozhodnutie a začlenenie nových funkcií do NINJA-IDE sa zoznam adries zvyčajne používa na dosiahnutie kolektívneho rozhodnutia členov, ktorí tvoria projekt, viac ako čokoľvek iného, ​​aby vedeli, aký bude cieľ tejto funkcie, v aké štádium by malo byť zapracované a ďalšie podrobnosti. Mnohokrát sú tieto charakteristiky motivované zaujímavou funkčnosťou videnou v inom IDE, nápadom od jedného z členov alebo návrhmi zo skupiny používateľov. Týmto spôsobom môže ktokoľvek, používateľ aj vývojár, navrhnúť, čo by chcel, aby boli implementované v NINJA-IDE, a na základe architektúry projektu ho možno definovať, ak je to potrebné začleniť ako súčasť samotného IDE alebo ako doplnok, ktorý umožňuje zároveň vedieť, na akých nápadoch sa pracuje a kto ich prevezme, aby bola pracovná skupina synchronizovaná.

Čo môžeme čakať od NINJA-IDE?

NINJA-IDE sa zrodilo preto, aby pokrylo potrebu, ktorá sa nám zdala dôležitá, a tiež sme videli, že súčasné prístupy k IDE neposkytujú potrebné pokrytie.

Naším zámerom pri začatí tohto projektu bolo vytvoriť prostredie zamerané na vývoj aplikácií v jazyku Python, ale vždy s prihliadnutím na potrebu mať komunitu používateľov, ktorá by nám umožnila zlepšiť skúsenosti s používaním tohto nástroja, a v súčasnosti nás veľmi teší byť schopný rátať s komunitou NINJA-IDE, pretože vďaka skúsenostiam a kolektívnym znalostiam používateľov je možné, že s ich návrhmi môže vývoj projektu napredovať rýchlejšie a zohľadní sa oveľa viac detailov ako z iného tvar by sa dal prehliadnuť.

Budúce plány

V súčasnej dobe neustáleho vývoja, ktorý dosahujeme, sa blížime k vydaniu verzie 1.0 NINJA-IDE, ktorá dostane názov „Kunai“. V tejto prvej verzii bude prítomných niekoľko vyššie spomenutých funkcií, ktoré vývojárom umožnia mať robustné a praktické IDE, samozrejme, tak ako v každom projekte, aj pri implementácii sa objavia vylepšenia a nové funkcie. Niektoré z vecí, ktoré majú byť začlenené do NINJA-IDE v budúcich verziách, sú:

  • Grafický debugger
  • Byť schopný graficky vidieť splavnosť a vzťah medzi modulmi a triedami projektu (na základe BlueJ)
  • Podpora nástrojov na správu verzií kódu.
  • Povoliť spoločné úpravy dokumentu.
  • Návrhár rozhraní Qt a Gtk integrovaný do IDE.
  • Podpora rámcov, ako napríklad:
  • Django
  • Google App Engine
  • A to sa ešte len začína!

Aké nástroje používa NINJA-IDE?

IDE sa vyvíja pomocou rámca PyQt na všetku manipuláciu s grafickým rozhraním a niektorými ďalšími funkcionalitami, hoci sa pokúsil čo najviac abstrahovať určité funkcie, ktoré umožnia v prípade potreby zajtra preniesť NINJA-IDE na ďalšie rámce, ako napr. Gtk. Qt umožňoval mať pevné a vysoko konfigurovateľné rozhranie, ktoré umožňovalo rozšíriť každý prvok potrebný na úpravu jeho správania a jeho prispôsobenie potrebám IDE.

Pokiaľ ide o zvýrazňovanie syntaxe, NINJA-IDE využíva vlastný systém zvýrazňovania syntaxe využívajúci funkcie Qt a umožňuje, aby bol tento systém zvýrazňovania ľahko rozšíriteľný v NINJA-IDE, a to vytvorením jednoduchého súboru JSON, ktorý popisuje jazyk, ktorý sa má začleniť. Táto metóda poskytuje vylepšenia výkonu, ale na pokrytie jazykov, ktoré tento systém nerozpoznáva, bolo na zvýraznenie syntaxe väčšiny jazykov začlenené použitie Pygmentov. Aj keď sa v súčasnosti zvyšuje možnosť nahradenia Pygmentov GNU Highlight z dôvodu výkonu.

Na automatické dokončovanie, refaktoring a tie, ktoré odkazujú na odvodenie kódu, sa používa Rope, čo je vynikajúca knižnica, ktorá je pre tento typ situácie veľmi úplná. Rope je nástroj, ktorý umožňuje priviesť do IDE pre Python charakteristiky IDE typovaných jazykov. V súčasnosti pracujeme aj na začlenení kontroly kódu pomocou knižnice Pep8, aby sme poskytli informácie o stave kódu vo vzťahu k štandardom Pep8.

Rozšíriteľnosť NINJA-IDE

NINJA-IDE má pomerne kompletný systém doplnkov, ktorý umožňuje integráciu týchto doplnkov ako natívneho prvku IDE. Písanie doplnkov je dosť jednoduché a na napísanie doplnkov NINJA-IDE môžete dokonca použiť doplnok NINJA-IDE (rekurzívny?). Tento doplnok «na písanie doplnkov» vám umožňuje rozhodnúť sa, s ktorými časťami IDE bude nový doplnok súvisieť, a automaticky vytvorí potrebnú štruktúru projektu spolu s deskriptorom doplnku, aby ho NINJA-IDE mohol interpretovať a základnú triedu Tento doplnok s metódami, ktoré bude potrebné znovu implementovať, nám zase po dokončení písania doplnku umožní zabaliť ho a potom distribuovať. Momentálne sú k dispozícii 3 doplnky pre NINJA-IDE:

  • pastebin: ktorý vám umožní poslať kód na pastebin.com a vráti výsledný odkaz na zdieľanie tohto kódu.
  • PluginProject: osoba zodpovedná za vytváranie projektov doplnkov pre NINJA-IDE, ako sme už spomenuli.
  • ClassCompleter: automaticky dokončuje niektoré štruktúry počas písania kódu v Pythone, napríklad: vytvorí konštruktor automaticky vyvolaním nevyhnutných rodičovských tried atď.

Ak sa chcete dozvedieť viac informácií o tom, ako vyvinúť Plugin pre NINJA-IDE, môžete navštíviť nasledujúcu Wiki: http://ninja-ide.org/plugins/

Kontakt

Plnenie

Ninja IDE je teraz k dispozícii v balíkoch DEB a RPM. Zvyšok sveta si samozrejme môže kedykoľvek stiahnuť zdrojový kód a skompilovať ho. 🙂

Ďakujeme Diego Sarmentero za zdieľanie tohto vynikajúceho IDE s nami všetkými!

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Patrik Arguello dijo

    PyCharm sa mi naozaj páči viac. Avšak dobrá práca blahoželám a s pozdravom. @patoargu

  2.   riccardo3284 dijo

    Zdravím komunitu Som fanúšikom programovania v pythone, IDE je veľmi dobrý, ale na svojom počítači mám Ubuntu 10.10 a nemôžem pracovať s funkciami, ktoré vidíte na obrázku 4, na obrázku, kde sú zobrazené príkazy alebo triedy alebo metódy. Z objektu pythonu je táto funkcia pre mňa veľmi dôležitá, pretože nie všetky príkazy sú naučené a zároveň by nám umožnili dozvedieť sa viac programátorov, ale táto funkcionalita v mojom Ubuntu nevychádza.

    Dúfam, že mi niekto z komunity pomôže, môj e-mail je riccardo3284@gmail.com

  3.   marcoshipe dijo

    Čítal som to zle, podpora pre git ešte nie je implementovaná, ale už je to plugin, ktorý plánujete implementovať 🙂

  4.   alex dijo

    ^^, začínal som ako člen vývojového tímu :), ale nakoniec som nemal čas ani dostatok vedomostí a musel som sa ich vzdať :(. Som ale veľmi rád, že nakoniec NInja IDE šlo dopredu a s tak dobrými výsledkami.

  5.   marcoshipe dijo

    Už to skúšam 😀
    dúfam, že dobre, ale keďže používam python a qt, mám rád xD
    Myslím, že utrie eric, a ja som sa pozrel a má to podporu pre git 😀 Myslím, že si spolu rozumieme

  6.   daniel dijo

    Myslím si, že je to vynikajúce, jedinou negatívnou vecou je, že keďže hovoria po španielsky, vytvárajú rozhrania v angličtine, mali by ich vyrábať v španielčine, IDES v angličtine. Existuje veľa dôvodov, prečo neurobiť niečo, čomu všetci, ktorí neovládame angličtinu, rozumieme, inak nemám žiadne ale gratulujem im.

    pozdravy

  7.   Eugeniu Tamburovi dijo

    Páči sa mi to, ale momentálne je to niečo zelené, mám to otestované a necháva ma ohromene a neustále reštartuje Windows Explorer a ďalšie chyby, ale akonáhle to napravia a je to niečo stabilnejšie, bude to nepochybne veľmi úspešné.

  8.   daniel dcs dijo

    Vynikajúca práca „made in“ Argentína !!!! Úprimné gratulácie celému vývojovému tímu !!!!

  9.   neyer dijo

    Zdravím všetkých, veľmi dobrá práca, použitie IDE je celkom pohodlné, bolo by veľmi zaujímavé zaradiť editor Grafických používateľských rozhraní. Bolo by tiež fascinujúce, keby vám umožňoval generovať projektovú dokumentáciu (Možno v štýle Javadocs).

    Pokračuj.