Ninja IDE: IDE Dirancang untuk Python

Akhirnya seseorang berkenan untuk menulis IDE seperti orang-orang untuk Python yang dapat digunakan oleh setiap warga negara biasa tanpa masalah di Linux. Ya, ada beberapa IDE untuk pemrograman dalam berbagai bahasa, termasuk Python, tetapi yang satu ini memiliki beberapa trik kecil...

Bagaimana NINJA-IDE dimulai?

NINJA-IDE Itu lahir dari beberapa email yang dikirim ke PyAr, yang temanya biasanya cukup sering terdengar: "IDE bagus apa untuk Python yang bisa saya gunakan?", "Mengapa tidak ada IDE untuk Python yang memiliki fitur ini atau itu?", dan tanggapan atas email ini selalu berakhir kurang lebih sama, karena IDE saat ini yang kami temukan tersedia, sebagian besar, tidak dirancang untuk Python, tetapi menawarkan opsi untuk menggabungkannya melalui Plugin dan dalam hal ini. cara Dulu menggunakan IDE yang sangat berat yang dirancang untuk tujuan lain, di mana dukungan untuk Python sebenarnya minimal, dan yang untuk Python akhirnya sangat berorientasi pada Kerangka tertentu atau tidak Gratis. Jadi, termotivasi oleh tantangan yang diwakilinya, dan oleh ide-ide menarik yang muncul di milis, kami memutuskan untuk mendekati proyek ini dengan berfokus pada "Fitur apa yang harus dimiliki IDE yang baik untuk programmer Python".

Dengan pemikiran ini kami memulai pengembangan NINJA-IDE, yang namanya merupakan turunan dari akronim rekursif: "Ninja Bukan Hanya IDE Lain". IDE hanya memiliki kurang dari dua bulan pengembangan, tetapi berkat keinginan dan jam pemrograman yang kami dedikasikan untuk itu, kami sudah dapat memiliki IDE dengan banyak fungsi yang diterapkan, sampai-sampai dapat melanjutkan pengembangan NINJA- IDE menggunakan NINJA-IDE, yang pada gilirannya membantu kita menemukan bug dan meningkatkan kegunaan dan kepraktisan aplikasi, melalui pengalaman dan penggunaan terus menerus.

Proyek ini dikembangkan di bawah lisensi GPL gratis dan kodenya dapat diperoleh melalui:

Beberapa fitur IDE saat ini adalah:

  • Fungsi khas dari setiap IDE untuk menangani file, Tab, indentasi otomatis, Zoom in Editor, dll.
  • Ditulis dengan Python dan menggunakan PyQt, ini adalah lintas platform dan diuji pada sistem Linux, MAC OS X, dan Windows.
  • Penyorotan Sintaks untuk berbagai macam bahasa (meskipun itu Python-sentris, ini menyediakan penyorotan sintaks untuk bahasa lain untuk kenyamanan programmer).
  • Kemungkinan menggunakan Konsol Python dari IDE yang sama.
  • Ini memungkinkan pengelolaan Proyek di IDE, mengenalinya sebagai Proyek Python dan melalui IDE membuat file dan folder baru, menghapus file yang ada, pembuatan otomatis file "__init__" dengan informasi di dalam modul itu, dll.
  • Ini memungkinkan menyembunyikan dan merelokasi semua panel antarmuka dengan cara yang sangat sederhana, memungkinkannya untuk disesuaikan dengan selera pengguna.
  • Memungkinkan Anda melihat lebih dari satu Editor secara bersamaan secara vertikal atau horizontal.
  • Dapat diperluas melalui penambahan Plugin (yang dapat dibuat menggunakan Plugin NINJA-IDE untuk kesederhanaan).
  • Ia mengelola sesi IDE untuk mengingat file dan proyek mana yang terbuka ketika ditutup dan memulihkannya saat membuka sebuah instance lagi.
  • Dukungan untuk Penyelesaian Otomatis (menjadi pelengkapan otomatis tertentu dari objek yang sedang diakses).
  • Pembaruan Otomatis.
  • Dan masih banyak lagi fitur lainnya!

Siapa yang mengembangkan NINJA-IDE?

NINJA-IDE mulai dikembangkan oleh Santiago Moreno dan Diego Sarmentero, dan 2 minggu setelah memulai proyek sudah digunakan untuk mengembangkannya. Terima kasih kepada teman-teman dari PyAr List, Blogs, dll. Dalam waktu yang sangat singkat, diseminasi proyek berarti kami dapat mengandalkan Laporan Bug oleh Pengguna, Saran di milis NINJA dan bahkan dengan kontribusi kode oleh pengguna dan kolaborator, yang beberapa di antaranya menjadi bagian dari NINJA-IDE dengan peran pelaksana, seperti kasus: Martín Alderete, Juan Cabral dan Matías Herranz.

Kolaborasi dan partisipasi yang kuat yang kami terima dari komunitas memungkinkan NINJA-IDE tumbuh setiap hari, meningkatkan dan menerapkan fitur yang dibutuhkan pengguna. Pada gilirannya, komentar yang kami terima dari orang-orang yang saat ini menggunakan NINJA-IDE, memotivasi kami untuk terus bekerja keras pada alat ini, yang dengannya kami ingin lebih menyederhanakan pengembangan aplikasi Python.

Bagaimana Anda memutuskan fitur mana yang akan ditambahkan?

Pada awal proyek, sebuah struktur dianggap yang akan memungkinkannya untuk tumbuh dan menggabungkan fungsionalitas dari waktu ke waktu, memiliki dua faktor utama sebagai panduan: Editor Kode dan Manajemen Proyek. Aplikasi mulai dibangun dengan memperhatikan dua pilar dasar ini dan memungkinkan dasar yang baik untuk kemudian memfasilitasi penggabungan fitur baru. Proyek ini melewati tahapan yang berbeda, dimulai dengan editor yang baik dengan penyorotan sintaks, dilanjutkan dengan pengelolaan file proyek, hingga menambahkan fitur plugin, pelengkapan otomatis, manajemen sesi, dll. Python sering dilihat sebagai bahasa yang memiliki kesulitan lebih besar dalam memberikan informasi tentang kode yang sedang ditulis karena tidak dapat menarik kesimpulan dari objek pada saat pemrograman karena pengetikan dinamis, dll.

Dalam beberapa kasus, memang benar bahwa memiliki pengetikan eksplisit dapat melakukan analisis yang lebih sederhana dan lebih detail, tetapi juga benar bahwa saat ini ada banyak alat dan pustaka untuk Python yang membantu menghilangkan tabu ini sehingga tidak mungkin memiliki IDE yang memberikan bantuan nyata pada kode yang sedang dibuat. Itulah mengapa NINJA-IDE berusaha untuk mengizinkan para programmer yang menggunakan Python untuk mengembangkan program mereka, memiliki fasilitas dan bantuan yang sama yang diperoleh saat mengembangkan di Java atau .NET dengan beberapa IDE yang saat ini paling terkenal untuk bahasa tersebut. Mengambil hasil dan pengalaman yang diperoleh dari IDE untuk bahasa lain, ini dimaksudkan untuk mencapai IDE yang dirancang untuk Python yang menghasilkan kepuasan yang sama saat menggunakannya.

Untuk saran, keputusan dan penggabungan fitur-fitur baru di NINJA-IDE, milis biasanya digunakan untuk mencapai keputusan kolektif oleh anggota yang membentuk proyek, lebih dari apa pun untuk mengetahui apa tujuan fitur ini nantinya, di tahap apa yang harus dimasukkan dan detail lainnya. Seringkali karakteristik ini dimotivasi oleh beberapa fungsionalitas menarik yang terlihat di IDE lain, ide dari salah satu anggota atau saran dari grup pengguna. Dengan cara ini, siapa pun, baik pengguna dan pengembang, dapat mengusulkan hal-hal apa yang ingin mereka lihat diimplementasikan di NINJA-IDE dan berdasarkan arsitektur proyek, hal itu dapat didefinisikan jika perlu untuk menggabungkannya sebagai bagian dari IDE itu sendiri atau sebagai sebuah plugin, memungkinkan pada saat yang sama untuk mengetahui ide-ide apa yang sedang dikerjakan dan siapa yang mengendalikannya agar kelompok kerja tetap sinkron.

Apa yang bisa kita harapkan dari NINJA-IDE?

NINJA-IDE lahir untuk memenuhi kebutuhan yang tampaknya penting bagi kami, dan kami juga melihat bahwa pendekatan IDE saat ini tidak memberikan cakupan yang diperlukan.

Tujuan kami saat memulai proyek ini adalah untuk menciptakan lingkungan yang berfokus pada pengembangan aplikasi Python, tetapi selalu mempertimbangkan kebutuhan untuk memiliki komunitas pengguna yang akan memungkinkan kami meningkatkan pengalaman menggunakan alat ini, dan saat ini membuat kami sangat senang dapat mengandalkan komunitas NINJA-IDE, karena berkat pengalaman dan pengetahuan kolektif pengguna dimungkinkan, bahwa dengan saran mereka, pengembangan proyek dapat maju lebih cepat dan lebih banyak detail diperhitungkan daripada dari bentuk lain bisa terlewatkan.

Rencana masa depan

Saat ini dengan pembangunan berkelanjutan yang kami capai, kami hampir merilis versi 1.0 dari NINJA-IDE, yang akan menerima nama 'Kunai'. Dalam versi pertama ini, beberapa fitur yang disebutkan sebelumnya akan hadir, yang akan memungkinkan pengembang memiliki IDE yang kuat dan praktis, jelas, seperti dalam proyek apa pun, perbaikan dan fitur baru akan muncul untuk diterapkan. Beberapa hal yang dimaksudkan untuk dimasukkan ke dalam NINJA-IDE di versi mendatang adalah:

  • Debugger Grafis
  • Untuk dapat melihat navigasi dan hubungan modul dan kelas proyek secara grafis (berdasarkan BlueJ)
  • Mendukung alat pembuatan versi kode.
  • Izinkan pengeditan kolaboratif dokumen.
  • Desainer antarmuka Qt dan Gtk terintegrasi dalam IDE.
  • Kerangka dukungan seperti:
  • Django
  • Google App Engine
  • Dan ini baru saja dimulai!

Alat apa yang digunakan NINJA-IDE?

IDE dikembangkan menggunakan kerangka kerja PyQt untuk semua penanganan Antarmuka Grafis dan beberapa fungsi lainnya, meskipun telah dicoba untuk mengabstraksi sebanyak mungkin fungsi tertentu untuk memungkinkan, jika perlu besok, untuk mem-port NINJA-IDE ke kerangka lain seperti Gtk. Qt diizinkan untuk memiliki antarmuka yang solid dan sangat dapat dikonfigurasi, yang memungkinkan untuk memperluas setiap elemen yang diperlukan untuk mengubah perilakunya dan menyesuaikannya dengan kebutuhan IDE.

Mengenai penyorotan sintaks, NINJA-IDE menggunakan sistem penyorotan sintaksnya sendiri menggunakan fungsionalitas Qt, dan memungkinkan sistem penyorotan ini dengan mudah dapat dikembangkan di NINJA-IDE dengan pembuatan file JSON sederhana yang menjelaskan bahasa yang akan digabungkan. Metode ini memberikan peningkatan kinerja, tetapi untuk mencakup bahasa-bahasa yang tidak dikenali melalui sistem ini, penggunaan Pygments digabungkan untuk penyorotan sintaks dari berbagai bahasa yang lebih besar. Meskipun kemungkinan Pygments diganti oleh GNU Highlight karena masalah kinerja saat ini sedang diangkat.

Untuk penyelesaian otomatis, pemfaktoran ulang, dan yang merujuk ke inferensi kode, Rope digunakan, yang merupakan pustaka yang sangat baik, sangat lengkap untuk jenis situasi ini. Rope adalah alat yang memungkinkan untuk menghadirkan IDE untuk karakteristik Python dari bahasa yang diketik. Saat ini kami juga sedang mengerjakan penggabungan Code Checking dengan menggunakan library Pep8, tepatnya untuk memberikan informasi tentang status kode dalam kaitannya dengan standar Pep8.

Ekstensibilitas NINJA-IDE

NINJA-IDE memiliki sistem plugin yang cukup lengkap yang memungkinkan integrasi plugin ini sebagai elemen asli IDE. Penulisan plugin cukup sederhana dan Anda bahkan dapat menggunakan Plugin NINJA-IDE untuk menulis Plugin NINJA-IDE (rekursif?). Plugin «untuk menulis Plugin» ini memungkinkan Anda untuk memutuskan dengan bagian mana dari IDE plugin baru akan terkait dan secara otomatis membuat struktur proyek yang diperlukan, bersama dengan deskripsi Plugin sehingga NINJA-IDE dapat menafsirkannya dan kelas dasar Plugin ini dengan metode yang perlu diimplementasikan kembali, pada gilirannya, ketika kita selesai menulis Plugin, itu memungkinkan kita untuk memaketkannya dan kemudian mendistribusikannya. Saat ini ada 3 Plugin untuk NINJA-IDE yang tersedia:

  • tempat tempel: yang memungkinkan Anda mengirim kode ke pastebin.com dan mengembalikan tautan yang dihasilkan untuk membagikan kode itu.
  • Proyek Plugin: orang yang bertanggung jawab untuk membuat proyek Plugin untuk NINJA-IDE seperti yang kami sebutkan.
  • Pelengkap Kelas: secara otomatis menyelesaikan beberapa struktur saat menulis kode Python, seperti: membuat konstruktor secara otomatis dengan memanggil Parent Classes yang diperlukan, dll.

Untuk melihat informasi lebih lanjut tentang cara mengembangkan Plugin untuk NINJA-IDE, Anda dapat mengunjungi Wiki berikut: http://ninja-ide.org/plugins/

kontak

Melaksanakan

Ninja IDE sekarang tersedia dalam paket DEB dan RPM. Seluruh dunia, tentu saja, selalu dapat mengunduh kode sumber dan mengkompilasinya. 🙂

Terima kasih Diego Sarmentero karena telah membagikan IDE luar biasa ini kepada kita semua!

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Patricio Arguello dijo

    Saya sangat menyukai PyCharm lebih baik. Bagaimanapun selamat bekerja baik dan Salam. @patoarg

  2.   riccardo3284 dijo

    Salam kepada komunitas Saya adalah penggemar pemrograman dengan python, IDE sangat bagus tetapi di komputer saya, saya memiliki Ubuntu 10.10 dan saya tidak dapat bekerja dengan fitur yang Anda lihat pada gambar 4, gambar di mana perintah atau kelas atau metode berada ditampilkan Dari objek python, fitur ini sangat penting setidaknya bagi saya karena tidak semua perintah dipelajari dan pada saat yang sama memungkinkan kita untuk belajar lebih banyak kepada programmer, tetapi fungsionalitas itu tidak keluar di Ubuntu saya.

    Saya berharap seseorang dari komunitas dapat membantu saya, email saya riccardo3284@gmail.com

  3.   kapal laut dijo

    Saya salah membacanya, dukungan untuk git belum diimplementasikan, tetapi itu sudah menjadi plugin yang mereka rencanakan untuk diterapkan 🙂

  4.   alex dijo

    ^^, saya mulai sebagai anggota tim pengembangan :), tetapi pada akhirnya saya tidak punya waktu atau cukup pengetahuan dan saya harus menyerah :(. Tapi saya sangat senang bahwa pada akhirnya NInja IDE terus maju dan dengan hasil yang bagus.

  5.   kapal laut dijo

    Saya sudah mencobanya 😀
    semoga ini bagus, tapi karena saya menggunakan python dan qt saya suka xD
    Kurasa dia menyeka eric, dan aku melihat dan itu mendukung git 😀 Kurasa kita akan akur

  6.   Daniel dijo

    Saya pikir itu luar biasa, satu-satunya hal negatif adalah bahwa kita, yang berbicara bahasa Spanyol, membuat antarmuka dalam bahasa Inggris, mereka harus membuatnya dalam bahasa Spanyol, IDES dalam bahasa Inggris, ada banyak alasan mengapa tidak melakukan sesuatu yang kita semua tidak menangani bahasa Inggris mengerti, kalau tidak saya tidak punya pilihan selain mengucapkan selamat kepada mereka.

    salam

  7.   Eugeniu Tambur dijo

    Saya menyukainya, tetapi saat ini ada sesuatu yang hijau, saya telah mengujinya dan itu membuat saya grogi, dan itu me-restart windows explorer terus-menerus dan lebih banyak kesalahan, tetapi begitu mereka memperbaikinya dan itu adalah sesuatu yang lebih stabil, itu tidak diragukan lagi akan menjadi sangat sukses.

  8.   daniel dcs dijo

    Pekerjaan luar biasa "dibuat di" Argentina !!!! Selamat yang tulus untuk seluruh tim pengembangan !!!!

  9.   lebih tua dijo

    Salam untuk semua, kerja bagus, IDE cukup nyaman digunakan, akan sangat menarik untuk menyertakan editor Antarmuka Pengguna Grafis, juga akan sangat menarik jika memungkinkan Anda untuk menghasilkan dokumentasi proyek (Mungkin dengan gaya Javadocs).

    Teruskan.