Ninja IDE: IDE, zasnovan za Python

Končno se je nekdo zares pisal IDE, kot so ljudje za Python ki ga lahko vsak navaden državljan brez težav uporablja v Linuxu. Da, obstaja več IDE-jev za programiranje v različnih jezikih, vključno s Pythonom, vendar ta ima v rokavu nekaj majhnih trikov...

Kako se je začel NINJA-IDE?

NINJA-IDE Porodilo se je z nekaterimi e-poštnimi sporočili, poslanimi na PyAr, katerih tema se običajno sliši precej pogosto: "Kakšen dober IDE za Python lahko uporabim?", "Zakaj ni IDE za Python, ki ima to ali ono funkcijo?", odzivi na ta e-poštna sporočila pa so na koncu vedno bolj ali manj enaki, saj trenutni IDE, ki se nam zdijo na voljo, večinoma niso bili zasnovani za Python, ampak so ponujali možnost, da ga vključijo prek vtičnika in v tem način Včasih so uporabljali zelo težke IDE-je, zasnovane za druge namene, kjer je bila podpora za Python dejansko minimalna, tisti, ki so bili za Python, pa so bili zelo usmerjeni v določen okvir ali niso bili brezplačni. Po motiviranju izziva, ki ga je predstavljal, in zanimivih idej, ki so bile postavljene na poštnem seznamu, smo se odločili, da bomo pristopili k temu projektu s poudarkom na "Katere funkcije mora imeti dober IDE za programerja Python".

S tem v mislih smo začeli razvijati NINJA-IDE, katerega ime je izpeljanka iz rekurzivne kratice: "Ninja ni samo še ena IDE". IDE ima komaj več kot dva meseca razvoja, a zahvaljujoč želji in uram programiranja, ki mu ga namenjamo, lahko že imamo IDE z vgrajenimi številnimi funkcionalnostmi do te mere, da lahko nadaljujemo z razvojem NINJA-IDE z uporabo NINJA-IDE, kar nam pomaga z iskanjem napak in izboljšanjem uporabnosti in praktičnosti aplikacije z izkušnjami in nenehno uporabo.

Projekt je razvit na podlagi brezplačne licence GPL, kodo pa lahko dobite prek:

Nekatere trenutne značilnosti IDE so:

  • Tipične funkcije katerega koli IDE-ja za upravljanje datotek, zavihkov, samodejnega zamika, povečevanja urejevalnika itd.
  • Ker je napisan v Pythonu in uporablja PyQt, je večplastni in je bil preizkušen na sistemih Linux, MAC OS X in Windows.
  • Označevanje sintakse za najrazličnejše jezike (čeprav je osredotočeno na Python, za lažje programiranje ponuja poudarjanje sintakse za druge jezike).
  • Možnost uporabe konzole Python iz istega IDE-ja.
  • Omogoča upravljanje projektov v IDE, njihovo prepoznavanje kot Python Projects in prek IDE ustvarjanje novih datotek in map, brisanje obstoječih datotek, samodejno ustvarjanje datotek "__init__" z informacijami v tem modulu itd.
  • Omogoča skrivanje in premeščanje vseh vmesniških plošč na zelo preprost način, kar omogoča prilagajanje okusu uporabnika.
  • Omogoča ogled več kot enega urejevalnika hkrati navpično ali vodoravno.
  • Razširljiv z dodajanjem vtičnikov (ki jih lahko zaradi enostavnosti ustvarite z vtičnikom NINJA-IDE).
  • Upravlja seje IDE, da si zapomni, katere datoteke in projekti so bili odprti, ko je bil zaprt, in jih obnovi ob ponovnem odpiranju primerka.
  • Podpora za samodejno dokončanje (kot posebno samodejno dokončanje predmeta, do katerega dostopate).
  • Samodejne posodobitve.
  • In še veliko drugih funkcij!

Kdo razvija NINJA-IDE?

NINJA-IDE sta začela razvijati Santiago Moreno in Diego Sarmentero, v dveh tednih po začetku projekta pa so ga že uporabljali za razvoj. Hvala ljudem s seznama PyAr, spletnih dnevnikov itd. V zelo kratkem času je razširjanje projekta pomenilo, da smo lahko računali na poročilo o napakah uporabnikov, predloge na poštnem seznamu NINJA in celo s prispevki kode s strani uporabnikov in sodelavcev, od katerih so nekateri postali del NINJA-IDE z vloga zavezujočih, kot je to v primeru: Martín Alderete, Juan Cabral in Matías Herranz.

To močno sodelovanje in sodelovanje, ki ga prejemamo od skupnosti, omogoča NINJA-IDE, da raste vsak dan, izboljšuje in izvaja funkcije, ki jih uporabniki potrebujejo. Komentarji, ki jih prejmemo od ljudi, ki trenutno uporabljajo NINJA-IDE, nas motivirajo, da še naprej trdo delamo na tem orodju, s katerim želimo še bolj poenostaviti razvoj aplikacij Python.

Kako ste se odločili, katere funkcije boste dodali?

Na začetku projekta so mislili na strukturo, ki mu bo omogočala, da sčasoma raste in vključuje funkcionalnosti, pri čemer imata za vodilo dva glavna dejavnika: urejevalnik kode in upravljanje projektov. Aplikacija se je začela graditi tako, da je skrbela za ta dva temeljna stebra in jim omogočila dobro osnovo, da je kasneje olajšala vključitev novih funkcij. Projekt je šel skozi različne faze, začenši z dobrim urejevalnikom s poudarkom sintakse, nadaljevanjem upravljanja projektnih datotek, pa do dodajanja funkcij vtičnikov, samodejnega dokončanja, upravljanja sej itd. Python pogosto obravnavamo kot jezik, ki ima večje težave pri zagotavljanju informacij o kodi, ki se piše, saj v času programiranja zaradi dinamičnega tipkanja itd. Ne more sklepati na predmete itd.

V nekaterih primerih je res, da lahko z eksplicitnim tipkanjem izvedemo enostavnejše in podrobnejše analize, res pa je tudi, da trenutno obstaja veliko orodij in knjižnic za Python, ki pomagajo odpraviti ta tabu, da IDE ni mogoče ki nudi resnično pomoč pri generirani kodi. Zato si NINJA-IDE prizadeva, da bi tisti programerji, ki uporabljajo Python, razvijali svoje programe, imeli enake pripomočke in pripomočke, ki jih dobijo pri razvoju v Javi ali .NET z nekaterimi IDE, ki so trenutno najbolj znani za te jezike. Ob upoštevanju rezultatov in izkušenj, pridobljenih iz IDE-jev za druge jezike, naj bi dosegli IDE, zasnovan za Python, ki ustvarja enako zadovoljstvo pri uporabi.

Za predloge, odločitve in vključitev novih funkcij v NINJA-IDE se poštni seznam običajno uporablja za skupno odločitev članov, ki sestavljajo projekt, bolj kot kar koli drugega, da bi vedeli, kakšen bo cilj te funkcije, v katero stopnjo je treba vključiti in druge podrobnosti. Mnogokrat so te značilnosti motivirane z neko zanimivo funkcionalnostjo, ki jo vidimo v drugem IDE-ju, idejo enega od članov ali predlogi uporabniške skupine. Na ta način lahko vsakdo, tako uporabnik kot razvijalec, predlaga, katere stvari bi rad videl izvajati v NINJA-IDE, na podlagi projektne arhitekture pa ga je mogoče opredeliti, če ga je treba vključiti kot del IDE samega ali kot vtičnik, ki hkrati omogoča vedeti, na katerih idejah se dela in kdo jih prevzame, da sinhronizira delovno skupino.

Kaj lahko pričakujemo od NINJA-IDE?

NINJA-IDE se je rodil za pokrivanje potrebe, ki se nam je zdela pomembna, in videli smo tudi, da trenutni pristopi k IDE ne zagotavljajo potrebnega pokritja.

Naš namen pri zagonu tega projekta je bil ustvariti okolje, ki se osredotoča na razvoj aplikacij Python, vendar vedno upošteva potrebo po skupnosti uporabnikov, ki bi nam omogočila izboljšanje izkušenj pri uporabi tega orodja, in trenutno nas zelo veseli, da lahko računamo na skupnost NINJA-IDE, saj je zaradi izkušenj in skupnega znanja uporabnikov mogoče, da s svojimi predlogi razvoj projekta napreduje hitreje in je upoštevano veliko več podrobnosti kot iz druge oblike bi lahko spregledali.

Načrti za prihodnost

Trenutno z nenehnim razvojem, ki ga dosegamo, smo blizu izdaji različice 1.0 NINJA-IDE, ki bo dobila ime 'Kunai'. V tej prvi različici bo prisotnih več prej omenjenih funkcij, ki bodo razvijalcu omogočile robusten in praktičen IDE, očitno se bodo, tako kot v vsakem projektu, pojavile izboljšave in nove funkcije za izvajanje. Nekaj ​​stvari, ki naj bi bile vključene v NINJA-IDE v prihodnjih različicah:

  • Grafični razhroščevalec
  • Da si lahko grafično ogledate plovnost in povezavo modulov in razredov projekta (na osnovi BlueJ)
  • Podpira orodja za različico kod.
  • Dovoli skupno urejanje dokumenta.
  • Qt in Gtk oblikovalec vmesnikov, integriran v IDE.
  • Podpora okvirom, kot so:
  • Django
  • Google App Engine
  • In to se šele začenja!

Katera orodja uporablja NINJA-IDE?

IDE je razvit z uporabo ogrodja PyQt za vso obdelavo grafičnega vmesnika in nekaterih drugih funkcij, čeprav so ga poskušali čim bolj abstrahirati, da bi omogočili, če je treba jutri, NINJA-IDE prenesti na druge okvire, kot je npr. Gtk. Qt je omogočil trden in zelo prilagodljiv vmesnik, ki je omogočil razširitev vsakega elementa, potrebnega za spreminjanje njegovega vedenja, in prilagajanje potrebam IDE.

Kar zadeva poudarjanje sintakse, NINJA-IDE uporablja lasten sistem za poudarjanje sintakse, ki uporablja funkcije Qt, in omogoča, da je ta sistem poudarjanja lahko razširljiv v NINJA-IDE z ustvarjanjem preproste datoteke JSON, ki opisuje jezik, ki ga je treba vključiti. Ta metoda omogoča izboljšanje zmogljivosti, toda za pokrivanje tistih jezikov, ki jih sistem ne prepozna, je bila za poudarjanje sintakse večjega števila jezikov vključena uporaba Pygments. Čeprav se trenutno pojavlja možnost, da Pygmente iz razlogov učinkovitosti zamenja GNU Highlight.

Za samodejno dokončanje, refaktoring in tiste, ki se nanašajo na sklepanje kode, se uporablja Rope, ki je odlična knjižnica, zelo popolna za tovrstne situacije. Vrv je orodje, ki vam omogoča, da v IDE za Python prenesete značilnosti IDE vtipkanega jezika. Trenutno delamo tudi na vključitvi preverjanja kode s pomočjo knjižnice Pep8, natančno zato, da bi zagotovili informacije o statusu kode glede na standarde Pep8.

Razširljivost NINJA-IDE

NINJA-IDE ima dokaj popoln sistem vtičnikov, ki omogoča integracijo teh vtičnikov kot izvorni element IDE. Pisanje vtičnikov je precej preprosto in za vtičnike NINJA-IDE (rekurzivno?) Lahko uporabite celo vtičnik NINJA-IDE. Ta vtičnik «za pisanje vtičnikov» vam omogoča, da se odločite, s katerimi deli IDE-ja bo povezan nov vtičnik, in samodejno ustvari potrebno strukturo projekta, skupaj z deskriptorjem vtičnika, tako da ga lahko NINJA-IDE interpretira in osnovni razred tega vtičnika z metodami, ki jih bo treba znova uporabiti, ko pa končamo pisanje vtičnika, nam omogoča, da ga zapakiramo in nato distribuiramo. Trenutno so na voljo 3 vtičniki za NINJA-IDE:

  • pastebin: ki vam omogoča pošiljanje kode na pastebin.com in vrne nastalo povezavo za skupno rabo te kode.
  • VtičnikProjekt: oseba, odgovorna za ustvarjanje projektov vtičnikov za NINJA-IDE, kot smo že omenili.
  • Dopolnjevalnik razreda: samodejno dokonča nekatere strukture med pisanjem kode Python, na primer: samodejno ustvari konstruktor tako, da pokliče potrebne nadrejene razrede itd.

Če želite več informacij o tem, kako razviti vtičnik za NINJA-IDE, lahko obiščete naslednji Wiki: http://ninja-ide.org/plugins/

kontakt

Razrešnica

Ninja IDE je zdaj na voljo v DEB in RPM paketih. Preostali svet seveda lahko vedno prenese izvorno kodo in jo prevede. 🙂

Hvala Diego Sarmentero, ker je delil to izvrstno IDE z vsemi nami!

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Patrick Arguello je dejal

    Res mi je bolj všeč PyCharm. Vseeno dobro delo čestitke in spoštovanje. @patoargu

  2.   riccardo3284 je dejal

    Lep pozdrav skupnosti Jaz sem ljubitelj programiranja v pythonu, IDE je zelo dober, vendar imam v svojem računalniku Ubuntu 10.10 in ne morem delati s funkcijami, ki jih vidite na sliki 4, sliko, kjer so ukazi, razredi ali metode prikazano Iz predmeta python je ta funkcija vsaj zame zelo pomembna, saj se vsi ukazi ne naučijo in hkrati bi nam omogočili, da se več naučimo programerjem, vendar ta funkcionalnost v mojem Ubuntuju ni na voljo.

    Upam, da mi lahko kdo iz skupnosti pomaga, moje elektronsko sporočilo je riccardo3284@gmail.com

  3.   marcoshipe je dejal

    Napačno sem prebral, podpora za git še ni izvedena, vendar je to že vtičnik, ki ga nameravate implementirati 🙂

  4.   Alex je dejal

    ^^, začel sem kot član razvojne ekipe :), a na koncu nisem imel časa ali dovolj znanja in sem se mu moral odpovedati :(. Sem pa zelo vesel, da je na koncu NInja IDE šel naprej in s tako dobrimi rezultati.

  5.   marcoshipe je dejal

    Sem že poskusil 😀
    upam, da je to dobro, ker pa uporabljam python in qt, mi je všeč xD
    Mislim, da je obrisal Eric, in sem pogledal in ima podporo za git. Mislim, da se bomo razumeli

  6.   Daniel je dejal

    Mislim, da je izvrstno, edina negativna stvar je ta, da ker so špansko govoreči, ustvarjajo vmesnike v angleščini, naredili bi jih v španščini, IDES v angleščini, veliko je, zakaj ne bi naredili nekaj, česar vsi, ki ne obvladamo Angleščina razume, sicer nimam nobene, ampak jim čestitam.

    pozdrav

  7.   Evgenij Tambur je dejal

    Všeč mi je, toda trenutno je nekaj zelenega, preizkusil sem ga in mi pusti groggy ter neprestano znova zažene raziskovalec oken in več napak, toda takoj, ko ga popravijo in je nekaj bolj stabilnega, bo zagotovo biti zelo uspešen.

  8.   daniel dcs je dejal

    Odlično delo "made in" Argentina !!!! Iskrene čestitke celotni razvojni ekipi !!!!

  9.   neyer je dejal

    Lep pozdrav vsem, zelo dobro delo, IDE je zelo udoben za uporabo, zelo zanimivo bi bilo vključiti urejevalnik grafičnega uporabniškega vmesnika, zanimivo pa bi bilo tudi, če bi vam omogočilo ustvarjanje projektne dokumentacije (morda v slogu Javadocs).

    Nadaljuj.