Ninja IDE: IDE dizajniran za Python

Napokon se neko udostojio da piše IDE poput ljudi za Python koje svaki običan građanin može bez problema koristiti u Linuxu. Da, postoji nekoliko IDE-a za programiranje na različitim jezicima, uključujući Python, ali ovaj ima nekoliko malih trikova u rukavu...

Kako je započeo NINJA-IDE?

NINJA-IDE Rođeni su iz nekih e-poruka poslanih na PyAr, čija se tema obično čuje prilično često: "Kakav dobar IDE za Python mogu koristiti?", "Zašto ne postoji IDE za Python koji ima ovu ili onu značajku?", a odgovori na ove e-adrese na kraju su uvijek manje-više isti, budući da trenutni IDE-i za koje smatramo da su dostupni, većim dijelom nisu dizajnirani za Python, već su nudili mogućnost da ih uključe putem dodatka i na ovaj način Nekada su se koristili vrlo teški IDE-ovi dizajnirani za druge svrhe, gdje je podrška za Python zapravo bila minimalna, a oni koji su bili za Python na kraju su bili vrlo orijentirani na određeni okvir ili nisu bili besplatni. Stoga smo motivirani izazovom koji je predstavljao i zanimljivim idejama koje su pokrenute na mailing listi odlučili pristupiti ovom projektu usredotočujući se na "Koje karakteristike bi trebao imati dobar IDE za programera na Pythonu".

Imajući ovo na umu započeli smo razvoj NINJA-IDE, čije je ime izvedenica iz rekurzivne kratice: "Ninja nije samo još jedan IDE". IDE ima jedva više od dva mjeseca razvoja, ali zahvaljujući želji i satima programiranja koje mu posvećujemo, sada možemo imati IDE s implementiranim mnogim funkcionalnostima, do te mjere da možemo nastaviti s razvojem NINJA- IDE koristi NINJA-IDE, što nam zauzvrat pomaže u pronalaženju grešaka i poboljšanju upotrebljivosti i praktičnosti aplikacije kroz iskustvo i kontinuiranu upotrebu.

Projekt je razvijen pod besplatnom GPL licencom, a kod se može dobiti putem:

Neke od trenutnih karakteristika IDE-a su:

  • Tipične funkcije bilo kojeg IDE-a za rukovanje datotekama, karticama, automatskim uvlačenjem, Uvećaj u uređivaču itd.
  • Napisan na Pythonu i koristi PyQt, višestruka je platforma i testiran je na Linuxu, MAC OS X i Windows sistemima.
  • Izdvajanje sintakse za širok spektar jezika (iako je usmjereno na Python, pruža isticanje sintakse za druge jezike radi praktičnosti programera).
  • Mogućnost upotrebe Python konzole iz istog IDE-a.
  • Omogućava upravljanje projektima u IDE-u, prepoznajući ih kao Python projekte i kroz IDE stvaranje novih datoteka i mapa, brisanje postojećih datoteka, automatsko stvaranje "__init__" datoteka sa informacijama unutar tog modula itd.
  • Omogućava sakrivanje i premještanje svih ploča sučelja na vrlo jednostavan način, što omogućava prilagođavanje ukusu korisnika.
  • Pregledajte više urednika istovremeno vertikalno ili vodoravno.
  • Proširivo dodavanjem dodataka (koji se mogu stvoriti pomoću NINJA-IDE dodatka radi jednostavnosti).
  • Upravlja IDE sesijama kako bi zapamtio koje su datoteke i projekti bili otvoreni kada je zatvoren i obnavlja ih kada se instanca ponovo otvori.
  • Podrška za automatsko dovršavanje (kao specifično automatsko dovršavanje objekta kojem se pristupa).
  • Automatsko ažuriranje.
  • I još mnogo funkcija!

Ko razvija NINJA-IDE?

NINJA-IDE počeli su razvijati Santiago Moreno i Diego Sarmentero, a u roku od 2 sedmice od pokretanja projekta već se koristio za njegovu izradu. Zahvaljujući ljudima sa PyAr liste, blogova itd. U vrlo kratkom vremenu, širenje projekta značilo je da bismo mogli računati na Izvještaj o greškama korisnika, prijedloge na NINJA mailing listi, pa čak i uz doprinos koda od strane korisnika i suradnika, od kojih su neki postali dio NINJA-IDE-a s ulogom počinitelja, kao što je slučaj: Martín Alderete, Juan Cabral i Matías Herranz.

Ova snažna suradnja i sudjelovanje koje primamo od zajednice omogućava NINJA-IDE da raste svakodnevno, poboljšavajući i implementirajući funkcije koje su potrebne korisnicima. Zauzvrat, komentari koje dobivamo od ljudi koji trenutno koriste NINJA-IDE, motiviraju nas da nastavimo vredno raditi na ovom alatu, s kojim želimo dodatno pojednostaviti razvoj Python aplikacija.

Kako ste odlučili koje funkcije dodati?

Na početku projekta mislilo se na strukturu koja će mu omogućiti da raste i uključuje funkcionalnosti s vremenom, imajući kao smjernicu dva glavna faktora: uređivač koda i upravljanje projektima. Aplikacija se počela graditi brinući se o ova dva temeljna stupa i omogućavajući im dobru osnovu da kasnije olakšaju ugradnju novih karakteristika. Projekt je prošao kroz različite faze, počevši od dobrog uređivača sa isticanjem sintakse, nastavljajući upravljanje projektnim datotekama, pa sve do dodavanja karakteristika dodataka, automatskog dovršavanja, upravljanja sesijama itd. Python se često doživljava kao jezik koji ima veće poteškoće u pružanju informacija o kodu koji se piše jer ne može zaključivati ​​o objektima u vrijeme programiranja zbog dinamičkog kucanja itd.

U nekim je slučajevima istina da eksplicitno tipkanje može izvršiti jednostavnije i detaljnije analize, ali istina je i da trenutno postoji mnogo alata i biblioteka za Python koji pomažu u uklanjanju ovog tabua da nije moguće imati IDE koji pruža stvarnu pomoć kodu koji se generira. Zbog toga NINJA-IDE nastoji omogućiti programerima koji koriste Python da razvijaju svoje programe, imati iste sadržaje i pomagala koja se dobijaju u razvoju na Javi ili .NET-u sa nekim od IDE-a trenutno najpoznatijih za te jezike. Uzimajući rezultate i iskustva stečena od IDE-a za druge jezike, namjerava se postići IDE dizajniran za Python koji stvara isto zadovoljstvo prilikom njegove upotrebe.

Za prijedloge, odluke i ugradnju novih značajki u NINJA-IDE, mailing lista se obično koristi za postizanje kolektivne odluke članova koji čine projekt, više od svega da bi se znalo koji će biti cilj ove značajke, u koju fazu treba ugraditi i ostale detalje. Mnogo puta su ove karakteristike motivirane nekom zanimljivom funkcionalnošću viđenom u drugom IDE-u, idejom jednog od članova ili prijedlozima korisničke grupe. Na taj način bilo tko, i korisnik i programer, može predložiti koje stvari želi vidjeti da se primjenjuju u NINJA-IDE-u i na osnovu projektne arhitekture može se definirati ako je potrebno uključiti ga kao dio samog IDE-a ili kao dodatak, omogućavajući istovremeno znati na kojim se idejama radi i ko preuzima kontrolu nad njima kako bi radna grupa bila sinhronizirana.

Šta možemo očekivati ​​od NINJA-IDE?

NINJA-IDE je rođen da pokrije potrebu koja nam se činila važnom, a vidjeli smo i da trenutni pristupi IDE-ima ne pružaju potrebno pokriće.

Naša namjera prilikom pokretanja ovog projekta bila je stvoriti okruženje usredotočeno na razvoj Python aplikacija, ali uvijek uzimajući u obzir potrebu da imamo zajednicu korisnika koja bi nam omogućila poboljšanje iskustva korištenja ovog alata i trenutno nas čini vrlo sretnim moći računati na NINJA-IDE zajednicu, jer je zahvaljujući iskustvu i kolektivnom znanju korisnika moguće da njihovim prijedlozima razvoj projekta može brže napredovati i da se uzme u obzir mnogo više detalja nego kod druge oblik se mogao previdjeti.

Budući planovi

Trenutno s kontinuiranim razvojem koji postižemo, blizu smo izdanju verzije 1.0 NINJA-IDE, koja će dobiti ime 'Kunai'. U ovoj prvoj verziji bit će prisutno nekoliko prethodno spomenutih karakteristika, što će omogućiti programeru da ima robustan i praktičan IDE, očito će se, kao i u svakom projektu, pojaviti poboljšanja i nove funkcije za implementaciju. Neke od stvari koje će biti ugrađene u NINJA-IDE u budućim verzijama su:

  • Grafički program za pronalaženje pogrešaka
  • Da biste mogli grafički vidjeti navigaciju i odnos modula i klasa projekta (na osnovu BlueJ)
  • Podržavaju alate za verziranje koda.
  • Omogućite zajedničko uređivanje dokumenta.
  • Qt i Gtk dizajner sučelja integrirani u IDE.
  • Podrška za okvire kao što su:
  • Django
  • Google App Engine
  • A ovo tek počinje!

Koje alate koristi NINJA-IDE?

IDE je razvijen pomoću PyQt okvira za sve rukovanje grafičkim sučeljem i nekim drugim funkcionalnostima, iako je pokušano što više apstrahirati određene funkcije kako bi se omogućilo, ako je potrebno sutra, NINJA-IDE prenijeti na druge okvire poput Gtk. Qt je omogućio solidno i vrlo podesivo sučelje, što je omogućilo proširenje svakog elementa potrebnog za modificiranje njegovog ponašanja i prilagođavanje potrebama IDE-a.

Što se tiče isticanja sintakse, NINJA-IDE koristi svoj vlastiti sistem isticanja sintakse koristeći Qt funkcionalnosti i omogućava da se ovaj sistem isticanja lako proširi u NINJA-IDE stvaranjem jednostavne JSON datoteke koja opisuje jezik koji treba ugraditi. Ova metoda omogućava poboljšanje performansi, ali da bi pokrila one jezike koje ovaj sistem ne prepoznaje, upotreba Pygmenata je uključena za isticanje sintakse većeg broja različitih jezika. Iako se trenutno podiže mogućnost da Pygmenti budu zamijenjeni GNU Highlightom iz razloga performansi.

Za automatsko dovršavanje, refaktoriranje i one koji se odnose na zaključivanje koda, koristi se Rope, koja je izvrsna biblioteka, vrlo potpuna za ovu vrstu situacije. Uže je alat koji omogućava unošenje u IDE za Python karakteristike IDE-a tipiziranih jezika. Trenutno radimo i na inkorporiranju provjere koda pomoću biblioteke Pep8, upravo kako bismo pružili informacije o statusu koda u odnosu na standarde Pep8.

NINJA-IDE proširivost

NINJA-IDE ima prilično cjelovit sistem dodataka koji omogućava integraciju ovih dodataka kao izvorni element IDE-a. Pisanje dodataka je prilično jednostavno i čak možete koristiti NINJA-IDE dodatak za pisanje NINJA-IDE dodataka (rekurzivno?). Ovaj dodatak «za pisanje dodataka» omogućava vam da odlučite s kojim dijelovima IDE-a će biti povezan novi dodatak i automatski kreira potrebnu strukturu projekta, zajedno s opisom dodatka tako da ga NINJA-IDE može interpretirati i osnovnu klasu Ovaj dodatak s metodama koje će trebati ponovo implementirati, zauzvrat, kada završimo s pisanjem dodatka, on nam omogućava da ga spakujemo i distribuiramo. Trenutno su dostupna 3 dodatka za NINJA-IDE:

  • pastebin: koja vam omogućava slanje koda na pastebin.com i vraća rezultirajuću vezu za dijeljenje tog koda.
  • PluginProject: osoba zadužena za stvaranje dodataka za NINJA-IDE kao što smo spomenuli.
  • ClassCompleter: automatski dovršava neke strukture za vrijeme pisanja Python koda, kao što su: automatski kreirajte konstruktor pozivajući potrebne roditeljske klase itd.

Da biste konzultirali više informacija o tome kako razviti dodatak za NINJA-IDE, možete posjetiti sljedeći Wiki: http://ninja-ide.org/plugins/

contacto

Preuzimanje

Ninja IDE je sada dostupan u DEB i RPM paketima. Ostatak svijeta, naravno, uvijek može preuzeti izvorni kod i kompajlirati ga. 🙂

Hvala Diegu Sarmenterou što je podijelio ovaj izvrsni IDE sa svima nama!

9 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Patrick Arguello rekao je

    Zaista mi se više sviđa PyCharm. Ipak dobar posao, čestitke i pozdrav. @patoargu

  2.   Riccardo3284 rekao je

    Pozdrav zajednici Ja sam ljubitelj programiranja na pythonu, IDE je vrlo dobar, ali na svom računaru imam Ubuntu 10.10 i ne mogu raditi sa karakteristikama koje vidite na slici 4, slici na kojoj su prikazane naredbe ili klase ili metode Iz python objekta, ova je značajka barem za mene vrlo važna jer se ne uče sve naredbe, a istovremeno bi nam omogućilo da naučimo više programerima, ali ta funkcionalnost ne izlazi u mom Ubuntuu.

    Nadam se da mi neko iz zajednice može pomoći, moj e-mail je riccardo3284@gmail.com

  3.   marcoshipe rekao je

    Pročitao sam pogrešno, podrška za git još nije implementirana, ali to je već dodatak koji planiraju implementirati 🙂

  4.   Alex rekao je

    ^^, počeo sam kao član razvojnog tima :), ali na kraju nisam imao vremena ni dovoljno znanja i morao sam ga se odreći :(. Ali vrlo sam sretan što je na kraju NInja IDE krenuo dalje i sa tako dobrim rezultatima.

  5.   marcoshipe rekao je

    Već sam probao 😀
    nadam se da je ovo dobro, ali pošto koristim python i qt volim xD
    Pretpostavljam da briše Erica, a ja sam pogledao i ima podršku za git 😀 Mislim da ćemo se slagati

  6.   Danijel rekao je

    Mislim da je to izvrsno, jedina negativna stvar je što, budući da govore španjolski, oni stvaraju sučelja na engleskom, trebali bi ih izraditi na španjolskom, IDES na engleskom, puno je toga zašto ne bismo učinili nešto što svi koji se ne služimo engleskim razumijemo, inače nemam ali čestitajte im.

    Saludos

  7.   Eugeniu Tambur rekao je

    Sviđa mi se, ali trenutno je nešto zeleno, testirao sam ga i ostavlja me zapanjenim i neprestano pokreće Windows Explorer i sve više grešaka, ali čim ga poprave i bude nešto stabilnije, nesumnjivo će biti vrlo uspješan.

  8.   daniel dcs rekao je

    Odlično djelo "made in" Argentina !!!! Iskrene čestitke cijelom razvojnom timu !!!!

  9.   neyer rekao je

    Pozdrav svima, vrlo dobar posao, IDE je prilično ugodan za upotrebu, bilo bi vrlo zanimljivo uključiti uređivač za grafička korisnička sučelja, također bi bilo fascinantno ako vam omogućuje generiranje projektne dokumentacije (možda u stilu Javadocs).

    Nastavi.