Ninja IDE: IDE, предназначена за Python

Накрая някой се е удостоил да пише IDE като хората за Python което всеки обикновен гражданин може да използва без проблеми в Linux. Да, има няколко IDE за програмиране на различни езици, включително Python, но този има няколко малки трика в ръкава си...

Как започна NINJA-IDE?

НИНДЖА-IDE Той е роден от някои имейли, изпратени до PyAr, чиято тема обикновено се чува доста често: „Каква добра IDE за Python мога да използвам?“, „Защо няма IDE за Python, която има тази или онази функция?“, а отговорите на тези имейли винаги в крайна сметка са горе-долу еднакви, тъй като текущите IDE, които намираме за достъпни, в по-голямата си част не са проектирани за Python, но предлагат опцията да го включат чрез плъгин и в това начин Използваше се много тежки IDE, проектирани за други цели, където поддръжката на Python всъщност беше минимална, а тези, които бяха за Python, в крайна сметка бяха много ориентирани към определена рамка или не бяха безплатни. И така, мотивирани от предизвикателството, което представляваше, и от интересни идеи, повдигнати в пощенския списък, решихме да подходим към този проект, като се фокусираме върху „Какви функции трябва да има една добра IDE за програмист на Python“.

Имайки предвид това, ние започнахме разработването на NINJA-IDE, чието име е производно на рекурсивното съкращение: "Нинджата не е просто още една IDE". IDE има едва повече от два месеца развитие, но благодарение на желанието и часовете на програмиране, които му посвещаваме, вече можем да имаме IDE с много функционалности, внедрени, до степен да можем да продължим с развитието на NINJA-IDE с помощта на NINJA-IDE, което от своя страна ни помага да откриваме грешки и да подобряваме използваемостта и практичността на приложението, чрез опит и непрекъснато използване на него.

Проектът е разработен под безплатен GPL лиценз и кодът може да бъде получен чрез:

Някои от текущите характеристики на IDE са:

  • Типични функционалности на всяка IDE за работа с файлове, раздели, автоматично отстъпване, Zoom in Editor и др.
  • Написан на Python и използващ PyQt, той е междуплатформен и е тестван на Linux, MAC OS X и Windows системи.
  • Подсветка на синтаксиса за голямо разнообразие от езици (въпреки че е съсредоточена върху Python, тя осигурява подчертаване на синтаксиса за други езици за удобство на програмиста).
  • Възможност за използване на Python конзола от същата IDE.
  • Тя позволява управление на проекти в IDE, разпознавайки ги като Python проекти и чрез IDE създаване на нови файлове и папки, изтриване на съществуващи файлове, автоматично създаване на "__init__" файлове с информацията в този модул и т.н.
  • Тя позволява скриване и преместване на всички интерфейсни панели по много прост начин, позволявайки тя да бъде адаптирана към вкуса на потребителя.
  • Позволява ви да видите повече от един редактор едновременно вертикално или хоризонтално.
  • Разширяем чрез добавяне на приставки (които могат да бъдат създадени с помощта на приставка NINJA-IDE за простота).
  • Той управлява IDE сесии, за да запомни кои файлове и проекти са били отворени, когато е бил затворен, и ги възстановява при отваряне на екземпляр от него отново.
  • Поддръжка за автоматично довършване (като специфично автоматично довършване на обекта, до който се осъществява достъп).
  • Автоматични актуализации.
  • И много други функции!

Кой разработва NINJA-IDE?

NINJA-IDE започна да се разработва от Сантяго Морено и Диего Сарментеро и в рамките на 2 седмици от стартирането на проекта той вече се използва за разработването му. Благодаря на хората от списъка на PyAr, блоговете и т.н. За много кратко време разпространението на проекта означаваше, че можем да разчитаме на доклад за грешки от потребители, предложения в пощенския списък на NINJA и дори с принос на кодове от потребители и сътрудници, от които някои станаха част от NINJA-IDE с роля на ангажиращите, какъвто е случаят с: Мартин Алдерете, Хуан Кабрал и Матиас Еранц.

Това силно сътрудничество и участие, което получаваме от общността, позволява на NINJA-IDE да се развива всеки ден, подобрявайки и прилагайки функции, от които потребителите се нуждаят. На свой ред коментарите, които получаваме от хора, които в момента използват NINJA-IDE, ни мотивират да продължим да работим усилено върху този инструмент, с който искаме допълнително да опростим разработката на приложения на Python.

Как решихте кои функции да добавите?

В началото на проекта се смяташе, че структура ще позволи да се развива и да включва функционалности с течение на времето, имайки за ориентир два основни фактора: редактор на кодове и управление на проекти. Приложението започна да се изгражда, като се грижи за тези два основни стълба и позволява добра база от тях, за да улесни включването на нови функции по-късно. Проектът премина през различни етапи, започвайки с добър редактор с подчертаване на синтаксиса, продължавайки с управлението на файловете на проекта, до добавяне на функции на приставки, автоматично довършване, управление на сесии и т.н. Python често се разглежда като език, който има по-големи трудности при предоставянето на информация за кода, който се пише, тъй като не може да прави изводи от обекти по време на програмирането поради динамично писане и т.н.

В някои случаи е вярно, че наличието на изрично въвеждане може да извърши по-опростени и подробни анализи, но също така е вярно, че в момента има много инструменти и библиотеки за Python, които помагат да се премахне това табу, че не е възможно да има IDE, който предоставя реална помощ за генерирания код. Ето защо NINJA-IDE се стреми да позволи на програмистите, които използват Python да разработват своите програми, да имат същите съоръжения и помощни средства, които се получават при разработването в Java или .NET с някои от IDE, които в момента са най-известни за тези езици. Вземайки резултатите и опита, получени от IDE за други езици, целта е да се постигне IDE, проектирана за Python, която генерира същото удовлетворение при използването му.

За предложение, решение и включване на нови функции в NINJA-IDE, пощенският списък обикновено се използва за постигане на колективно решение от членовете, съставляващи проекта, повече от всичко, за да се знае каква ще бъде целта на тази функция, в какъв етап трябва да бъде включен и други подробности. Много пъти тези характеристики са мотивирани от някаква интересна функционалност, видяна в друга IDE, идея от някой от членовете или предложения от потребителската група. По този начин всеки, както потребител, така и разработчик, може да предложи какви неща би искал да види внедрени в NINJA-IDE и въз основа на архитектурата на проекта може да бъде дефиниран, ако е необходимо да се включи като част от самата IDE или като плъгин, позволяващ едновременно да знае по какви идеи се работи и кой поема контрола върху тях, за да поддържа работната група синхронизирана.

Какво можем да очакваме от NINJA-IDE?

NINJA-IDE е роден, за да покрие нужда, която ни се струва важна, и също така видяхме, че настоящите подходи към IDE не осигуряват необходимото покритие.

Намерението ни при стартирането на този проект беше да създадем среда, фокусирана върху разработването на приложения на Python, но винаги вземайки предвид необходимостта да имаме общност от потребители, която да ни позволи да подобрим опита от използването на този инструмент, и в момента ни прави много радвам се, че мога да разчитам на общността NINJA-IDE, тъй като благодарение на опита и колективните знания на потребителите е възможно, с техните предложения, развитието на проекта да напредне по-бързо и да се вземат предвид много повече подробности, отколкото от друга форма може да се пренебрегне.

Бъдещи планове

В момента с непрекъснатото развитие, което постигаме, сме близо до пускането на версия 1.0 на NINJA-IDE, която ще получи името „Kunai“. В тази първа версия ще присъстват няколко от споменатите по-рано функции, което ще позволи на разработчика да има стабилна и практична IDE, очевидно, както във всеки проект, ще се появят подобрения и нови функции за внедряване. Някои от нещата, които са предназначени да бъдат включени в NINJA-IDE в бъдещи версии, са:

  • Графичен дебъгер
  • За да можете да видите графично навигацията и връзката на модулите и класовете на даден проект (въз основа на BlueJ)
  • Поддръжка на инструменти за управление на версии.
  • Разрешаване на съвместно редактиране на документ.
  • Qt и Gtk дизайнер на интерфейси, интегрирани в IDE.
  • Поддръжка на рамки като:
  • Django
  • Google App Engine
  • И това тепърва започва!

Какви инструменти използва NINJA-IDE?

IDE е разработен с помощта на рамката PyQt за цялата работа с графичния интерфейс и някои други функционалности, въпреки че беше направен опит да се абстрахират определени функции, доколкото е възможно, за да се позволи, ако е необходимо утре, да се пренесе NINJA-IDE към други рамки като като Gtk. Qt направи възможно наличието на солиден и силно конфигурируем интерфейс, който направи възможно разширяването на всеки необходим елемент, за да модифицира поведението му и да го адаптира към нуждите на IDE.

Що се отнася до подчертаването на синтаксиса, NINJA-IDE използва собствена система за подчертаване на синтаксис, използвайки Qt функционалности, и позволява тази система за подчертаване да бъде лесно разширяема в NINJA-IDE със създаването на прост JSON файл, който описва езика, който трябва да бъде включен. Този метод осигурява подобрения в производителността, но за да обхване онези езици, които не са разпознати чрез тази система, е включена използването на Pygments за подчертаване на синтаксиса на по-голямо разнообразие от езици. Въпреки че в момента се повдига възможността пигментите да бъдат заменени с GNU Highlight поради проблеми с производителността.

За автоматично завършване, рефакторинг и тези, които се отнасят до извод на код, се използва Rope, което е отлична библиотека, много пълна за този тип ситуации. Въжето е инструмент, който ви позволява да въведете характеристиките на IDE на типизиран език в IDE за Python. В момента работим и по включването на Проверка на кода с помощта на библиотеката Pep8, точно за да предоставим информация за състоянието на кода по отношение на стандартите Pep8.

Разширяемост на NINJA-IDE

NINJA-IDE има доста пълна система за приставки, която позволява интегрирането на тези приставки като естествен елемент на IDE. Писането на приставки е доста просто и дори можете да използвате приставка NINJA-IDE, за да напишете NINJA-IDE приставки (рекурсивно?). Този плъгин «за писане на плъгини» ви позволява да решите с кои части на IDE ще бъде свързан новият плъгин и автоматично създава необходимата структура на проекта, заедно с дескриптора на плъгина, така че NINJA-IDE да може да го интерпретира и базовия клас на този плъгин с методите, които ще трябва да бъдат повторно приложени, от своя страна, когато приключим с писането на плъгина, той ни позволява да го опаковаме и след това да го разпространим. Понастоящем има 3 приставки за NINJA-IDE:

  • Пастебин: което ви позволява да изпращате код на pastebin.com и връща получената връзка за споделяне на този код.
  • Плъгин Проект: лицето, което отговаря за създаването на проекти за плъгини за NINJA-IDE, както споменахме.
  • ClassCompleter: автоматично завършва някои структури, докато пише Python код, като: създайте конструктора автоматично, като извикате необходимите родителски класове и т.н.

За да се консултирате с повече информация за това как да разработите плъгин за NINJA-IDE, можете да посетите следния Wiki: http://ninja-ide.org/plugins/

Контакт

Изпълнение

Ninja IDE вече се предлага в DEB и RPM пакети. Останалият свят, разбира се, винаги може да изтегли изходния код и да го компилира. 🙂

Благодарим на Диего Сарментеро, че сподели тази отлична IDE с всички нас!

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Патрисио Аргуело каза той

    Наистина харесвам PyCharm по-добре. Все пак добра работа поздравления и уважение. @patoargu

  2.   Riccardo3284 каза той

    Поздрави за общността Аз съм фен на програмирането на python, IDE е много добър, но на моя компютър имам Ubuntu 10.10 и не мога да работя с функциите, които виждате на фигура 4, изображението, където са командите или класовете или методите показан на обект на python, тази характеристика е много важна поне за мен, тъй като не всички команди се научават и в същото време ще ни позволи да научим повече за програмистите, но тази функционалност не излиза в моя ubuntu.

    Надявам се някой от общността да ми помогне, имейлът ми е riccardo3284@gmail.com

  3.   Маркошипе каза той

    Прочетох го погрешно, поддръжката за git все още не е внедрена, но вече е приставка, която планирате да приложите 🙂

  4.   Alex каза той

    ^^, започнах като член на екипа за разработки :), но в крайна сметка нямах време или достатъчно знания и трябваше да го оставя :(. Но съм много щастлив, че в крайна сметка NInja IDE продължи напред и с толкова добри резултати.

  5.   Маркошипе каза той

    Вече пробвам 😀
    надявам се това да е добре, но тъй като използвам python и qt, харесвам xD
    Предполагам, че той изтрива eric, а аз погледнах и има поддръжка за git 😀 Мисля, че ще се разберем

  6.   Daniel каза той

    Мисля, че е отлично, единственото отрицателно нещо е, че като са испаноезични, те създават интерфейси на английски, трябва да ги правят на испански, IDES на английски има много защо да не правим нещо, което всички ние, които не се справяме с английски разберете, иначе нямам, но ги поздравявам.

    поздрави

  7.   Евгениу Тамбур каза той

    Харесва ми, но в момента е нещо зелено, тествах го и той ме оставя зашеметен и рестартира непрекъснато Windows Explorer и още грешки, но щом го поправят и е нещо по-стабилно, несъмнено ще бъдете много успешни.

  8.   Даниел dcs каза той

    Отлична работа "made in" Аржентина !!!! Искрени поздравления за целия екип за разработка !!!!

  9.   Нейер каза той

    Поздрави за всички, много добра работа, IDE е доста удобна за използване, би било много интересно да включите редактор на Графични потребителски интерфейси, също би било очарователно, ако ви позволява да генерирате проектната документация (Може би в стила на Javadocs).

    Продължавай.