Ninja IDE: Pythonille suunniteltu IDE

Lopuksi joku päätti kirjoittaa IDE, kuten Pythonin ihmiset jota jokainen tavallinen kansalainen voi käyttää ongelmitta Linuxissa. Kyllä, ohjelmointia eri kielillä on useita IDE: itä, mukaan lukien Python, mutta tällä on muutama pieni temppu hihassaan...

Kuinka NINJA-IDE aloitti?

NINJA-IDE Se syntyi joillakin PyArille lähetetyillä sähköposteilla, joiden teema kuuluu yleensä melko usein: "Mitä hyvää IDE: tä Pythonille voin käyttää?", "Miksi Pythonissa ei ole IDE: tä, jolla olisi tämä tai toinen ominaisuus?", ja vastaukset näihin sähköposteihin ovat aina suurin piirtein samat, koska nykyisiä IDE: itä, jotka löydämme suurimmaksi osaksi, ei ole suunniteltu Pythonille, mutta ne tarjoavat mahdollisuuden sisällyttää se laajennuksen kautta ja tällä tavalla Se käytti aiemmin hyvin raskaita IDE: itä, jotka oli suunniteltu muihin tarkoituksiin, joissa tuki Pythonille oli tosiasiallisesti vähäistä, ja Pythonille tarkoitetut päätyivät hyvin suuntautumaan tiettyyn kehykseen tai eivät olleet ilmaisia. Joten, kannustamana sen edustamasta haasteesta ja postituslistalla esitetyistä mielenkiintoisista ideoista, päätimme lähestyä tätä projektia keskittymällä "Mitä ominaisuuksia hyvän IDE: n tulisi olla Python-ohjelmoijalle".

Tässä mielessä aloitimme NINJA-IDE: n kehittämisen, jonka nimi on johdannainen rekursiivisesta lyhenteestä: "Ninja ei ole vain yksi IDE". IDE: llä on tuskin yli kaksi kuukautta kehitystyötä, mutta sen omistamamme halun ja tuntien ohjelmoinnin ansiosta voimme nyt saada IDE: n, jossa on monia toimintoja, siihen pisteeseen, että voimme jatkaa NINJA- IDE käyttää NINJA-IDE: tä, mikä puolestaan ​​auttaa meitä löytämään vikoja ja parantamaan sovelluksen käytettävyyttä ja käytännöllisyyttä kokemuksen ja jatkuvan käytön avulla.

Projekti kehitetään ilmaisella GPL-lisenssillä, ja koodin saa:

Jotkut IDE: n nykyisistä ominaisuuksista ovat:

  • IDE: n tyypilliset toiminnot tiedostojen, välilehtien, automaattisen sisennyksen, Zoom in Editorin jne. Käsittelemiseksi.
  • Se on kirjoitettu Pythonissa ja käyttämällä PyQt: ää, se on monitasoinen ja testattu Linux-, MAC OS X- ja Windows-järjestelmissä.
  • Syntaksi-korostus monille kielille (vaikka se on Python-keskitetty, se tarjoaa syntaksikorostuksen muille kielille ohjelmoijan helpottamiseksi).
  • Mahdollisuus käyttää Python-konsolia samasta IDE: stä.
  • Se mahdollistaa projektien hallinnan IDE: ssä, niiden tunnistamisen Python-projekteiksi ja IDE: n kautta uusien tiedostojen ja kansioiden luomisen, olemassa olevien tiedostojen poistamisen, "__init__" -tiedostojen automaattisen luomisen moduulissa olevilla tiedoilla jne.
  • Sen avulla kaikki liitäntäpaneelit voidaan piilottaa ja sijoittaa hyvin yksinkertaisella tavalla, jolloin se voidaan mukauttaa käyttäjän makuun.
  • Näytä useita editoreja samanaikaisesti pysty- tai vaakasuunnassa.
  • Laajennettavissa lisäämällä laajennuksia (jotka voidaan luoda NINJA-IDE-laajennuksen avulla yksinkertaisuuden vuoksi).
  • Se hallinnoi IDE-istuntoja muistamaan, mitkä tiedostot ja projektit olivat auki, kun se suljettiin, ja palauttaa ne, kun avaat sen uudelleen.
  • Automaattisen täydennyksen tuki (on käytetyn objektin tietty automaattinen täydennys).
  • Automaattiset päivitykset.
  • Ja monia muita ominaisuuksia!

Kuka kehittää NINJA-IDE: tä?

Santiago Moreno ja Diego Sarmentero alkoivat kehittää NINJA-IDE: tä, ja kahden viikon kuluessa projektin aloittamisesta sitä käytettiin jo sen kehittämiseen. Kiitos PyAr-luettelon, blogien jne. Ihmisille Hyvin lyhyessä ajassa projektin levittäminen tarkoitti sitä, että voisimme luottaa käyttäjien virheilmoitukseen, ehdotuksiin NINJA-postituslistalla ja jopa käyttäjien ja yhteistyökumppaneiden koodimerkintöihin, joista joistakin tuli osa NINJA-IDE: tä sitoutuneiden henkilöiden rooli, kuten Martín Alderete, Juan Cabral ja Matías Herranz.

Tämän yhteisöltä saamamme vahvan yhteistyön ja osallistumisen ansiosta NINJA-IDE kasvaa päivittäin parantamalla ja toteuttamalla käyttäjien tarvitsemia ominaisuuksia. NINJA-IDE: tä tällä hetkellä käyttäviltä ihmisiltä saamamme kommentit puolestaan ​​motivoivat meitä jatkamaan kovaa työskentelyä tämän työkalun parissa, jolla haluamme yksinkertaistaa edelleen Python-sovellusten kehittämistä.

Kuinka päätit lisätä ominaisuuksia?

Projektin alussa ajateltiin rakennetta, joka antaisi sille mahdollisuuden kasvaa ja sisällyttää toimintoja ajan myötä, ja sillä oli ohjeena kaksi päätekijää: Code Editor ja Project Management. Sovellusta alettiin rakentaa huolehtimalla näistä kahdesta peruspilarista ja antamalla niille hyvä pohja myöhemmin helpottamaan uusien ominaisuuksien sisällyttämistä. Projekti kävi läpi eri vaiheet, alkaen hyvästä editorista, jossa on syntaksikorostukset, jatkamalla projektitiedostojen hallintaa, kunnes lisätään laajennusominaisuuksia, automaattista täydennystä, istunnonhallintaa jne. Python nähdään usein kielenä, jolla on suurempia vaikeuksia antaa tietoa kirjoitettavasta koodista, koska se ei voi tehdä päätelmiä esineistä ohjelmoinnin aikana dynaamisen kirjoittamisen jne. Vuoksi.

Joissakin tapauksissa on totta, että nimenomaisella kirjoittamisella voidaan tehdä yksinkertaisempia ja yksityiskohtaisempia analyysejä, mutta on totta myös, että tällä hetkellä Pythonille on olemassa monia työkaluja ja kirjastoja, jotka auttavat poistamaan tämän tabun, että IDE: tä ei ole mahdollista joka tarjoaa todellista apua luotavaan koodiin. Siksi NINJA-IDE pyrkii antamaan Pythonia käyttäville ohjelmoijille mahdollisuuden kehittää ohjelmiaan, niillä on samat palvelut ja apuvälineet, jotka saadaan Java- tai .NET-kehityksessä joidenkin IDE-tiedostojen kanssa, jotka tunnetaan parhaiten kyseisillä kielillä. Kun otetaan huomioon IDE: stä saadut tulokset ja kokemukset muille kielille, on tarkoitus saavuttaa Pythonille suunniteltu IDE, joka tuottaa saman tyydytyksen sen käytössä.

Uusien ominaisuuksien ehdottamiseksi, päätöksentekemiseksi ja sisällyttämiseksi NINJA-IDE: hen postituslistaa käytetään yleensä projektin muodostavien jäsenten kollektiivisen päätöksen aikaansaamiseen, ennen kaikkea sen tietämiseen, mikä tämän ominaisuuden tarkoitus on. mikä vaihe tulisi sisällyttää ja muut yksityiskohdat. Monta kertaa näiden ominaisuuksien taustalla on mielenkiintoinen toiminnallisuus, joka näkyy toisessa IDE: ssä, jonkin jäsenen idea tai käyttäjäryhmän ehdotukset. Tällä tavoin kuka tahansa, sekä käyttäjä että kehittäjä, voi ehdottaa, mitä asioita haluaisivat NINJA-IDE: ssä toteutettavan ja projektiarkkitehtuurin perusteella voidaan määritellä, onko se tarpeen sisällyttää osaksi itse IDE: tä tai laajennuksena, joka antaa samalla tietää, mitä ideoita käsitellään ja kuka ottaa ne hallintaansa pitääkseen työryhmän synkronoituna.

Mitä voimme odottaa NINJA-IDE: ltä?

NINJA-IDE on syntynyt kattamaan tarpeemme, joka tuntui meille tärkeältä, ja huomasimme myös, että nykyiset lähestymistavat IDE: hin eivät tarjoaneet tarvittavaa kattavuutta.

Aikomuksemme tämän projektin käynnistämisessä oli luoda ympäristö, joka keskittyi Python-sovellusten kehittämiseen, mutta ottaen aina huomioon tarve luoda käyttäjäyhteisö, joka antaisi meille mahdollisuuden parantaa tämän työkalun käyttökokemusta, ja tekee meistä tällä hetkellä hyvin iloinen voidessani luottaa NINJA-IDE-yhteisöön, koska käyttäjien kokemuksen ja kollektiivisen tietämyksen ansiosta on mahdollista, että heidän ehdotuksillaan projektin kehitys voi edetä nopeammin ja otetaan huomioon paljon enemmän yksityiskohtia kuin toisesta muodosta voidaan jättää huomiotta.

Tulevaisuuden suunnitelmat

Tällä hetkellä saavutettavan jatkuvan kehityksen myötä olemme lähellä NINJA-IDE: n version 1.0 julkaisua, joka saa nimen Kunai. Tässä ensimmäisessä versiossa on läsnä useita aiemmin mainittuja ominaisuuksia, jotka antavat kehittäjälle vankan ja käytännöllisen IDE: n, ilmeisesti, kuten missä tahansa projektissa, parannuksia ja uusia ominaisuuksia ilmenee. Joitakin asioita, jotka on tarkoitus sisällyttää NINJA-IDE: hen tulevissa versioissa, ovat:

  • Graafinen virheenkorjaus
  • Pystyy näkemään projektin moduulien ja luokkien navigoitavuus ja suhde graafisesti (BlueJ: n perusteella)
  • Tuki koodiversiotyökaluille.
  • Salli asiakirjan muokkaaminen yhteistyössä.
  • Qt- ja Gtk-käyttöliittymäsuunnittelija integroitu IDE: hen.
  • Kehykset tukevat esimerkiksi:
  • Django
  • Google App Engine
  • Ja tämä on vasta alkamassa!

Mitä työkaluja NINJA-IDE käyttää?

IDE on kehitetty käyttämällä PyQt-kehystä kaikelle graafisen käyttöliittymän ja joidenkin muiden toimintojen käsittelylle, vaikka sitä yritettiin abstraktoida mahdollisimman paljon tiettyjä toimintoja, jotta NINJA-IDE voidaan tarvittaessa siirtää huomenna muihin kehyksiin, kuten Gtk. Qt: llä oli vankka ja erittäin konfiguroitava käyttöliittymä, joka mahdollisti jokaisen tarvittavan elementin laajentamisen sen käyttäytymisen muuttamiseksi ja sopeuttamiseksi IDE: n tarpeisiin.

Syntaksien korostuksen osalta NINJA-IDE käyttää omaa syntaksikorostusjärjestelmäänsä Qt-toimintoja käyttäen ja antaa tämän korostusjärjestelmän olla helposti laajennettavissa NINJA-IDE: ssä luomalla yksinkertainen JSON-tiedosto, joka kuvaa sisällytettävä kieli. Tämä menetelmä tarjoaa suorituskyvyn parannuksia, mutta kattamaan ne kielet, joita tämä järjestelmä ei tunnista, Pygmenttien käyttö sisällytettiin suurempien kielten syntaksikorostukseen. Vaikka mahdollisuutta korvata GNU Highlight suorituskykysyistä Pygments on parhaillaan esillä.

Automaattiseen täydennykseen, korjaamiseen ja koodin päättelyyn viittaaviin tarkoituksiin käytetään Köyttä, joka on erinomainen kirjasto, erittäin kattava tämän tyyppiseen tilanteeseen. Köysi on työkalu, jonka avulla IDE voidaan tuoda kirjoitettujen kielten IDE: n Python-ominaisuuksiin. Tällä hetkellä työskentelemme myös Code Checkingin sisällyttämiseksi Pep8-kirjastoon, jotta voimme antaa tietoa koodin tilasta suhteessa Pep8-standardeihin.

NINJA-IDE-laajennettavuus

NINJA-IDE: ssä on melko täydellinen laajennusjärjestelmä, joka mahdollistaa näiden laajennusten integroinnin IDE: n natiivina elementtinä. Laajennusten kirjoittaminen on melko yksinkertaista, ja voit jopa käyttää NINJA-IDE-laajennusta NINJA-IDE-laajennusten kirjoittamiseen (rekursiivinen?). Tämän laajennusten kirjoittamiseen tarkoitetun laajennuksen avulla voit päättää, mihin IDE: n osiin uusi laajennus liittyy, ja luo automaattisesti tarvittavan projektirakenteen yhdessä laajennuskuvaajan kanssa, jotta NINJA-IDE voi tulkita sen ja perusluokan Tämän laajennuksen menetelmillä, jotka on uudistettava, puolestaan, kun lopetamme laajennuksen kirjoittamisen, voimme pakata sen ja jakaa sen sitten. Tällä hetkellä NINJA-IDE: lle on saatavilla 3 laajennusta:

  • pastebin: jonka avulla voit lähettää koodin osoitteeseen pastebin.com ja palauttaa tuloksena olevan linkin jakaa koodi.
  • PluginProject: Plugins-projektien luomisesta vastaava henkilö NINJA-IDE: lle, kuten mainitsimme.
  • Luokan täydennys: täydentää automaattisesti joitain rakenteita kirjoitettaessa Python-koodia, kuten: luo konstruktori automaattisesti kutsumalla tarvittavat vanhempaluokat jne.

Saat lisätietoja NINJA-IDE-laajennuksen kehittämisestä käymällä seuraavassa Wikissä: http://ninja-ide.org/plugins/

Yhteystiedot

Purkautua

Ninja IDE on nyt saatavana DEB- ja RPM-paketteina. Muu maailma voi tietysti aina ladata lähdekoodin ja kääntää sen. 🙂

Kiitos Diego Sarmentero, että jaoit tämän erinomaisen IDE: n meille kaikille!

9 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Patrick Arguello dijo

    Pidän todella paremmin PyCharmista. Hyvää työtä onnittelut ja terveiset. @patoargu

  2.   Riccardo3284 dijo

    Tervehdys yhteisölle Olen fani ohjelmoinnista pythonissa, IDE on erittäin hyvä, mutta tietokoneellani on Ubuntu 10.10, enkä voi työskennellä kuvassa 4 näkyvien ominaisuuksien, kuvan kanssa, jossa komennot, luokat tai menetelmät ovat esitetty python-objektista, tämä ominaisuus on erittäin tärkeä ainakin minulle, koska kaikkia komentoja ei ole opittu, ja samalla se antaisi meille mahdollisuuden oppia lisää ohjelmoijille, mutta tämä toiminnallisuus ei tule esiin Ubuntussa.

    Toivon, että joku yhteisöstä voi auttaa minua, sähköpostiini on riccardo3284@gmail.com

  3.   marcoshipe dijo

    Luin sen väärin, gitin tukea ei ole vielä otettu käyttöön, mutta se on jo laajennus, jonka he aikovat toteuttaa

  4.   Alex dijo

    ^^, aloitin kehitystiimin jäsenenä :), mutta lopulta minulla ei ollut aikaa tai tarpeeksi tietoa ja jouduin luopumaan siitä :(. Mutta olen erittäin onnellinen, että lopulta NInja IDE meni eteenpäin ja niin hyvillä tuloksilla.

  5.   marcoshipe dijo

    Olen jo kokeillut sitä 😀
    toivottavasti tämä hyvä, mutta koska käytän pythonia ja qt: tä, pidän xD: stä
    Luulen, että hän pyyhkii eric, ja minä katsoin, ja sillä on tukea gitille 😀 Luulen, että tulemme toimeen

  6.   Daniel dijo

    Mielestäni se on erinomaista, ainoa negatiivinen asia on, että ollessaan espanjankielisiä, he luovat käyttöliittymiä englanniksi, heidän pitäisi tehdä ne espanjaksi, IDES englanniksi, on monia syitä, miksi emme tekisi jotain, jota me kaikki emme käsittele Englanti ymmärtää, muuten minulla ei ole mitään, mutta onnittelen heitä.

    terveiset

  7.   Eugeniu Tambur dijo

    Pidän siitä, mutta tällä hetkellä se on jotain vihreää, olen testannut sitä ja jättää minut hämmästyneeksi, ja se käynnistää Windows Explorerin uudelleen jatkuvasti ja lisää virheitä, mutta heti kun ne korjataan ja se on jotain vakaampaa, se on epäilemättä erittäin onnistunut.

  8.   Daniel dcs dijo

    Erinomainen työ "tehty" Argentiinassa !!!! Vilpittömät onnittelut koko kehitystiimille !!!!

  9.   neyer dijo

    Terveisiä kaikille, erittäin hyvää työtä, IDE on melko mukava käyttää, olisi erittäin mielenkiintoista sisällyttää editori graafisiin käyttöliittymiin, se olisi myös kiehtovaa, jos sen avulla voit luoda projektidokumentaation (Ehkä Javadocsin tyyliin).

    Pysy menossa.