Ninja IDE: Pythonhoz tervezett IDE

Végül valaki megírta az írást egy IDE, mint a Python emberei amelyet bármely hétköznapi polgár problémamentesen használhat a Linuxban. Igen, számos IDE létezik különböző nyelveken történő programozáshoz, beleértve a Python-t is, de ennek van néhány apró trükk az ujján...

Hogyan indult a NINJA-IDE?

NINJA-IDE Néhány e-mail született a PyAr-nak, amelynek témája meglehetősen gyakran hallható: "Milyen jó IDE-t használhatok a Python számára?", "Miért nincs a Python számára egy IDE, amely rendelkezik ezzel vagy azzal a funkcióval?", és az ezekre az e-mailekre adott válaszok mindig többé-kevésbé megegyeznek, mivel a jelenlegi IDE-ket, amelyeket elérhetőnek találunk, többnyire nem a Python számára terveztük, hanem felajánlották annak lehetőségét, hogy beépítsék őket egy beépülő modulon keresztül és ilyen módon Korábban nagyon nehéz, más célokra tervezett IDE-ket használt, ahol a Python támogatása valójában minimális volt, és a Python számára készültek végül nagyon orientáltak voltak egy adott keretrendszerhez, vagy nem voltak ingyenesek. Tehát az általa képviselt kihívás és a levelezőlistán felvetett érdekes ötletek motiválva úgy döntöttünk, hogy a "Milyen tulajdonságokkal kell rendelkeznie a jó IDE-nek egy Python programozó számára".

Ezt szem előtt tartva megkezdtük a NINJA-IDE fejlesztését, amelynek neve a rekurzív rövidítés származéka: "A Ninja nem csak egy másik IDE". Az IDE-nek alig több mint két hónapja van a fejlesztés, de annak a programozási vágynak és óráknak köszönhetően, amelyeket ennek szentelünk, immár rendelkezhetünk egy IDE-vel, számos funkcióval megvalósítva, addig a pontig, hogy folytathassuk a NINJA- Az IDE a NINJA-IDE-t használja, amely viszont tapasztalatok és folyamatos használat révén segít hibákat találni és javítani az alkalmazás használhatóságát és praktikumát.

A projektet ingyenes GPL licenc alapján fejlesztették ki, és a kódot az alábbiak révén lehet beszerezni:

Az IDE néhány jelenlegi jellemzője:

  • Bármely IDE tipikus funkciói a fájlok, lapok, automatikus behúzás, szerkesztő nagyítása stb. Kezeléséhez.
  • Python-ban írva, és PyQt-t használva, platformon átívelő, Linux, MAC OS X és Windows rendszereken tesztelték.
  • Szintaxis kiemelése sokféle nyelv számára (bár a Python középpontjában áll, a szintaxis kiemelését más nyelvekhez is biztosítja a programozó kényelme érdekében).
  • Lehetőség ugyanazon IDE-ből származó Python konzol használatára.
  • Lehetővé teszi a projektek kezelését az IDE-ben, Python Projektként történő felismerésüket, és az IDE-n keresztül új fájlok és mappák létrehozását, a meglévő fájlok törlését, a "__init__" fájlok automatikus létrehozását a modulban található információkkal stb.
  • Ez lehetővé teszi az összes kezelőpanel elrejtését és áthelyezését nagyon egyszerű módon, lehetővé téve a felhasználó ízléséhez való alkalmazkodást.
  • Több szerkesztő megtekintése egyszerre függőlegesen vagy vízszintesen.
  • Bővíthető a beépülő modulok hozzáadásával (amelyeket az egyszerűség kedvéért NINJA-IDE beépülő modullal lehet létrehozni).
  • Kezeli az IDE munkameneteket, hogy emlékezzen arra, hogy mely fájlok és projektek voltak nyitva, amikor bezárták, és helyreállítja azokat, amikor újra megnyit egy példányt.
  • Az automatikus kiegészítés támogatása (a megnyitott objektum sajátos automatikus kitöltése).
  • Automatikus frissítések.
  • És még sok más funkció!

Ki fejleszti a NINJA-IDE-t?

A NINJA-IDE-t Santiago Moreno és Diego Sarmentero kezdte fejleszteni, és a projekt megkezdése után 2 héttel már fejlesztésre is használták. Köszönet a PyAr List, Blogok stb. Embereinek. Nagyon rövid idő alatt a projekt terjesztése azt jelentette, hogy számíthattunk a felhasználók hibajelentésére, a NINJA levelezőlistán szereplő javaslatokra, sőt, a felhasználók és az együttműködők által adott kóddal is, amelyek közül néhány a NINJA-IDE része elkövetők szerepével, akárcsak Martín Alderete, Juan Cabral és Matías Herranz.

Ez az erős együttműködés és részvétel, amelyet a közösségtől kapunk, lehetővé teszi a NINJA-IDE mindennapos növekedését, javítva és megvalósítva a felhasználók számára szükséges funkciókat. Viszont a NINJA-IDE-t jelenleg használó emberektől kapott megjegyzések arra ösztönöznek minket, hogy továbbra is keményen dolgozzunk ezen az eszközön, amellyel tovább szeretnénk egyszerűsíteni a Python-alkalmazások fejlesztését.

Hogyan döntötted el, mely funkciókat adod hozzá?

A projekt kezdetén egy olyan struktúrát gondoltak, amely lehetővé teszi a növekedést és a funkciók beépítését az idő múlásával, amelynek két fő tényezője van: a Code Editor és a Project Management. Az alkalmazást úgy kezdték építeni, hogy gondolták ezt a két alapvető pillért, és lehetővé tették számukra a jó alapot, hogy később megkönnyítsék az új funkciók beépítését. A projekt különböző szakaszokon ment keresztül, kezdve egy jó szerkesztővel, szintaxis kiemeléssel, folytatva a projektfájlok kezelését, egészen a bővítményfunkciók, az automatikus kiegészítés, a munkamenet-kezelés stb. A Pythonot gyakran olyan nyelvnek tekintik, amelynek nagyobb nehézségei vannak az írásbeli kóddal kapcsolatos információk megadásával, mivel a dinamikus gépelés stb. Miatt a programozáskor nem vonhat le következtetést az objektumokról.

Bizonyos esetekben igaz, hogy a kifejezett gépelés egyszerűbb és részletesebb elemzéseket hajthat végre, de az is igaz, hogy jelenleg a Python számára sok olyan eszköz és könyvtár található, amely segít megszüntetni ezt a tabut, hogy nem lehet IDE-t amely valódi segítséget nyújt a létrehozott kódhoz. Éppen ezért a NINJA-IDE arra törekszik, hogy azok a programozók, akik Python-t használnak, fejlesszék programjaikat, ugyanazokkal a lehetőségekkel és segédeszközökkel rendelkezzenek, mint amelyeket a Java vagy .NET fejlesztés során szereznek az IDE-k némelyikével, amelyek jelenleg ezeken a nyelveken a legismertebbek. Az IDE-k által más nyelvekre kapott eredményeket és tapasztalatokat figyelembe véve a Python számára tervezett IDE-t kívánják elérni, amely ugyanolyan elégedettséget generál használatakor.

A NINJA-IDE új funkcióinak javaslatához, döntéséhez és beépítéséhez a levelezőlistát általában arra használják, hogy kollektív döntést hozzanak a projektet alkotó tagok, mindenekelőtt azért, hogy tudják, mi lesz ennek a szolgáltatásnak a célja. milyen szakaszba kell beépíteni és egyéb részletek. Sokszor ezeket a jellemzőket egy másik IDE-ben látott érdekes funkciók, az egyik tag ötlete vagy a felhasználói csoport javaslatai motiválják. Ily módon bárki, akár felhasználó, akár fejlesztő, javaslatot tehet a NINJA-IDE megvalósításában, és a projekt architektúrája alapján meghatározható, ha az IDE részeként vagy beépülő modulként szükséges beépíteni, lehetővé téve ugyanakkor tudnia kell, hogy milyen ötleteken dolgoznak, és ki veszi át az irányítást a munkacsoport szinkronizálása érdekében.

Mit várhatunk a NINJA-IDE-től?

A NINJA-IDE egy számunkra fontosnak tűnő igény kielégítésére született, és azt is láttuk, hogy az IDE-k jelenlegi megközelítése nem biztosítja a szükséges lefedettséget.

A projekt indításakor az volt a szándékunk, hogy olyan környezetet teremtsünk, amely a Python-alkalmazások fejlesztésére összpontosít, de mindig figyelembe veszi a felhasználói közösség szükségességét, amely lehetővé teszi számunkra, hogy javítsuk az eszköz használatának tapasztalatait, és jelenleg nagyon boldoggá tesz minket. számítani a NINJA-IDE közösségre, mivel a felhasználók tapasztalatának és kollektív tudásának köszönhetően lehetséges, hogy javaslataikkal a projekt fejlesztése gyorsabban haladhat, és sokkal több részletet vesznek figyelembe, mint egy másik alakja figyelmen kívül hagyható.

Jövőbeli tervek

Jelenleg az elért folyamatos fejlődésünk közelében vagyunk a NINJA-IDE 1.0 verziójának kiadásához, amely a „Kunai” nevet kapja. Ebben az első verzióban a korábban említett funkciók közül több is jelen lesz, ami lehetővé teszi a fejlesztő számára, hogy robusztus és praktikus IDE-vel rendelkezzen, nyilvánvalóan, mint minden projektben, fejlesztések és új funkciók jelennek meg a megvalósításban. Néhány olyan dolog, amelyet a NINJA-IDE-be a későbbi verziókba kívánnak beépíteni, a következők:

  • Grafikus hibakereső
  • Grafikusan láthatja a projekt moduljainak és osztályainak navigálhatóságát és viszonyát (a BlueJ alapján)
  • Támogassa a kódverziós eszközöket.
  • A dokumentum együttes szerkesztésének engedélyezése.
  • A Qt és a Gtk interfésztervező integrálva az IDE-be.
  • A keretrendszerek támogatják, például:
  • Django
  • Google App Engine
  • És ez még csak most kezdődik!

Milyen eszközöket használ a NINJA-IDE?

Az IDE-t a PyQt keretrendszer segítségével fejlesztették ki a grafikus felület és néhány más funkció kezelésére, bár megpróbálták a lehető legnagyobb mértékben elvonatkoztatni bizonyos funkciókat, hogy szükség esetén holnap lehetővé tegyék a NINJA-IDE más keretrendszerekbe, például Gtk. A Qt szilárd és jól konfigurálható interfésszel rendelkezett, amely lehetővé tette minden szükséges elem kibővítését annak viselkedésének módosítása és az IDE igényeihez való igazítása érdekében.

A szintaxis kiemeléssel kapcsolatban a NINJA-IDE saját szintaxis kiemelő rendszerét használja Qt funkciók használatával, és lehetővé teszi, hogy ez a kiemelő rendszer könnyen bővíthető legyen a NINJA-IDE-ben egy egyszerű JSON fájl létrehozásával, amely leírja a beépítendő nyelv. Ez a módszer javítja a teljesítményt, de hogy lefedje azokat a nyelveket, amelyeket nem ismer fel ez a rendszer, a Pygments használatát beépítették a nyelvek nagyobb változatának kiemelésére. Bár jelenleg felmerül annak lehetősége, hogy a Pygments-et teljesítmény okokból a GNU Highlight helyettesítse.

Az automatikus kiegészítéshez, a refaktoráláshoz és azokhoz, amelyek a kód következtetéseire utalnak, a Rope-ot használják, amely kiváló könyvtár, nagyon teljes az ilyen típusú helyzetekhez. A Rope egy olyan eszköz, amely lehetővé teszi egy IDE elérését a gépelt nyelvek IDE-jének Python-jellemzőihez. Jelenleg a Code Checking beépítésén is dolgozunk a Pep8 könyvtár segítségével, pontosan azért, hogy információt nyújtsunk a kód állapotáról a Pep8 szabványokhoz képest.

NINJA-IDE bővíthetőség

A NINJA-IDE rendelkezik egy meglehetősen teljes plugin rendszerrel, amely lehetővé teszi ezen beépülő modulok integrálását az IDE natív elemeként. A bővítményírás nagyon egyszerű, és akár egy NINJA-IDE beépülő modult is használhat NINJA-IDE bővítmények (rekurzív?) Írására. Ez a "beépülő modulok írására szolgáló" beépülő modul lehetővé teszi annak eldöntését, hogy az új beépülő modul mely IDE részeivel fog kapcsolódni, és automatikusan létrehozza a szükséges projektstruktúrát a beépülő modul leíróval együtt, hogy a NINJA-IDE értelmezni tudja azt és a Ez a beépülő modul azokkal a módszerekkel, amelyeket újból ki kell egészíteni, viszont amikor befejezzük a bővítmény írását, lehetővé teszi számunkra a csomagolást, majd a terjesztést. Jelenleg 3 bővítmény áll rendelkezésre a NINJA-IDE számára:

  • pastebin: amely lehetővé teszi, hogy elküldje a kódot a pastebin.com címre, és visszaküldi a kapott linket a kód megosztására.
  • PluginProject: a Plugins-projektek létrehozásáért felelős személy a NINJA-IDE számára, amint említettük.
  • Osztálykitöltő: automatikusan befejezi néhány struktúrát Python kód írása közben, például: automatikusan létrehozza a konstruktort a szükséges szülői osztályok meghívásával stb.

Ha bővebb információt szeretne kapni a NINJA-IDE bővítmény fejlesztéséről, keresse fel a következő Wikit: http://ninja-ide.org/plugins/

Kapcsolat

Mentesítés

A Ninja IDE már elérhető DEB és RPM csomagokban. A világ többi része természetesen mindig letöltheti és lefordíthatja a forráskódot. 🙂

Köszönet Diego Sarmenterónak, hogy megosztotta ezt a kiváló IDE-t mindannyiunkkal!

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Patrick Arguello dijo

    Nagyon szeretem a PyCharmot jobban. Bármilyen jó munkát gratulálok és üdvözlettel. @patoargu

  2.   Riccardo3284 dijo

    Üdvözlet a közösségnek Rajongok a python programozásáért, az IDE nagyon jó, de a számítógépemen Ubuntu 10.10 van, és nem tudok működni a 4. ábrán látható funkciókkal, azzal a képpel, ahol a parancsok, osztályok vagy módszerek láthatók egy python objektum esetében ez a tulajdonság legalább számomra nagyon fontos, mivel nem minden parancsot tanulnak meg, ugyanakkor lehetővé tenné számunkra, hogy többet megtudjunk a programozóknak, de ez a funkcionalitás nem jön ki az ubuntumban.

    Remélem, hogy valaki a közösségből tud nekem segíteni, az e-mail címem az riccardo3284@gmail.com

  3.   marcoshipe dijo

    Rosszul olvastam, a git támogatása még nincs megvalósítva, de már pluginként tervezik megvalósítani 🙂

  4.   Alex dijo

    ^^, a fejlesztőcsapat tagjaként kezdtem :), de végül sem időm, sem elég tudásom nem volt, és le kellett mondanom róla :(. De nagyon örülök, hogy végül az NInja IDE ment előre és olyan jó eredménnyel.

  5.   marcoshipe dijo

    Már kipróbálom 😀
    remélhetőleg ez jó, de mivel Python-ot és qt-t használok, szeretem az xD-t
    Gondolom, ericet töröl, én pedig néztem, és támogatja a gitet 😀 Azt hiszem, jól fogunk menni

  6.   Daniel dijo

    Szerintem kiváló, az egyetlen negatív dolog, hogy mivel spanyol nyelvűek, angolul hoznak létre interfészeket, spanyolul kellene elkészíteniük őket, IDES angolul sok minden van, miért ne tennénk valamit, amit mindannyian, akik nem tudunk angolul, értünk, különben nekem nincs de gratulálok nekik.

    Üdvözlet

  7.   Eugeniu Tambur dijo

    Tetszik, de jelenleg valami zöld színű, teszteltem, és elkábul, és folyamatosan újraindítja a Windows Explorert és újabb hibákat okoz, de amint kijavítják és valami stabilabb, kétségtelenül nagyon sikeres lesz.

  8.   Daniel dcs dijo

    Kiváló munka "készült" Argentínában !!!! Őszinte gratuláció az egész fejlesztő csapatnak !!!!

  9.   neyer dijo

    Üdvözlet mindenkinek, nagyon jó munka, az IDE használata meglehetősen kényelmes, nagyon érdekes lenne egy grafikus felhasználói felület szerkesztőt is beépíteni, az is lenyűgöző lenne, ha lehetővé tenné a projekt dokumentációjának elkészítését (talán a Javadocs stílusában).

    Folytasd.