Ninja IDE: IDE dizajniran za Python

Napokon se netko udostojio pisati IDE poput ostalih 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-mailova poslanih na PyAr, čija se tema čuje prilično često: "Kakvu dobru 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 uvijek budu manje-više isti, budući da trenutni IDE-i za koje smatramo da su dostupni, većinom nisu bili dizajnirani za Python, već su nudili mogućnost da ih uključe putem dodatka i u ovaj način Prije 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 bi značajke trebao imati dobar IDE za programera na Pythonu".

Imajući ovo na umu započeli smo razvoj NINJA-IDE, čije je ime izvedenica 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, već možemo imati IDE s mnogo implementiranih funkcionalnosti, do te mjere da možemo nastaviti s razvojem NINJA-IDE pomoću NINJA-IDE-a, što nam zauzvrat pomaže u pronalaženju programskih pogreš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 značajki IDE-a su:

  • Tipične funkcionalnosti bilo kojeg IDE-a za rukovanje datotekama, karticama, automatskim uvlačenjem, zumom 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 sustavima.
  • 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ćuje 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 s informacijama unutar tog modula itd.
  • Omogućuje skrivanje i premještanje svih ploča sučelja na vrlo jednostavan način, što omogućuje prilagođavanje ukusu korisnika.
  • Omogućuje vam pregledavanje više urednika istodobno okomito 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 kad je zatvoren te ih oporavlja prilikom ponovnog otvaranja njihove instance.
  • Podrška za automatsko dovršavanje (kao specifično automatsko dovršavanje objekta kojem se pristupa).
  • Automatsko ažuriranje.
  • I još mnogo značajki!

Tko razvija NINJA-IDE?

NINJA-IDE počeli su razvijati Santiago Moreno i Diego Sarmentero, a dva tjedna nakon pokretanja projekta već se koristio za njegov razvoj. Zahvaljujući ljudima s PyAr popisa, 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 na doprinose korisnika i suradnika kodom, 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ćuje NINJA-IDE da raste svakodnevno, poboljšavajući i implementirajući značajke koje su potrebne korisnicima. Zauzvrat, komentari koje dobivamo od ljudi koji trenutačno koriste NINJA-IDE, motiviraju nas da i dalje vrijedno radimo na ovom alatu, s kojim želimo dodatno pojednostaviti razvoj Python aplikacija.

Kako ste odlučili koje ćete značajke 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 čimbenika: uređivač koda i upravljanje projektima. Aplikacija se počela graditi brinući se o ova dva temeljna stupa i omogućujući im dobru osnovu kako bi se kasnije olakšalo uključivanje novih značajki. Projekt je prošao kroz različite faze, počevši od dobrog uređivača s isticanjem sintakse, nastavljajući s upravljanjem projektnim datotekama, sve do dodavanja značajki 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 tipkanja itd.

U nekim je slučajevima istina da eksplicitno tipkanje može provesti jednostavnije i detaljnije analize, ali istina je i da trenutno postoji mnogo alata i knjižnica 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 onim programerima koji koriste Python da razvijaju svoje programe, imaju iste mogućnosti i pomagala koja se dobivaju prilikom razvoja na Javi ili .NET-u s nekim od IDE-a koji su trenutno najpoznatiji za te jezike. Uzimajući rezultate i iskustva dobivena 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 koja bi faza trebala biti ugrađena i ostali detalji. Mnogo su puta 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 svatko, i korisnik i programer, može predložiti stvari koje bi želio vidjeti implementirane u NINJA-IDE, a na temelju 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 tko preuzima kontrolu nad njima kako bi radna grupa bila sinkronizirana.

Što 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 uzima se mnogo više detalja nego od druge oblik mogao previdjeti.

Planovi za buducnost

Trenutno s kontinuiranim razvojem koji postižemo, blizu smo izdanju verzije 1.0 NINJA-IDE, koja će dobiti naziv 'Kunai'. U ovoj prvoj verziji bit će prisutno nekoliko prethodno spomenutih značajki, što će razvojnom programeru omogućiti robustan i praktičan IDE, očito će se, kao i u svakom projektu, pojaviti poboljšanja i nove značajke koje će se implementirati. Neke od stvari koje se namjeravaju ugraditi u NINJA-IDE u budućim verzijama su:

  • Grafički program za ispravljanje pogrešaka
  • Da biste mogli grafički vidjeti navigaciju i odnos modula i klasa projekta (na temelju BlueJ)
  • Podržati alate za izradu verzija.
  • Omogućite zajedničko uređivanje dokumenta.
  • Dizajner Qt i Gtk sučelja integriranih 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 prebaciti na druge okvire poput Gtk. Qt je imao solidno i vrlo podesivo sučelje, što je omogućilo proširenje svakog potrebnog elementa kako bi se promijenilo njegovo ponašanje i prilagodilo potrebama IDE-a.

Što se tiče isticanja sintakse, NINJA-IDE koristi svoj vlastiti sustav za isticanje sintakse koristeći Qt funkcionalnosti i omogućava da se ovaj sustav isticanja lako proširi u NINJA-IDE stvaranjem jednostavne JSON datoteke koja opisuje jezik koji treba ugraditi. Ova metoda pruža poboljšanja u izvedbi, ali kako bi se pokrili oni jezici koji nisu prepoznati kroz ovaj sustav, ugrađena je upotreba Pygmenata za isticanje sintakse većeg broja različitih jezika. Iako se trenutno podiže mogućnost da Pygmenti budu zamijenjeni GNU Highlightom zbog izvedbe.

Za automatsko dovršavanje, refaktoriranje i one koji se odnose na zaključivanje koda koristi se Rope, koja je izvrsna knjižnica, vrlo potpuna za ovu vrstu situacije. Uže je alat koji vam omogućuje da karakteristike IDE-a tipkanog jezika prenesete u IDE za Python. Trenutno također radimo na ugradnji 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 sustav dodataka koji omogućuje integraciju tih dodataka kao izvorni element IDE-a. Pisanje dodataka prilično je jednostavno, a čak možete koristiti NINJA-IDE dodatak za pisanje NINJA-IDE dodataka (rekurzivno?). Ovaj dodatak «za pisanje dodataka» omogućuje vam da odlučite s kojim dijelovima IDE-a će se povezati novi dodatak i automatski stvara 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 ponovno implementirati, zauzvrat, kada završimo s pisanjem dodatka, omogućuje nam pakiranje i distribuciju. Trenutno su dostupna 3 dodatka za NINJA-IDE:

  • pastebin: koja vam omogućuje slanje koda na pastebin.com i vraća rezultirajuću vezu za dijeljenje tog koda.
  • Projekt dodatka: osoba zadužena za stvaranje projekata dodataka za NINJA-IDE kao što smo spomenuli.
  • Komplet klase: automatski dovršava neke strukture tijekom 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/

kontakt

Pražnjenje

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

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

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Patrick Arguello dijo

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

  2.   Richard3284 dijo

    Pozdrav zajednici Ja sam ljubitelj programiranja na pythonu, IDE je vrlo dobar, ali na svom računalu imam Ubuntu 10.10 i ne mogu raditi sa značajkama koje vidite na slici 4, slikom 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 netko iz zajednice može pomoći, moj e-mail je riccardo3284@gmail.com

  3.   Markošipe dijo

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

  4.   Alex dijo

    ^^, 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 je krenuo naprijed i s tako dobrim rezultatima.

  5.   Markošipe dijo

    Već ga isprobam 😀
    nadam se da je ovo dobro, ali budući da koristim python i qt, sviđa mi se xD
    Pretpostavljam da briše Erica, a ja sam pogledao i ima podršku za git 😀 Mislim da ćemo se slagati

  6.   Danijel dijo

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

    pozdravi

  7.   Eugeniju Tamburu dijo

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

  8.   daniel dcs dijo

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

  9.   neyer dijo

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

    Nastavi.