Sa wakas ay may isang nagdesign upang magsulat isang IDE tulad ng mga tao para sa Python na maaaring gamitin ng sinumang ordinaryong mamamayan nang walang mga problema sa Linux. Oo, maraming mga IDE para sa pagprograma sa iba't ibang mga wika, kabilang ang Python, ngunit ang isang ito ay may ilang maliit na trick up ang manggas nito... |
Paano nagsimula ang NINJA-IDE?
NINJA-IDE Ipinanganak ito ng ilang mga email na ipinadala sa PyAr, na ang tema ay madalas na maririnig: "Anong magandang IDE para sa Python ang magagamit ko?", "Bakit wala isang IDE para sa Python na mayroon nito o tampok na iyon?", at ang mga tugon sa mga email na ito ay laging nagtatapos na magiging higit pa o pareho, dahil ang mga kasalukuyang IDE na nakita naming magagamit, para sa pinaka-bahagi, ay hindi idinisenyo para sa Python, ngunit inalok ang pagpipilian na isama ito sa pamamagitan ng isang Plugin at dito paraan Ginagamit nito ang paggamit ng napakabibigat na mga IDE na idinisenyo para sa iba pang mga layunin, kung saan ang suporta para sa Python ay talagang minimal, at ang mga para sa Python ay natapos na napaka oriented sa isang tukoy na Framework o hindi Libre. Kaya, na uudyok ng hamon na kinakatawan nito, at ng mga kagiliw-giliw na ideya na itinaas sa mailing list, nagpasya kaming lapitan ang proyektong ito sa pamamagitan ng pagtuon "Ano ang mga tampok na dapat magkaroon ng magandang IDE para sa isang programmer ng Python".
Sa pag-iisip na ito sinimulan namin ang pag-unlad ng NINJA-IDE, na ang pangalan ay nagmula sa recursive akronim: "Ang Ninja Ay Hindi Lamang Isa pang IDE". Ang IDE ay may bahagyang higit sa dalawang buwan ng pag-unlad, ngunit salamat sa pagnanais at oras ng programa na inilalaan namin dito, maaari na kaming magkaroon ng isang IDE na may maraming mga pagpapaandar na ipinatupad, sa punto na maipagpatuloy ang pag-unlad ng NINJA- IDE gamit ang NINJA-IDE, na tumutulong naman sa amin na makahanap ng mga bug at mapagbuti ang kakayahang magamit at pagiging praktiko ng aplikasyon, sa pamamagitan ng karanasan at patuloy na paggamit nito.
Ang proyekto ay binuo sa ilalim ng isang libreng lisensya ng GPL at ang code ay maaaring makuha sa pamamagitan ng:
Ang ilan sa mga kasalukuyang tampok ng IDE ay:
- Mga karaniwang pag-andar ng anumang IDE para sa paghawak ng mga file, Mga Tab, awtomatikong indentation, Mag-zoom in Editor, atbp.
- Ang pagiging nakasulat sa Python at gumagamit ng PyQt, ito ay cross-platform at nasubukan sa mga system ng Linux, MAC OS X, at Windows.
- Ang pag-highlight ng Syntax para sa isang iba't ibang mga wika (kahit na ito ay nasa gitna ng Python, nagbibigay ito ng pag-highlight ng syntax para sa iba pang mga wika para sa kaginhawaan ng programmer).
- Posibilidad ng paggamit ng isang Python Console mula sa parehong IDE.
- Pinapayagan nito ang pamamahala ng Mga Proyekto sa IDE, na kinikilala ang mga ito bilang Mga Proyekto sa Python at sa pamamagitan ng IDE na lumilikha ng mga bagong file at folder, tinatanggal ang mga mayroon nang mga file, awtomatikong paglikha ng mga "__init__" na mga file na may impormasyon sa loob ng modyul na iyon, atbp.
- Pinapayagan nitong itago at ilipat ang lahat ng mga interface panel sa isang napaka-simpleng paraan, na pinapayagan itong maiakma sa kagustuhan ng gumagamit.
- Pinapayagan kang tumingin ng higit sa isang Editor nang sabay-patayo o pahalang.
- Extensible sa pamamagitan ng pagdaragdag ng Mga Plugin (na maaaring malikha gamit ang isang NINJA-IDE Plugin para sa pagiging simple).
- Namamahala ito ng mga sesyon ng IDE, upang matandaan kung aling mga file at proyekto ang nakabukas nang sarado ito at mabawi ang mga ito kapag binubuksan muli ang isang halimbawa nito.
- Suporta para sa Pagkumpleto ng Auto (pagiging isang tukoy na awtomatikong pagkumpleto ng bagay na na-access).
- Mga Awtomatikong Pag-update.
- At marami pang mga tampok!
Sino ang bubuo ng NINJA-IDE?
Ang NINJA-IDE ay nagsimulang mabuo nina Santiago Moreno at Diego Sarmentero, at 2 linggo pagkatapos simulan ang proyekto ay ginagamit na ito upang paunlarin ito. Salamat sa mga tao sa Listahan ng PyAr, Mga Blog, atbp. Sa isang napakaikling panahon, ang pagsasabog ng proyekto ay nangangahulugan na maaari naming mabibilang sa Mga Ulat ng Mga bug ng Mga Gumagamit, Mga Mungkahi sa listahan ng pag-mail ng NINJA at kahit na may mga kontribusyon sa code ng mga gumagamit at nagtutulungan, kung saan ang ilan ay naging bahagi ng NINJA-IDE na may papel na ginagampanan ng mga tagagawa, tulad ng kaso nina: Martín Alderete, Juan Cabral at Matías Herranz.
Ang malakas na pakikipagtulungan at pakikilahok na natatanggap namin mula sa komunidad ay nagbibigay-daan sa NINJA-IDE na lumago araw-araw, pagpapabuti at pagpapatupad ng mga tampok na kailangan ng mga gumagamit. Kaugnay nito, ang mga komentong natatanggap mula sa mga taong kasalukuyang gumagamit ng NINJA-IDE, ay pinasisigla kaming magpatuloy sa pagsusumikap sa tool na ito, kung saan nais naming higit na gawing simple ang pagbuo ng mga aplikasyon ng Python.
Paano mo napagpasyahan kung aling mga tampok ang idaragdag?
Sa simula ng proyekto, naisip ang isang istraktura na papayagan itong lumaki at isama ang mga pag-andar sa paglipas ng panahon, na may gabay bilang dalawang pangunahing kadahilanan: ang Code Editor at Project Management. Ang aplikasyon ay nagsimulang mabuo alagaan ang dalawang pangunahing mga haligi at pahintulutan ang isang mahusay na base ng mga ito upang mapabilis ang pagsasama ng mga bagong tampok sa paglaon. Ang proyekto ay dumaan sa iba't ibang yugto, nagsisimula sa isang mahusay na editor na may pag-highlight ng syntax, patuloy sa pamamahala ng mga file ng proyekto, hanggang sa pagdaragdag ng mga tampok ng plugin, awtomatikong pagkumpleto, pamamahala ng session, atbp. Ang Python ay madalas na nakikita bilang isang wika na may higit na paghihirap sa pagbibigay ng impormasyon tungkol sa code na isinusulat dahil hindi ito maaaring maghinuha mula sa mga bagay sa oras ng pagprograma dahil sa pabagu-bagong pagta-type, atbp.
Sa ilang mga kaso, totoo na ang pagkakaroon ng isang tahasang pagta-type ay maaaring magsagawa ng mas simple at mas detalyadong mga pagsusuri, ngunit totoo rin na sa kasalukuyan maraming mga tool at aklatan para sa Python na makakatulong na alisin ang bawal na ito na hindi posible na magkaroon ng isang IDE na nagbibigay ng totoong tulong sa code na nabuo. Iyon ang dahilan kung bakit hinahangad ng NINJA-IDE na payagan ang mga programmer na gumagamit ng Python upang paunlarin ang kanilang mga programa, magkaroon ng parehong mga pasilidad at pantulong na nakuha kapag umuunlad sa Java o .NET kasama ang ilan sa mga pinakatanyag na IDE na kasalukuyang para sa mga wikang iyon. Kinukuha ang mga resulta at karanasan na nakuha mula sa mga IDE para sa iba pang mga wika, inilaan ito upang makamit ang isang IDE na idinisenyo para sa Python na bumubuo ng parehong kasiyahan kapag ginagamit ito.
Para sa mungkahi, pagpapasya at pagsasama ng mga bagong tampok sa NINJA-IDE, ang listahan ng pag-mail ay karaniwang ginagamit upang makamit ang isang sama-samang desisyon ng mga kasapi na bumubuo sa proyekto, higit sa anuman upang malaman kung ano ang magiging layunin ng tampok na ito, sa anong yugto ang dapat isama at iba pang mga detalye. Maraming mga beses ang mga katangiang ito ay na-uudyok ng ilang mga kagiliw-giliw na pag-andar na nakikita sa isa pang IDE, isang ideya mula sa isa sa mga miyembro o mungkahi mula sa pangkat ng gumagamit. Sa ganitong paraan, ang sinuman, kapwa gumagamit at developer, ay maaaring magmungkahi kung anong mga bagay ang nais nilang makita na ipinatupad sa NINJA-IDE at batay sa arkitektura ng proyekto maaari itong tukuyin kung kinakailangan upang isama ito bilang bahagi ng IDE mismo o bilang isang plugin, na pinapayagan sa parehong oras, alamin kung ano ang mga ideya na pinagtatrabahuhan at kung sino ang kontrolin ang mga ito upang mapanatili ang pag-synchronize ng pangkat ng trabaho.
Ano ang maaari nating asahan mula sa NINJA-IDE?
Ipinanganak ang NINJA-IDE upang masakop ang isang pangangailangan na tila mahalaga sa amin, at nakita rin namin na ang kasalukuyang mga diskarte sa mga IDE ay hindi nagbibigay ng kinakailangang saklaw.
Ang aming hangarin kapag sinimulan ang proyektong ito ay upang lumikha ng isang kapaligiran na nakatuon sa pagpapaunlad ng mga aplikasyon ng Python, ngunit palaging isinasaalang-alang ang pangangailangan na magkaroon ng isang komunidad ng mga gumagamit na magpapahintulot sa amin na mapabuti ang karanasan sa paggamit ng tool na ito, at kasalukuyang nagpapasaya sa amin upang maasahan ang pamayanan ng NINJA-IDE, dahil salamat sa karanasan at kolektibong kaalaman ng mga gumagamit posible, na sa kanilang mga mungkahi, ang pag-unlad ng proyekto ay maaaring mas mabilis na sumulong at maraming iba pang mga detalye ang isinasaalang-alang kaysa sa iba maaaring hindi napansin.
Mga plano sa hinaharap
Kasalukuyan sa patuloy na pag-unlad na nakakamit, malapit na kami sa paglabas ng bersyon 1.0 ng NINJA-IDE, na tatanggap ng pangalang 'Kunai'. Sa unang bersyon na ito marami sa mga naunang nabanggit na tampok ay naroroon, na magpapahintulot sa developer na magkaroon ng isang matatag at praktikal na IDE, malinaw naman, tulad ng sa anumang proyekto, lalabas ang mga pagpapabuti at mga bagong tampok upang maipatupad. Ang ilan sa mga bagay na inilaan na isama sa NINJA-IDE sa mga hinaharap na bersyon ay:
- Graphic Debugger
- Upang makita ang kakayahang mai-navigate at ugnayan ng mga modyul at klase ng isang proyekto nang grapiko (batay sa BlueJ)
- Mga tool sa pag-bersyon ng suporta sa code.
- Payagan ang sama-samang pag-edit ng isang dokumento.
- Ang taga-disenyo ng mga interface ng Qt at Gtk na isinama sa IDE.
- Suporta ng mga Framework tulad ng:
- Django
- Google App Engine
- At nagsisimula pa lang ito!
Anong mga tool ang ginagamit ng NINJA-IDE?
Ang IDE ay binuo gamit ang PyQt framework para sa lahat ng paghawak ng Graphical Interface at ilang iba pang mga pagpapaandar, bagaman isang pagtatangka ay ginawa upang i-abstract ang ilang mga pag-andar hangga't maaari upang payagan, kung kinakailangan bukas, sa port NINJA-IDE sa iba pang mga balangkas tulad ng Gtk. Ginawang posible ang Qt na magkaroon ng isang solid at lubos na maisasaayos na interface, na naging posible upang pahabain ang bawat elemento na kinakailangan upang baguhin ang pag-uugali nito at iakma ito sa mga pangangailangan ng IDE.
Tungkol sa pag-highlight ng syntax, ang NINJA-IDE ay gumagamit ng sarili nitong system ng pag-highlight ng syntax gamit ang Qt functionalities, at pinapayagan ang sistemang ito ng pag-highlight na madaling mapalawak sa NINJA-IDE na may paglikha ng isang simpleng file na JSON na naglalarawan sa wikang isasama. Ang pamamaraang ito ay nagbibigay ng mga pagpapabuti sa pagganap, ngunit upang masakop ang mga wikang hindi kinikilala sa pamamagitan ng sistemang ito, ang paggamit ng Pygments ay isinasama para sa pag-highlight ng syntax ng isang higit na iba't ibang mga wika. Bagaman ang posibilidad ng Pygments na mapalitan ng GNU Highlight para sa mga kadahilanan sa pagganap ay kasalukuyang nakataas.
Para sa awtomatikong pagkumpleto, muling pag-react, at mga tumutukoy sa paghihinuha ng code, ginagamit ang lubid, na kung saan ay isang mahusay na silid-aklatan, napaka kumpleto para sa ganitong uri ng sitwasyon. Ang lubid ay isang tool na nagbibigay-daan upang dalhin sa isang IDE para sa mga katangian ng Python ng mga IDE ng mga na-type na wika. Sa kasalukuyan ay nagtatrabaho rin kami sa pagsasama ng Code Checking gamit ang library ng Pep8, tiyak na magbigay ng impormasyon tungkol sa katayuan ng code na may kaugnayan sa mga pamantayan ng Pep8.
Pagpapalawak ng NINJA-IDE
Ang NINJA-IDE ay may isang medyo kumpletong sistema ng plugin na nagpapahintulot sa pagsasama ng mga plugin na ito bilang isang katutubong elemento ng IDE. Ang pagsulat ng plugin ay medyo simple at maaari mo ring gamitin ang isang NINJA-IDE Plugin upang isulat ang NINJA-IDE Plugins (recursive?). Ang Plugin na ito «upang sumulat ng Mga Plugin» ay nagbibigay-daan sa iyo upang magpasya kung aling mga bahagi ng IDE ang bagong plugin ay maiuugnay at awtomatikong lumilikha ng kinakailangang istraktura ng proyekto, kasama ang tagapaglaraw ng Plugin upang ang NINJA-IDE ay maaaring bigyang kahulugan ito at ang batayang klase ng Ang Plugin na ito kasama ang mga pamamaraan na kailangang muling magamit, sa turn, kapag natapos namin ang pagsusulat ng Plugin, pinapayagan kaming i-package ito at pagkatapos ay ipamahagi. Sa kasalukuyan mayroong 3 mga Plugin para sa NINJA-IDE na magagamit:
- pastebin: na nagbibigay-daan sa iyo upang magpadala ng code sa pastebin.com at ibabalik ang nagresultang link upang ibahagi ang code na iyon.
- PluginProject: ang taong namamahala sa paglikha ng mga proyekto ng Plugins para sa NINJA-IDE tulad ng nabanggit namin.
- ClassCompleter: awtomatikong nakumpleto ang ilang mga istraktura habang nagsusulat ng Python code, tulad ng: awtomatikong lumikha ng tagapagbuo sa pamamagitan ng pagtawag sa Mga Klase ng Magulang na kinakailangan, atbp.
Upang kumunsulta sa karagdagang impormasyon tungkol sa kung paano bumuo ng isang Plugin para sa NINJA-IDE, maaari mong bisitahin ang sumusunod na Wiki: http://ninja-ide.org/plugins/
contact
- NINJA-IDE sa Twitter: http://twitter.com/ninja_ide
Pagdidiskarga
Ang Ninja IDE ay magagamit na ngayon sa DEB at RPM packages. Ang natitirang bahagi ng mundo, siyempre, maaaring palaging i-download ang source code at ipagsama ito. 🙂
Mas gusto ko talaga ang PyCharm. Gayunman magandang trabaho pagbati at pagbati. @patoargu
Pagbati sa komunidad Ako ay isang tagahanga ng programa sa sawa, ang IDE ay napakahusay ngunit sa aking computer mayroon akong Ubuntu 10.10 at hindi ako maaaring gumana sa mga tampok na nakikita mo sa pigura 4, ang imahe kung saan ipinakita ang mga utos o klase o pamamaraan. ng isang sawa na bagay, ang katangiang ito ay napakahalaga kahit papaano para sa akin dahil hindi lahat ng mga utos ay natutunan at sa parehong oras ay papayagan kaming matuto nang higit pa sa mga programmer, ngunit ang pagpapaandar na iyon ay hindi lalabas sa aking Ubuntu.
Inaasahan kong may makakatulong sa akin mula sa pamayanan, ang email ko riccardo3284@gmail.com
Mali ang nabasa ko, ang suporta para sa git ay hindi pa naipatupad, ngunit ito ay bilang isang plugin na balak nilang ipatupad 🙂
^^, nagsimula ako bilang miyembro ng development team :), ngunit sa huli wala akong oras o sapat na kaalaman at kailangan ko itong isuko :(. Ngunit masayang-masaya ako na sa huli NInja IDE nagpatuloy at may mahusay na mga resulta.
Sinubukan ko na 😀
sana ito mabuti, ngunit dahil gumamit ako ng sawa at qt gusto ko ang xD
Hulaan ko na pinunasan niya si eric, at tiningnan ko at may suporta ito para sa git 😀 Sa tingin ko magkakasundo kami
Sa palagay ko napakahusay, ang negatibong bagay lamang ay, na nagsasalita ng Espanya, lumilikha sila ng mga interface sa Ingles, dapat gawin nila ito sa Espanyol, IDES sa Ingles maraming bakit hindi gumawa ng isang bagay na lahat sa atin na hindi hawakan ang Ingles ay nakakaintindi, kung hindi man wala ako ngunit batiin mo sila.
Regards
Gusto ko ito, ngunit sa ngayon ito ay isang bagay na berde, nasubukan ko ito at naiwan ako nito, at na-restart nito ang windows explorer na patuloy at mas maraming mga pagkakamali, ngunit sa lalong madaling ayusin nila ito at ito ay isang bagay na mas matatag ito ay walang alinlangan na napaka-matagumpay.
Mahusay na trabaho "ginawa sa" Argentina !!!! Taos-pusong pagbati sa buong koponan sa pag-unlad !!!!
Pagbati sa lahat, napakahusay na trabaho, ang IDE ay lubos na komportable na gamitin, magiging napaka-interesante na isama ang isang editor ng Mga Grapeng User ng Grapiko, magiging kaakit-akit din kung papayagan ka nitong makabuo ng dokumentasyon ng proyekto (Marahil sa istilo ng Javadoc).
Tuloy lang.