Akhirnya seseorang berhasrat untuk menulis seorang IDE seperti orang-orang untuk Python yang boleh digunakan oleh setiap rakyat biasa tanpa masalah dalam Linux. Ya, ada beberapa IDE untuk pengaturcaraan dalam bahasa yang berbeza, termasuk Python, tetapi yang ini mempunyai beberapa helah kecil di lengan bajunya... |
Bagaimana NINJA-IDE bermula?
NINJA-IDE Ia dilahirkan oleh beberapa e-mel yang dihantar ke PyAr, yang temanya biasanya sering didengar: "Apa IDE yang baik untuk Python yang dapat saya gunakan?", "Mengapa tidak ada IDE untuk Python yang memiliki ciri ini atau itu?", dan tindak balas terhadap e-mel ini selalu kurang lebih sama, kerana IDE semasa yang kami dapati ada, sebahagian besarnya, tidak dirancang untuk Python, tetapi menawarkan pilihan untuk memasukkannya melalui Plugin dan dengan cara ini Dulu menggunakan IDE yang sangat berat yang dirancang untuk tujuan lain, di mana sokongan untuk Python sebenarnya minimum, dan yang untuk Python akhirnya sangat berorientasi pada Kerangka tertentu atau tidak Bebas. Oleh itu, didorong oleh cabaran yang diwakilinya, dan oleh idea-idea menarik yang dikemukakan dalam senarai surat, kami memutuskan untuk mendekati projek ini dengan memberi tumpuan kepada "Apa ciri yang harus dimiliki IDE yang baik untuk pengaturcara Python".
Dengan ini kami memulakan pengembangan NINJA-IDE, yang namanya merupakan turunan dari akronim rekursif: "Ninja Bukan Sekadar IDE Lain". IDE hampir tidak mempunyai pengembangan selama dua bulan, tetapi berkat keinginan dan berjam-jam pengaturcaraan yang kami dedikasikan untuknya, sekarang kami dapat memiliki IDE dengan banyak fungsi yang dilaksanakan, sehingga dapat melanjutkan pengembangan NINJA- IDE menggunakan NINJA-IDE, yang seterusnya membantu kita mencari bug dan meningkatkan kebolehgunaan dan kepraktisan aplikasi, melalui pengalaman dan penggunaannya secara berterusan.
Projek ini dibangunkan di bawah lesen GPL percuma dan kodnya boleh didapati melalui:
Beberapa ciri semasa IDE adalah:
- Fungsi khas mana-mana IDE untuk mengendalikan fail, Tab, lekukan automatik, Zum dalam Editor, dll.
- Ditulis dalam Python dan menggunakan PyQt, ia adalah platform silang dan diuji pada sistem Linux, MAC OS X, dan Windows.
- Sorotan Sintaks untuk pelbagai jenis bahasa (walaupun berpusat pada Python, ia memberikan sorotan sintaks untuk bahasa lain untuk kemudahan pengaturcara).
- Kemungkinan menggunakan Konsol Python dari IDE yang sama.
- Ini membolehkan pengurusan Projek di IDE, mengenalinya sebagai Projek Python dan melalui IDE membuat fail dan folder baru, menghapus fail yang ada, pembuatan fail "__init__" secara automatik dengan maklumat dalam modul itu, dll.
- Ia membenarkan penyembunyian dan penempatan semula semua panel antara muka dengan cara yang sangat mudah, sehingga memungkinkan untuk disesuaikan dengan selera pengguna.
- Lihat lebih daripada satu Editor pada masa yang sama secara menegak atau mendatar.
- Diperluas melalui penambahan Plugin (yang boleh dibuat menggunakan NINJA-IDE Plugin untuk kesederhanaan).
- Ia menguruskan sesi IDE untuk mengingat fail dan projek mana yang dibuka ketika ditutup dan memulihkannya ketika membuka contohnya lagi.
- Sokongan untuk Auto-menyelesaikan (menjadi pelengkap automatik objek yang sedang diakses).
- Kemas kini automatik.
- Dan banyak lagi ciri!
Siapa yang mengembangkan NINJA-IDE?
NINJA-IDE mula dikembangkan oleh Santiago Moreno dan Diego Sarmentero, dan 2 minggu setelah memulakan projek itu sudah digunakan untuk mengembangkannya. Terima kasih kepada orang-orang dari Senarai PyAr, Blog, dll. Dalam masa yang sangat singkat, penyebaran projek ini bermaksud bahawa kita dapat mengandalkan Laporan Bug oleh Pengguna, Saranan dalam senarai mel NINJA dan bahkan dengan sumbangan kod oleh pengguna dan kolaborator, yang sebahagiannya menjadi sebahagian dari NINJA-IDE dengan peranan komited, seperti halnya: Martín Alderete, Juan Cabral dan Matías Herranz.
Kerjasama dan penyertaan yang kuat yang kami terima dari komuniti ini membolehkan NINJA-IDE berkembang setiap hari, meningkatkan dan melaksanakan ciri yang diperlukan oleh pengguna. Pada gilirannya, komen yang kami terima dari orang yang sedang menggunakan NINJA-IDE, memotivasi kami untuk terus bekerja keras pada alat ini, yang dengannya kami ingin mempermudah pengembangan aplikasi Python.
Bagaimana anda memutuskan ciri mana yang akan ditambahkan?
Pada awal projek, struktur difikirkan akan memungkinkannya berkembang dan menggabungkan fungsi dari masa ke masa, sebagai panduan dua faktor utama: Penyunting Kod dan Pengurusan Projek. Aplikasi ini mula dibina untuk mengurus dua tonggak asas ini dan membolehkan pangkalan yang baik kemudiannya memudahkan penggabungan ciri-ciri baru. Projek ini melalui tahap yang berbeza, bermula dengan penyunting yang bagus dengan sorotan sintaks, melanjutkan dengan pengurusan fail projek, hingga menambahkan fitur pemalam, penyelesaian otomatis, pengurusan sesi, dll Python sering dilihat sebagai bahasa yang mempunyai kesulitan yang lebih besar dalam memberikan maklumat mengenai kod yang sedang ditulis kerana tidak dapat membuat kesimpulan dari objek pada waktu pengaturcaraan kerana menaip dinamik, dll.
Dalam beberapa kes, memang benar bahawa dengan menaip eksplisit dapat melakukan analisis yang lebih sederhana dan terperinci, tetapi juga benar bahawa pada masa ini terdapat banyak alat dan perpustakaan untuk Python yang membantu menghilangkan pantang larang ini bahawa tidak mungkin memiliki IDE yang memberikan bantuan sebenar pada kod yang sedang dihasilkan. Itulah sebabnya NINJA-IDE berusaha untuk membolehkan pengaturcara yang menggunakan Python untuk mengembangkan program mereka, mempunyai kemudahan dan bantuan yang sama yang diperoleh ketika berkembang di Java atau .NET dengan beberapa IDE yang kini terkenal dengan bahasa-bahasa tersebut. Mengambil hasil dan pengalaman yang diperoleh dari IDE untuk bahasa lain, ini bertujuan untuk mencapai IDE yang dirancang untuk Python yang menghasilkan kepuasan yang sama ketika menggunakannya.
Untuk cadangan, keputusan dan penggabungan ciri-ciri baru dalam NINJA-IDE, milis biasanya digunakan untuk mencapai keputusan kolektif oleh anggota yang membentuk projek, lebih daripada apa-apa untuk mengetahui objektif ciri ini, dalam tahap apa yang harus digabungkan dan perincian lain. Sering kali ciri-ciri ini didorong oleh beberapa fungsi menarik yang dilihat dalam IDE lain, idea dari salah seorang ahli atau cadangan dari kumpulan pengguna. Dengan cara ini, sesiapa sahaja, baik pengguna dan pemaju, dapat mencadangkan perkara-perkara apa yang ingin mereka lihat dilaksanakan di NINJA-IDE dan berdasarkan seni bina projek, ia dapat ditentukan sekiranya perlu memasukkannya sebagai sebahagian daripada IDE itu sendiri atau sebagai pemalam, yang pada masa yang sama mengetahui idea apa yang sedang dikerjakan dan siapa yang mengawalnya agar kumpulan kerja sentiasa disegerakkan.
Apa yang boleh kita harapkan dari NINJA-IDE?
NINJA-IDE dilahirkan untuk memenuhi keperluan yang sepertinya penting bagi kami, dan kami juga melihat bahawa pendekatan semasa untuk IDE tidak memberikan liputan yang diperlukan.
Tujuan kami semasa memulakan projek ini adalah untuk mewujudkan persekitaran yang berfokus pada pengembangan aplikasi Python, tetapi selalu mempertimbangkan keperluan untuk memiliki komuniti pengguna yang memungkinkan kami meningkatkan pengalaman menggunakan alat ini, dan saat ini menjadikan kami sangat gembira dapat bergantung pada komuniti NINJA-IDE, kerana berkat pengalaman dan pengetahuan kolektif pengguna, mungkin dengan cadangan mereka, pembangunan projek dapat berjalan lebih cepat dan banyak lagi perincian diambil kira daripada dari bentuk lain boleh dilupakan.
Rancangan masa hadapan
Dengan perkembangan berterusan yang sedang kita capai, kita hampir merilis versi 1.0 NINJA-IDE, yang akan menerima nama 'Kunai'. Dalam versi pertama ini, beberapa ciri yang disebutkan sebelumnya akan hadir, yang membolehkan pembangun mempunyai IDE yang kuat dan praktikal, jelas, seperti dalam projek apa pun, peningkatan dan ciri baru akan muncul untuk dilaksanakan. Beberapa perkara yang ingin dimasukkan ke dalam NINJA-IDE dalam versi yang akan datang adalah:
- Penyahpepijat Grafik
- Untuk dapat melihat keupayaan dan hubungan modul dan kelas projek secara grafik (berdasarkan BlueJ)
- Alat pemodelan kod sokongan.
- Benarkan penyuntingan dokumen secara kolaboratif.
- Pereka antara muka Qt dan Gtk yang disatukan dalam IDE.
- Sokongan rangka kerja seperti:
- Django
- Google App Engine
- Dan ini baru bermula!
Alat apa yang NINJA-IDE gunakan?
IDE dibangunkan menggunakan kerangka kerja PyQt untuk semua pengendalian antara muka grafik dan beberapa fungsi lain, walaupun ia dicuba untuk menyerap sebanyak mungkin fungsi tertentu untuk memungkinkan, jika perlu esok, untuk mengangkut NINJA-IDE ke kerangka kerja lain seperti Gtk. Qt dibenarkan mempunyai antara muka yang kukuh dan sangat dapat dikonfigurasi, yang memungkinkan untuk memperluas setiap elemen yang diperlukan untuk mengubah tingkah lakunya dan menyesuaikannya dengan keperluan IDE.
Mengenai penyorotan sintaks, NINJA-IDE menggunakan sistem penyorotan sintaks sendiri menggunakan fungsi Qt, dan membiarkan sistem penyorotan ini dapat diperluas dengan mudah di NINJA-IDE dengan penciptaan fail JSON sederhana yang menerangkan bahasa yang akan digabungkan. Kaedah ini memberikan peningkatan dalam prestasi, tetapi untuk merangkumi bahasa-bahasa yang tidak dikenali melalui sistem ini, penggunaan Pygments digabungkan untuk sintaksis yang menyoroti berbagai bahasa. Walaupun kemungkinan Pygments digantikan oleh Sorotan GNU atas sebab prestasi sedang ditingkatkan.
Untuk penyelesaian automatik, pemfaktoran semula, dan yang merujuk kepada kesimpulan kod, Rope digunakan, yang merupakan perpustakaan yang sangat baik, sangat lengkap untuk situasi seperti ini. Rope adalah alat yang memungkinkan untuk membawa kepada IDE untuk Python ciri IDE bahasa yang ditaip. Pada masa ini kami juga sedang berusaha untuk menggabungkan Pemeriksaan Kod menggunakan perpustakaan Pep8, tepatnya untuk memberikan maklumat mengenai status kod yang berkaitan dengan standard Pep8.
Kebolehpanjangan NINJA-IDE
NINJA-IDE mempunyai sistem plugin yang cukup lengkap yang membolehkan penyatuan plugin ini sebagai elemen asli IDE. Penulisan Plugin agak mudah dan anda bahkan boleh menggunakan NINJA-IDE Plugin untuk menulis NINJA-IDE Plugin (rekursif?). Plugin ini «untuk menulis Plugin» membolehkan anda memutuskan dengan bahagian mana IDE plugin baru akan berkaitan dan secara automatik membuat struktur projek yang diperlukan, bersama-sama dengan deskriptor Plugin supaya NINJA-IDE dapat menafsirkannya dan kelas asas Plugin ini dengan kaedah yang perlu dilaksanakan semula, pada gilirannya, apabila kita selesai menulis Plugin, ini membolehkan kita mengemasnya dan kemudian menyebarkannya. Terdapat 3 Plugin untuk NINJA-IDE yang ada:
- Tampal bin: yang membolehkan anda menghantar kod ke pastebin.com dan mengembalikan pautan yang dihasilkan untuk berkongsi kod tersebut.
- Projek Pemalam: orang yang bertanggungjawab membuat projek Plugin untuk NINJA-IDE seperti yang kami nyatakan.
- Pelengkap Kelas: melengkapkan beberapa struktur secara automatik semasa menulis kod Python, seperti: buat konstruktor secara automatik dengan memanggil Parent Classes yang diperlukan, dll.
Untuk mendapatkan maklumat lebih lanjut mengenai cara mengembangkan Plugin untuk NINJA-IDE, anda boleh mengunjungi Wiki berikut: http://ninja-ide.org/plugins/
hubungan
- NINJA-IDE di Twitter: http://twitter.com/ninja_ide
Pelepasan
Ninja IDE kini tersedia dalam pakej DEB dan RPM. Dunia yang lain, tentu saja, selalu dapat memuat turun kod sumber dan menyusunnya. 🙂
Saya lebih suka PyCharm lebih baik. Bagaimanapun selamat bekerja dan salam. @patoargu
Salam kepada komuniti Saya peminat pengaturcaraan di python, IDE sangat bagus tetapi di komputer saya mempunyai Ubuntu 10.10 dan saya tidak dapat berfungsi dengan ciri-ciri yang anda lihat pada gambar 4, gambar di mana perintah atau kelas atau kaedah berada ditunjukkan dari objek python, ciri ini sangat penting sekurang-kurangnya bagi saya kerana tidak semua arahan dipelajari dan pada masa yang sama ia membolehkan kita belajar lebih banyak lagi kepada pengaturcara, tetapi fungsi itu tidak keluar di Ubuntu saya.
Saya harap seseorang dari komuniti dapat menolong saya, e-mel saya adalah riccardo3284@gmail.com
Saya salah membaca, sokongan untuk git belum dilaksanakan, tetapi sudah menjadi plugin yang anda rancangkan untuk dilaksanakan 🙂
^^, saya bermula sebagai ahli pasukan pembangunan :), tetapi pada akhirnya saya tidak mempunyai masa atau pengetahuan yang mencukupi dan saya harus melepaskannya :(. Tetapi saya sangat gembira kerana pada akhirnya NInja IDE terus maju dan dengan hasil yang baik.
Saya sudah mencubanya 😀
semoga ini bagus, tetapi kerana saya menggunakan python dan qt saya suka xD
Saya rasa dia menyapu eric, dan saya melihat dan ia menyokong git 😀 Saya rasa kita akan akur
Saya fikir ia sangat baik, satu-satunya perkara negatif ialah, kerana berbahasa Sepanyol, mereka membuat antara muka dalam bahasa Inggeris, mereka harus membuatnya dalam bahasa Sepanyol, IDES dalam bahasa Inggeris, ada banyak sebab mengapa tidak melakukan sesuatu yang tidak dikendalikan oleh kita semua Bahasa Inggeris faham, jika tidak, saya tidak mempunyai apa-apa tetapi mengucapkan tahniah kepada mereka.
salam
Saya menyukainya, tetapi pada masa ini ia adalah sesuatu yang hijau, saya telah mengujinya dan ini membuat saya tersengih-sengih, dan menghidupkan semula windows explorer secara berterusan dan lebih banyak kesilapan, tetapi sebaik sahaja mereka memperbaikinya dan ini adalah sesuatu yang lebih stabil, pasti akan sangat berjaya.
Karya yang sangat baik "buatan" Argentina !!!! Tahniah tulus kepada seluruh pasukan pembangunan !!!!
Salam untuk semua, kerja yang sangat baik, IDE cukup selesa digunakan, akan sangat menarik untuk memasukkan editor untuk Antaramuka Pengguna Grafik, juga menarik jika ia membolehkan anda membuat dokumentasi projek (Mungkin dalam gaya Javadocs).
Teruskan.