Ninja IDE: Një IDE e krijuar për Python

Më në fund dikush denjoi të shkruajë një IDE si njerëzit për Python që çdo qytetar i zakonshëm mund ta përdorë pa probleme në Linux. Po, ka disa IDE për programim në gjuhë të ndryshme, përfshirë Python, por ky ka disa hile të vogla në mëngë...

Si filloi NINJA-IDE?

NINJA-IDE Ajo lindi nga disa posta elektronike dërguar PyAr, tema e të cilave dëgjohet mjaft shpesh: "Çfarë IDE të mirë për Python mund të përdor?", "Pse nuk ka një IDE për Python që ka këtë apo atë veçori?", dhe përgjigjet ndaj këtyre postave elektronike gjithmonë përfundojnë të jenë pak a shumë të njëjta, pasi IDE-të aktuale që ne i gjejmë të disponueshme, për pjesën më të madhe, nuk ishin krijuar për Python, por ofruan mundësinë e përfshirjes së tij përmes një Shtojce dhe në këtë mënyra Dikur ishte duke përdorur IDE shumë të rënda të dizajnuara për qëllime të tjera, ku mbështetja për Python ishte në të vërtetë minimale, dhe ato që ishin për Python përfunduan duke qenë shumë të orientuara në një Kornizë specifike ose nuk ishin Falas. Pra, të motivuar nga sfida që përfaqësoi dhe nga idetë interesante që u ngritën në listën e postave, ne vendosëm t'i qasemi këtij projekti duke u përqëndruar në "Çfarë karakteristikash duhet të ketë një IDE i mirë për një programues Python".

Me këtë në mendje, ne filluam zhvillimin e NINJA-IDE, emri i të cilit është një derivat i akronimit rekursiv: "Ninja nuk është thjesht një tjetër IDE". IDE ka mezi më shumë se dy muaj zhvillim, por falë dëshirës dhe orëve të programimit që po i kushtojmë, tani mund të kemi një IDE me shumë funksionalitete të implementuara, deri në pikën që të jemi në gjendje të vazhdojmë me zhvillimin e NINJA- IDE duke përdorur NINJA-IDE, e cila nga ana tjetër na ndihmon të gjejmë mete dhe të përmirësojmë përdorshmërinë dhe praktikën e aplikacionit, përmes përvojës dhe përdorimit të vazhdueshëm të tij.

Projekti është zhvilluar nën një licencë falas GPL dhe kodi mund të merret përmes:

Disa nga tiparet aktuale të IDE janë:

  • Funksionet tipike të çdo IDE për trajtimin e skedarëve, Skedave, prerja automatike, Zmadhimi i Redaktorit, etj.
  • Duke qenë i shkruar në Python dhe duke përdorur PyQt, ai është ndër-platformor dhe është testuar në sistemet Linux, MAC OS X dhe Windows.
  • Theksimi i Sintaksës për një larmi të gjerë gjuhësh (megjithëse është i përqendruar në Python, ai siguron theksimin e sintaksës për gjuhët e tjera për lehtësinë e programuesit).
  • Mundësia e përdorimit të një Python Console nga i njëjti IDE.
  • Lejon menaxhimin e Projekteve në IDE, duke i njohur ato si Projekte Python dhe përmes IDE duke krijuar skedarë dhe dosje të reja, duke fshirë skedarët ekzistues, krijimin automatik të skedarëve "__init__" me informacionin brenda atij moduli, etj.
  • Lejon fshehjen dhe zhvendosjen e të gjitha paneleve të ndërfaqes në një mënyrë shumë të thjeshtë, duke lejuar që ajo të përshtatet me shijet e përdoruesit.
  • Ju lejon të shihni më shumë se një Redaktor në të njëjtën kohë vertikalisht ose horizontalisht.
  • Mund të zgjerohet përmes shtimit të Shtojcave (të cilat mund të krijohen duke përdorur një Shtojcë NINJA-IDE për thjeshtësi).
  • Ai menaxhon seancat IDE për të kujtuar se cilat skedarë dhe projekte ishin të hapura kur u mbyll dhe i rikuperon ato kur hap përsëri një shembull të saj.
  • Mbështetje për Përfundimin Automatik (duke qenë një kompletim automatik specifik i objektit që po aksesohet).
  • Përditësimet automatike.
  • Dhe shumë karakteristika të tjera!

Kush zhvillon NINJA-IDE?

NINJA-IDE filloi të zhvillohej nga Santiago Moreno dhe Diego Sarmentero, dhe 2 javë pas fillimit të projektit tashmë ishte duke u përdorur për ta zhvilluar atë. Falë njerëzve në Listën PyAr, Blogs, etj. Në një kohë shumë të shkurtër, shpërndarja e projektit do të thoshte se mund të mbështeteshim në Raportimin e Bugs nga Përdoruesit, Sugjerime në listën e postave të NINJA dhe madje edhe me kontribute të kodit nga përdorues dhe bashkëpunëtorë, disa prej të cilëve u bënë pjesë e NINJA-IDE me rolin e kryerësve, siç është rasti i: Martín Alderete, Juan Cabral dhe Matías Herranz.

Ky bashkëpunim dhe pjesëmarrje e fortë që po marrim nga komuniteti lejon që NINJA-IDE të rritet çdo ditë, duke përmirësuar dhe zbatuar tiparet që u nevojiten përdoruesve. Nga ana tjetër, komentet që marrim nga njerëzit që aktualisht përdorin NINJA-IDE, na motivojnë të vazhdojmë të punojmë shumë për këtë mjet, me të cilin duam të thjeshtojmë më tej zhvillimin e aplikacioneve Python.

Si vendosët cilat tipare të shtoni?

Në fillim të projektit, u mendua një strukturë që do ta lejonte atë të rritet dhe të përfshijë funksionalitete me kalimin e kohës, duke pasur si udhëzues dy faktorë kryesorë: Redaktuesin e Kodit dhe Menaxhimin e Projektit. Aplikimi filloi të ndërtohej duke u kujdesur për këto dy shtylla themelore dhe duke lejuar një bazë të mirë të tyre për të lehtësuar përfshirjen e karakteristikave të reja më vonë. Projekti kaloi nëpër faza të ndryshme, duke filluar me një redaktues të mirë me theksimin e sintaksës, duke vazhduar me menaxhimin e skedarëve të projektit, deri në shtimin e veçorive të shtojcave, plotësimin automatik, menaxhimin e sesioneve, etj. Python shpesh shihet si një gjuhë që ka vështirësi më të mëdha në sigurimin e informacionit në lidhje me kodin që po shkruhet pasi nuk mund të nxjerr përfundime nga objektet në kohën e programimit për shkak të shtypjes dinamike, etj.

Në disa raste, është e vërtetë që të kesh një shtypje të qartë mund të kryejë analiza më të thjeshta dhe më të hollësishme, por është gjithashtu e vërtetë që aktualisht ka shumë mjete dhe biblioteka për Python që ndihmojnë në eliminimin e kësaj tabuje që nuk është e mundur të kesh një IDE që ofron ndihmë reale për kodin që po gjenerohet. Kjo është arsyeja pse NINJA-IDE kërkon të lejojë ata programues që përdorin Python të zhvillojnë programet e tyre, të kenë të njëjtat lehtësira dhe ndihma që merren kur zhvillohen në Java ose .NET me disa nga IDE-të më të njohura aktualisht për ato gjuhë. Duke marrë rezultatet dhe përvojat e marra nga IDE për gjuhë të tjera, synohet të arrihet një IDE i krijuar për Python që gjeneron të njëjtën kënaqësi kur e përdor atë.

Për sugjerimin, vendimin dhe përfshirjen e veçorive të reja në NINJA-IDE, lista e postave zakonisht përdoret për të arritur një vendim kolektiv nga anëtarët që përbëjnë projektin, më shumë se gjithçka për të ditur se cili do të jetë qëllimi i kësaj karakteristike, në çfarë faze duhet të përfshihet dhe detaje të tjera. Shumë herë këto karakteristika motivohen nga disa funksionalitete interesante që shihen në një IDE tjetër, një ide nga një prej anëtarëve ose sugjerime nga grupi i përdoruesve. Në këtë mënyrë, çdokush, si përdorues, ashtu edhe zhvillues, mund të propozojë se cilat gjëra do të dëshironin të shihnin të zbatuara në NINJA-IDE dhe bazuar në arkitekturën e projektit mund të përcaktohet nëse është e nevojshme ta inkorporoni atë si pjesë të vetë IDE ose si një shtojcë, duke lejuar në të njëjtën kohë, di se për cilat ide po punohet dhe kush i merr nën kontroll ato për ta mbajtur të sinkronizuar grupin e punës.

Çfarë mund të presim nga NINJA-IDE?

NINJA-IDE lindi për të mbuluar një nevojë që na dukej e rëndësishme, dhe gjithashtu pamë që qasjet aktuale ndaj IDE-ve nuk ofronin mbulimin e nevojshëm.

Synimi ynë gjatë fillimit të këtij projekti ishte të krijonim një mjedis të përqendruar në zhvillimin e aplikacioneve Python, por gjithmonë duke marrë parasysh nevojën për të pasur një komunitet përdoruesish që do të na lejonte të përmirësonim përvojën e përdorimit të këtij mjeti, dhe aktualisht na bën shumë të lumtur të jetë në gjendje të llogarisë në komunitetin NINJA-IDE, pasi që falë përvojës dhe njohurive kolektive të përdoruesve është e mundur, që me sugjerimet e tyre, zhvillimi i projektit të përparojë më shpejt dhe të merren parasysh shumë më shumë detaje sesa nga një tjetër forma mund të neglizhohet.

Planet e së ardhmes

Aktualisht me zhvillimin e vazhdueshëm që po arrijmë, jemi afër lëshimit të versionit 1.0 të NINJA-IDE, i cili do të marrë emrin 'Kunai'. Në këtë version të parë do të jenë të pranishëm disa nga veçoritë e përmendura më parë, të cilat do të lejojnë që zhvilluesi të ketë një IDE të fuqishme dhe praktike, padyshim, si në çdo projekt, përmirësimet dhe tiparet e reja do të shfaqen për t'u zbatuar. Disa nga gjërat që synojnë të përfshihen në NINJA-IDE në versionet e ardhshme janë:

  • Rregullues grafik
  • Të jetë në gjendje të shohë lundrueshmërinë dhe lidhjen e moduleve dhe klasave të një projekti në mënyrë grafike (bazuar në BlueJ)
  • Mjetet e versionit të kodit mbështetës.
  • Lejoni redaktimin bashkëpunues të një dokumenti.
  • Projektuesi i ndërfaqeve Qt dhe Gtk të integruara në IDE.
  • Kornizat mbështetëse të tilla si:
  • Django
  • Motori i Google App
  • Dhe kjo është vetëm fillimi!

Çfarë mjetesh përdor NINJA-IDE?

IDE është zhvilluar duke përdorur kornizën PyQt për të gjithë trajtimin e Ndërfaqes Grafike dhe disa funksionalitete të tjera, megjithëse u bë një përpjekje për të abstraktuar funksione të caktuara sa më shumë që të jetë e mundur për të lejuar, nëse është e nevojshme nesër, për të transportuar NINJA-IDE në kornizat e tjera të tilla si Gtk. Qt bëri të mundur që të ketë një ndërfaqe solide dhe shumë të konfigurueshme, e cila bëri të mundur zgjatjen e çdo elementi të nevojshëm për të modifikuar sjelljen e tij dhe për ta përshtatur atë me nevojat e IDE.

Lidhur me theksimin e sintaksës, NINJA-IDE përdor sistemin e vet të theksimit të sintaksës duke përdorur funksionalitete Qt, dhe duke lejuar që ky sistem i theksimit të shtrihet lehtësisht në NINJA-IDE me krijimin e një skedari të thjeshtë JSON që përshkruan gjuhën që do të përfshihet. Kjo metodë siguron përmirësime në performancë, por për të mbuluar ato gjuhë që nuk njihen përmes këtij sistemi, përdorimi i Pygmenteve u inkorporua për theksimin e sintaksave të një larmie më të madhe gjuhësh. Megjithëse aktualisht po ngrihet mundësia që Pigmentet të zëvendësohen nga GNU Highlight për shkak të çështjeve të performancës.

Për plotësimin automatik, ri-faktorizimin dhe ato që i referohen konkluzionit të kodit, përdoret Rope, e cila është një bibliotekë e shkëlqyeshme, shumë e plotë për këtë lloj situate. Litari është një mjet që ju lejon të sillni karakteristikat e IDE-ve të gjuhës së shtypur në një IDE për Python. Aktualisht ne jemi gjithashtu duke punuar në përfshirjen e Kodit Kontrollues duke përdorur bibliotekën Pep8, pikërisht për të siguruar informacion në lidhje me statusin e kodit në lidhje me standardet Pep8.

Zgjatësia e NINJA-IDE

NINJA-IDE ka një sistem plugin mjaft të plotë që lejon integrimin e këtyre shtojcave si një element vendas i IDE. Shkrimi i shtojcave është mjaft i thjeshtë dhe madje mund të përdorni një Shtojcë NINJA-IDE për të shkruar Shtojca NINJA-IDE (rekursive?). Kjo Shtojcë «për të shkruar Shtojca» ju lejon të vendosni me cilat pjesë të IDE shtojca e re do të lidhet dhe automatikisht krijon strukturën e nevojshme të projektit, së bashku me përshkruesin e Shtojcës në mënyrë që NINJA-IDE ta interpretojë atë dhe klasën bazë të Kjo Shtojcë me metodat që do të duhet të ri-zbatohen, nga ana tjetër, kur të mbarojmë së shkruari Shtojcën, kjo na lejon ta paketojmë dhe pastaj ta shpërndajmë. Aktualisht janë në dispozicion 3 Shtojca për NINJA-IDE:

  • pastebin: e cila ju lejon të dërgoni kod në pastebin.com dhe kthen lidhjen që rezulton për të ndarë atë kod.
  • Projekti i shtojcës: personi përgjegjës për krijimin e projekteve Plugins për NINJA-IDE siç përmendëm.
  • Klasa e plotë: plotëson automatikisht disa struktura gjatë shkrimit të kodit Python, siç janë: krijoni automatikisht konstruktorin duke thirrur Klasat Prindore që janë të nevojshme, etj.

Për të konsultuar më shumë informacione se si të krijoni një Shtojcë për NINJA-IDE, mund të vizitoni Wiki e mëposhtme: http://ninja-ide.org/plugins/

kontakt

Shkarkoj

Ninja IDE tani është në dispozicion në paketat DEB dhe RPM. Pjesa tjetër e botës, natyrisht, gjithmonë mund ta shkarkojë kodin burimor dhe ta përpilojë atë. 🙂

Faleminderit Diego Sarmentero për ndarjen e këtij IDE të shkëlqyeshme me të gjithë ne!

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Patrick Arguello dijo

    Më pëlqen më shumë PyCharm. Sidoqoftë punë të mbarë urime dhe Përshëndetje. @patoargu

  2.   riccardo3284 dijo

    Përshëndetje për komunitetin Unë jam një tifoz i programimit në python, IDE është shumë i mirë, por në kompjuterin tim kam Ubuntu 10.10 dhe nuk mund të punoj me karakteristikat që shihni në figurën 4, imazhin ku shfaqen komandat ose klasat ose metodat e një objekti python, kjo karakteristikë është shumë e rëndësishme të paktën për mua pasi jo të gjitha komandat mësohen dhe në të njëjtën kohë do të na lejonte të mësonim më shumë tek programuesit, por kjo funksionalitet nuk del në ubuntu tim.

    Shpresoj se dikush nga komuniteti mund të më ndihmojë, emaili im është riccardo3284@gmail.com

  3.   marcoshipe dijo

    E lexova gabim, mbështetja për git nuk është zbatuar ende, por tashmë është si një shtojcë që ata planifikojnë të zbatojnë

  4.   Alex dijo

    ^^, fillova si anëtar i ekipit zhvillimor :), por në fund nuk kisha kohë ose njohuri të mjaftueshme dhe unë u detyrova ta lë atë :(. Por unë jam shumë i lumtur që në fund NInja IDE shkoi përpara dhe me rezultate kaq të mira.

  5.   marcoshipe dijo

    Unë tashmë e provoni ...
    shpresoj se kjo është mirë, por pasi që unë përdor python dhe qt më pëlqen xD
    Unë mendoj se ai fshin eric, dhe unë pashë dhe kjo ka mbështetje për git 😀 Unë mendoj se do të shkojmë mirë

  6.   Daniel dijo

    Unë mendoj se është e shkëlqyeshme, e vetmja gjë negative është që, duke qenë spanjisht-folës, ata krijojnë ndërfaqe në anglisht, ata duhet t'i bëjnë ato në spanjisht, IDES në anglisht ka shumë pse të mos bëjmë diçka që të gjithë ne që nuk merremi me anglisht e kuptojmë, përndryshe nuk e kam atë por i përgëzoj ata.

    të fala

  7.   Eugeniu Tambur dijo

    Më pëlqen, por për momentin është diçka e gjelbër, unë e kam provuar dhe më lë të habitur, dhe ajo rifillon windows explorer vazhdimisht dhe më shumë gabime, por sa më shpejt që ata ta rregullojnë atë dhe është diçka më e qëndrueshme padyshim që do të jetë shumë e suksesshme.

  8.   daniel dcs dijo

    Punë e shkëlqyeshme "e bërë në" Argjentinë !!!! Urime të sinqerta për të gjithë ekipin e zhvillimit !!!!

  9.   neyer dijo

    Përshëndetje për të gjithë, punë shumë e mirë, IDE është mjaft e rehatshme për t'u përdorur, do të ishte shumë interesante të përfshijë një redaktor të Ndërfaqeve Grafike të Përdoruesit, do të ishte gjithashtu interesante nëse ju lejon të gjeneroni dokumentacionin e projektit (Ndoshta në stilin e Javadocs).

    Vazhdoni