Ninja IDE: IDE, kas paredzēts Python

Beidzot kāds nolēma rakstīt IDE, piemēram, ļaudis Python kuru jebkurš parasts pilsonis var bez problēmām izmantot Linux. Jā, programmēšanai dažādās valodās ir vairāki IDE, ieskaitot Python, bet šim ir daži mazi triki uzmavā...

Kā sākās NINJA-IDE?

NINJA-IDE Tas ir dzimis ar dažiem e-pastiem, kas nosūtīti PyAr, kuru tēma parasti tiek dzirdēta diezgan bieži: "Kādu labu IDE Python es varu izmantot?", "Kāpēc Python nav IDE, kurā būtu šī vai tā funkcija?", un atbildes uz šiem e-pasta ziņojumiem vienmēr ir gandrīz vai vienādas, jo pašreizējie IDE, kurus mēs uzskatām par pieejamiem, lielākoties nebija paredzēti Python, bet piedāvāja iespēju to iekļaut, izmantojot spraudni un šajā veids Tas agrāk izmantoja ļoti smagus IDE, kas paredzēti citiem mērķiem, kur Python atbalsts faktiski bija minimāls, un tie, kas bija paredzēti Python, galu galā bija ļoti orientēti uz konkrētu sistēmu vai nebija brīvi. Tātad, motivēti ar tā izaicinājumu un interesantām idejām, kas tika izvirzītas adresātu sarakstā, mēs nolēmām pieiet šim projektam, koncentrējoties uz "Kādas funkcijas vajadzētu būt labam IDE Python programmētājam".

Paturot to prātā, mēs sākām izstrādāt NINJA-IDE, kura nosaukums ir rekursīvā akronīma atvasinājums: "Ninja nav tikai vēl viena IDE". IDE ir tikko attīstījies vairāk nekā divus mēnešus, taču, pateicoties vēlmei un programmēšanas stundām, kuras mēs tam veltām, mums jau var būt IDE ar daudzām funkcionalitātēm, līdz spējai turpināt attīstīt programmatūru. NINJA-IDE, izmantojot NINJA-IDE, kas savukārt palīdz mums atrast kļūdas un uzlabot lietojumprogrammas lietojamību un praktiskumu, izmantojot pieredzi un nepārtraukti to lietojot.

Projekts tiek izstrādāts ar bezmaksas GPL licenci, un kodu var iegūt, izmantojot:

Dažas no pašreizējām IDE funkcijām ir:

  • Jebkura IDE tipiskas funkcijas, lai apstrādātu failus, cilnes, automātisko atkāpi, redaktora tuvināšanu utt.
  • Tā ir rakstīta Python un izmantojot PyQt, tā ir starpplatforma un tika pārbaudīta Linux, MAC OS X un Windows sistēmās.
  • Sintakses izcelšana visdažādākajām valodām (lai gan tā ir orientēta uz Python, programmētāja ērtībai tā nodrošina sintakses izcelšanu citām valodām).
  • Iespēja izmantot Python konsoli no tā paša IDE.
  • Tas ļauj pārvaldīt projektus IDE, atpazīstot tos kā Python projektus un caur IDE izveidot jaunus failus un mapes, dzēst esošos failus, automātiski izveidot "__init__" failus ar informāciju šajā modulī utt.
  • Tas ļauj ļoti vienkārši slēpt un pārvietot visus interfeisa paneļus, ļaujot tos pielāgot lietotāja gaumei.
  • Ļauj vienlaikus skatīt vairākus redaktorus vertikāli vai horizontāli.
  • Paplašināms, pievienojot spraudņus (kurus vienkāršības labad var izveidot, izmantojot NINJA-IDE spraudni).
  • Tas pārvalda IDE sesijas, lai atcerētos, kuri faili un projekti bija atvērti, kad tie tika aizvērti, un tos atjauno, atkārtoti atverot tā instanci.
  • Atbalsts automātiskai pabeigšanai (ir īpaša automātiskā pabeigšana objektam, kuram tiek piekļūts).
  • Automātiski atjauninājumi.
  • Un daudzas citas funkcijas!

Kas izstrādā NINJA-IDE?

NINJA-IDE sāka izstrādāt Santjago Moreno un Djego Sarmentero, un 2 nedēļu laikā pēc projekta uzsākšanas to jau izmantoja tā izstrādei. Paldies ļaudīm no PyAr saraksta, emuāriem utt. Ļoti īsā laikā projekta izplatīšana nozīmēja, ka mēs varētu rēķināties ar lietotāju ziņojumu par kļūdām, ieteikumiem NINJA adresātu sarakstā un pat ar lietotāju un līdzstrādnieku koda ieguldījumiem, no kuriem daži kļuva daļa no NINJA-IDE ar izpildītāju lomu, kā tas ir Martín Alderete, Juan Cabral un Matías Herranz gadījumā.

Šī spēcīgā sadarbība un līdzdalība, ko mēs saņemam no kopienas, ļauj NINJA-IDE augt katru dienu, uzlabojot un ieviešot lietotājiem nepieciešamās funkcijas. Savukārt komentāri, ko saņemam no cilvēkiem, kuri pašlaik izmanto NINJA-IDE, mūs motivē turpināt smagi strādāt pie šī rīka, ar kuru vēlamies vēl vairāk vienkāršot Python lietojumprogrammu izstrādi.

Kā jūs izlēmāt, kuras funkcijas pievienot?

Projekta sākumā tika domāts par struktūru, kas ļautu tai laika gaitā augt un iekļaut funkcionalitātes, vadoties pēc diviem galvenajiem faktoriem: koda redaktora un projekta vadības. Lietojumprogrammu sāka veidot, rūpējoties par šiem diviem pamatpīlāriem un nodrošinot labu pamatu tiem, lai vēlāk atvieglotu jaunu funkciju iekļaušanu. Projekts izgāja dažādus posmus, sākot ar labu redaktoru ar sintakses izcelšanu, turpinot projekta failu pārvaldību, līdz pievienojot spraudņu funkcijas, automātisko pabeigšanu, sesiju pārvaldību utt. Python bieži tiek uzskatīts par valodu, kurai ir lielākas grūtības sniegt informāciju par rakstāmo kodu, jo programmēšanas laikā tas nevar secināt no objektiem dinamiskas rakstīšanas dēļ utt.

Dažos gadījumos ir taisnība, ka nepārprotama rakstīšana var veikt vienkāršākas un detalizētākas analīzes, taču taisnība ir arī tā, ka pašlaik Python ir daudz rīku un bibliotēku, kas palīdz novērst šo tabu, ka nav iespējams izveidot IDE kas sniedz reālu palīdzību par ģenerējamo kodu. Tāpēc NINJA-IDE cenšas ļaut tiem programmētājiem, kuri izmanto Python, izstrādāt savas programmas, tiem ir tādas pašas iespējas un palīglīdzekļi, kādi tiek iegūti, izstrādājot Java vai .NET ar dažiem IDE, kas pašlaik ir vislabāk zināmi šīm valodām. Ņemot vērā IDE iegūtos rezultātus un pieredzi citās valodās, ir paredzēts sasniegt Python izstrādātu IDE, kas, izmantojot to, rada tādu pašu gandarījumu.

Lai ierosinātu, izlemtu un iekļautu jaunas funkcijas NINJA-IDE, adresātu saraksts parasti tiek izmantots, lai panāktu projekta dalībnieku kopīgu lēmumu, lai uzzinātu, kāds būs šīs funkcijas mērķis. kādā posmā jāiekļauj un citas detaļas. Daudzas reizes šīs īpašības ir motivētas ar kādu interesantu funkcionalitāti, kas redzama citā IDE, kāda no dalībnieka ideju vai lietotāju grupas ieteikumiem. Tādā veidā ikviens, gan lietotājs, gan izstrādātājs, var ieteikt, kādas lietas viņi vēlētos redzēt ieviestās NINJA-IDE, un, pamatojoties uz projekta arhitektūru, to var definēt, ja tas ir nepieciešams iekļaut kā daļu no pašas IDE vai kā spraudni, ļaujot tajā pašā laikā zināt, pie kādām idejām tiek strādāts un kas pārņem tās kontroli, lai darba grupa būtu sinhronizēta.

Ko mēs varam sagaidīt no NINJA-IDE?

NINJA-IDE ir dzimis, lai segtu vajadzību, kas mums šķita svarīga, un mēs arī redzējām, ka pašreizējā pieeja IDE nenodrošināja nepieciešamo pārklājumu.

Sākot šo projektu, mūsu nolūks bija izveidot vidi, kas koncentrēta uz Python lietojumprogrammu izstrādi, taču vienmēr ņemot vērā nepieciešamību izveidot lietotāju kopienu, kas ļautu mums uzlabot šī rīka izmantošanas pieredzi, un šobrīd mūs ļoti priecē. lai varētu paļauties uz NINJA-IDE kopienu, jo, pateicoties lietotāju pieredzei un kolektīvajām zināšanām, iespējams, ka ar viņu ierosinājumiem projekta attīstība var virzīties ātrāk un tiek ņemta vērā daudz vairāk detaļu nekā no citas formu varēja nepamanīt.

Nākotnes plāni

Pašlaik ar nepārtrauktu attīstību, ko mēs sasniedzam, mēs esam tuvu NINJA-IDE 1.0 versijas izlaišanai, kurai tiks piešķirts nosaukums “Kunai”. Šajā pirmajā versijā būs pieejamas vairākas no iepriekš minētajām funkcijām, kas ļaus izstrādātājam iegūt stabilu un praktisku IDE, acīmredzot, tāpat kā jebkurā projektā, tiks ieviesti uzlabojumi un jaunas funkcijas. Dažas no lietām, kuras paredzēts iekļaut NINJA-IDE nākamajās versijās, ir:

  • Grafiskais atkļūdotājs
  • Spēt grafiski redzēt projekta moduļu un klašu navigāciju un saistību (pamatojoties uz BlueJ)
  • Atbalstiet koda versijas veidošanas rīkus.
  • Atļaut dokumenta rediģēšanu kopīgi.
  • QT un Gtk interfeisa dizainers ir integrēts IDE.
  • Sistēmas atbalsta, piemēram:
  • Django
  • Google App Engine
  • Un tas tikai sākas!

Kādus rīkus izmanto NINJA-IDE?

IDE tiek izstrādāts, izmantojot PyQt ietvaru, lai apstrādātu visu grafisko interfeisu un dažas citas funkcijas, lai gan tas tika mēģināts pēc iespējas vairāk abstrahēt noteiktas funkcijas, lai nepieciešamības gadījumā rīt ļautu NINJA-IDE pārnest uz citiem ietvariem, piemēram, Gtk. Qt ļāva izveidot stabilu un ļoti konfigurējamu saskarni, kas ļāva paplašināt katru nepieciešamo elementu, lai modificētu tā uzvedību un pielāgotu to IDE vajadzībām.

Runājot par sintakses izcelšanu, NINJA-IDE izmanto savu sintakses izcelšanas sistēmu, izmantojot Qt funkcionalitātes, un ļaujot šai izcelšanas sistēmai NINJA-IDE viegli paplašināt, izveidojot vienkāršu JSON failu, kas apraksta iekļaujamo valodu. Šī metode nodrošina veiktspējas uzlabojumus, taču, lai aptvertu tās valodas, kuras šī sistēma neatpazīst, tika izmantota Pygments izmantošana, lai izceltu vairāku valodu sintaksi. Lai gan veiktspējas apsvērumu dēļ pašlaik tiek izvirzīta iespēja Pygments aizstāt ar GNU Highlight.

Automātiskajai pabeigšanai, atjaunošanai un tām, kas attiecas uz koda secinājumu, tiek izmantota Rope, kas ir lieliska bibliotēka, ļoti pilnīga šāda veida situācijām. Virve ir rīks, kas ļauj jums ievadīt drukātās valodas IDE īpašības Python IDE. Pašlaik mēs strādājam arī pie Code Checking iekļaušanas, izmantojot Pep8 bibliotēku, lai precīzi sniegtu informāciju par koda statusu saistībā ar Pep8 standartiem.

NINJA-IDE paplašināmība

NINJA-IDE ir diezgan pilnīga spraudņu sistēma, kas ļauj šos spraudņus integrēt kā IDE vietējo elementu. Spraudņa rakstīšana ir diezgan vienkārša, un jūs pat varat izmantot NINJA-IDE spraudni, lai rakstītu NINJA-IDE spraudņus (rekursīvs?). Šis spraudnis «spraudņu rakstīšanai» ļauj jums izlemt, ar kurām IDE daļām jaunais spraudnis būs saistīts, un automātiski izveido nepieciešamo projekta struktūru kopā ar spraudņa deskriptoru, lai NINJA-IDE varētu to interpretēt un Savukārt šis spraudnis ar metodēm, kas būs jāatjauno, savukārt, pabeidzot spraudņa rakstīšanu, ļauj mums to iesaiņot un pēc tam izplatīt. Pašlaik ir pieejami 3 NINJA-IDE spraudņi:

  • Pastebins: kas ļauj nosūtīt kodu uz pastebin.com un atgriež iegūto saiti, lai kopīgotu šo kodu.
  • PluginProject: persona, kas atbildīga par Plugins projektu izveidi NINJA-IDE, kā mēs minējām.
  • Klases aizpildītājs: rakstot Python kodu, automātiski pabeidz dažas struktūras, piemēram: izveidojiet konstruktoru automātiski, izsaucot nepieciešamās vecāku klases utt.

Lai uzzinātu vairāk par to, kā izstrādāt spraudni NINJA-IDE, varat apmeklēt šo Wiki: http://ninja-ide.org/plugins/

kontakts

Izlādēt

Ninja IDE tagad ir pieejams DEB un RPM paketēs. Protams, pārējā pasaule vienmēr var lejupielādēt avota kodu un to apkopot. 🙂

Paldies Djego Sarmentero par dalīšanos šajā izcilajā IDE ar mums visiem!

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Patrīcio Argiello teica

    Man tiešām labāk patīk PyCharm. Tomēr labs darbs apsveicu un ar cieņu. @patoargu

  2.   Riccardo3284 teica

    Sveiciens kopienai Es esmu ventilators no programmēšanas pitonā, IDE ir ļoti labs, bet manā datorā ir Ubuntu 10.10, un es nevaru strādāt ar funkcijām, kuras redzat 4. attēlā, ar attēlu, kur tiek parādītas komandas vai klases vai metodes Runājot par pitona objektu, šī funkcija ir ļoti svarīga vismaz man, jo ne visas komandas ir apgūtas, un tajā pašā laikā tas ļautu mums uzzināt vairāk programmētājiem, taču mana Ubuntu šī funkcionalitāte neiznāk.

    Es ceru, ka kāds no kopienas var man palīdzēt, mans e-pasts ir riccardo3284@gmail.com

  3.   Markosiče teica

    Es to nepareizi izlasīju, atbalsts git vēl nav ieviests, bet tas jau ir kā spraudnis, kuru viņi plāno ieviest 🙂

  4.   Alex teica

    ^^, es sāku kā izstrādātāju komandas loceklis :), bet beigās man nebija ne laika, ne pietiekamu zināšanu, un man nācās no tām atteikties :(. Bet esmu ļoti priecīga, ka beigās NInja IDE gāja uz priekšu un ar tik labiem rezultātiem.

  5.   Markosiče teica

    Es to jau izmēģinu 😀
    cerams, ka tas ir labi, bet, tā kā es izmantoju pitonu un qt, man patīk xD
    Es domāju, ka viņš noslauka eriku, un es paskatījos, un tam ir atbalsts gitam 😀 Es domāju, ka mēs sapratīsimies

  6.   Daniel teica

    Manuprāt, tas ir lieliski, vienīgais negatīvais ir tas, ka, būdami spāniski runājoši, viņi izveido saskarnes angļu valodā, viņiem tos vajadzētu izveidot spāņu valodā, IDES angļu valodā, ir daudz iemeslu, kāpēc gan neizdarīt kaut ko tādu, ko mēs visi, kas netiek galā ar angļu valodu, saprotam, pretējā gadījumā man nav neviena bet apsveic tos.

    Sveicieni

  7.   Jevgeņijs Tamburs teica

    Man tas patīk, bet šobrīd tas ir kaut kas zaļš, es to esmu pārbaudījis, un tas mani apstulbina, un tas pastāvīgi restartē Windows Explorer un vairāk kļūdu, taču, tiklīdz viņi to novērsīs un tas būs kaut kas stabilāks, tas neapšaubāmi būs ļoti veiksmīgs.

  8.   Daniels dcs teica

    Izcils darbs "izgatavots" Argentīnā !!!! Sirsnīgi apsveicam visu izstrādes komandu !!!!

  9.   Neijers teica

    Sveiciens visiem, ļoti labs darbs, IDE ir diezgan ērti lietojams, būtu ļoti interesanti iekļaut grafisko lietotāju saskarņu redaktoru, tas būtu arī aizraujoši, ja tas ļautu jums ģenerēt projekta dokumentāciju (varbūt stilā Javadocs).

    Turpini.