Ninja IDE: IDE, розроблена для Python

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

Як починався NINJA-IDE?

Ніндзя-IDE Він народився в деяких електронних листах, надісланих PyAr, тема яких зазвичай звучить досить часто: "Яку хорошу IDE для Python я можу використовувати?", "Чому немає IDE для Python, яка має ту чи іншу функцію?", і відповіді на ці електронні листи завжди виявляються більш-менш однаковими, оскільки поточні середовища розробки, які ми вважаємо доступними, здебільшого, не були розроблені для Python, але пропонували можливість включити його через плагін і таким чином Раніше використовували дуже важкі середовища розробки, розроблені для інших цілей, де підтримка Python насправді була мінімальною, а ті, що були для Python, в кінцевому підсумку були дуже орієнтованими на певну структуру або не були безкоштовними. Тож, мотивовані викликом, який він представляв, та цікавими ідеями, які були підняті в списку розсилки, ми вирішили підійти до цього проекту, зосередившись на "Які функції повинна мати хороша IDE для програміста Python".

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

Проект розроблений за безкоштовною ліцензією GPL, і код можна отримати через:

Деякі з сучасних особливостей IDE:

  • Типові функції будь-якої IDE для роботи з файлами, вкладками, автоматичним відступом, збільшенням редактора тощо.
  • Будучи написаним на 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, що є чудовою бібліотекою, дуже повною для такого типу ситуацій. Rope - це інструмент, який дозволяє наблизити до IDE для Python характеристики IDE типізованих мов. В даний час ми також працюємо над включенням перевірки коду за допомогою бібліотеки 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, ви можете відвідати наступну Вікі: http://ninja-ide.org/plugins/

Контакти

Виконувати

Ninja IDE тепер доступний у пакетах DEB та RPM. Решта світу, звичайно, завжди може завантажити вихідний код і скомпілювати його. 🙂

Дякуємо Дієго Сарментеро за те, що поділився цією чудовою IDE з усіма нами!

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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

  1.   Патрісіо Аргуелло - сказав він

    Мені дуже подобається PyCharm. Однак хорошої роботи вітаю та з повагою. @patoargu

  2.   Ріккардо3284 - сказав він

    Вітаю спільноту. Я шанувальник програмування на python, IDE дуже хороший, але на моєму комп’ютері у мене Ubuntu 10.10, і я не можу працювати з функціями, які ви бачите на малюнку 4, зображенням, де показані команди, класи або методи Для об'єкта python ця функція дуже важлива, принаймні для мене, оскільки вивчаються не всі команди, і одночасно це дозволило б нам дізнатись більше для програмістів, але ця функціональність не виходить у моєму Ubuntu.

    Я сподіваюся, хтось із спільноти може мені допомогти, моя електронна пошта така riccardo3284@gmail.com

  3.   Маркошипе - сказав він

    Я неправильно прочитав, підтримка git ще не реалізована, але це вже плагін, який ви плануєте впровадити 🙂

  4.   Alex - сказав він

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

  5.   Маркошипе - сказав він

    Я вже спробую 😀
    сподіваюся, це добре, але оскільки я використовую python і qt, мені подобається xD
    Я здогадуюсь, що він витирає Еріка, і я подивився, і він підтримує git we're Я думаю, ми будемо ладнати

  6.   Данило - сказав він

    Я думаю, це чудово, єдине негативне, що, будучи іспаномовними, вони створюють інтерфейси англійською мовою, вони повинні робити їх іспанською, IDES англійською, є багато причин, чому б не робити щось, що розуміємо всі ми, хто не володіє англійською мовою, інакше у мене немає але привітайте їх.

    привіт

  7.   Євгеній Тамбур - сказав він

    Мені це подобається, але на даний момент це щось зелене, я тестував це, і це залишає мене оглушеним, і він постійно перезапускає провідник Windows і все більше помилок, але як тільки це виправлять, і це щось більш стабільне, це, безсумнівно, буде дуже успішним.

  8.   Даніель dcs - сказав він

    Відмінна робота "зроблено в" Аргентині !!!! Щирі вітання всій команді розробників !!!!

  9.   Неєр - сказав він

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

    Продовжуй.