Ninja IDE: IDE המיועד לפייתון

לבסוף מישהו התכתב לכתוב IDE כמו האנשים של Python שכל אזרח רגיל יכול להשתמש בו בלי בעיות בלינוקס. כן, ישנם מספר IDE לתכנות בשפות שונות, כולל Python, אבל לזה יש כמה טריקים קטנים בשרוול...

איך התחילה NINJA-IDE?

NINJA-IDE זה נולד על ידי כמה מיילים שנשלחו אל PyAr, שהנושא שלהם נשמע לעתים קרובות למדי: "באיזה IDE טוב עבור פייתון אוכל להשתמש?", "מדוע אין IDE עבור Python שיש לו תכונה זו או אחרת?"והתגובות להודעות דוא"ל אלו תמיד בסופו של דבר זהות פחות או יותר, מכיוון שה- IDE הנוכחי שאנו מוצאים זמינים, לרוב, לא תוכנן עבור Python, אלא הציע אפשרות לשלב אותו באמצעות תוסף ובזה בדרך זה היה פעם שימוש ב- IDE כבד מאוד שתוכנן למטרות אחרות, כאשר התמיכה בפייתון הייתה מינימלית, ואלה שהיו עבור פייתון בסופו של דבר היו מכוונים מאוד למסגרת מסוימת או לא היו חופשיים. אז, מונעים מהאתגר שייצג, ומרעיונות מעניינים שהועלו ברשימת התפוצה, החלטנו לגשת לפרויקט זה על ידי התמקדות "אילו תכונות צריך IDE טוב למתכנת פייתון".

עם זאת בחשבון התחלנו בפיתוח NINJA-IDE, ששמו הוא נגזרת של ראשי התיבות הרקורסיביים: "הנינג'ה היא לא רק עוד IDE". ל- IDE יש כמעט לא יותר מחודשיים של פיתוח, אך בזכות הרצון ושעות התכנות שאנו מקדישים לו, אנו יכולים כבר להפעיל IDE עם פונקציות רבות המיושמות, עד כדי היכולת להמשיך בפיתוח של NINJA- IDE באמצעות NINJA-IDE, אשר בתורו מסייע לנו למצוא באגים ולשפר את השימושיות והמעשיות של היישום, באמצעות ניסיון ושימוש מתמשך בו.

הפרויקט פותח ברישיון GPL בחינם ואת הקוד ניתן להשיג באמצעות:

חלק מהתכונות הנוכחיות של IDE הן:

  • פונקציות אופייניות של כל IDE לטיפול בקבצים, כרטיסיות, הזחה אוטומטית, עורך התקרבות וכו '.
  • בהיותו כתוב בפייתון ומשתמש ב- PyQt, הוא חוצה פלטפורמות ונבדק במערכות לינוקס, MAC OS X ו- Windows.
  • הדגשת תחביר למגוון רחב של שפות (למרות שהיא מרוכזת בפייתון, היא מספקת הדגשת תחביר לשפות אחרות לנוחיות המתכנת).
  • אפשרות לשימוש במסוף פייתון מאותו IDE.
  • זה מאפשר ניהול פרויקטים ב- IDE, לזהות אותם כ- Python Projects ובאמצעות IDE ליצור קבצים ותיקיות חדשים, מחיקת קבצים קיימים, יצירה אוטומטית של קבצי "__init__" עם המידע בתוך אותו מודול וכו '.
  • הוא מאפשר להסתיר ולהעביר את כל לוחות הממשק בצורה מאוד פשוטה ומאפשר להתאים אותו לטעמו של המשתמש.
  • מאפשר להציג יותר מעורך אחד בו זמנית אנכית או אופקית.
  • ניתן להרחבה באמצעות הוספת תוספים (אותם ניתן ליצור באמצעות תוסף NINJA-IDE לפשטות).
  • הוא מנהל פגישות IDE, כדי לזכור אילו קבצים ופרויקטים היו פתוחים כאשר הוא נסגר ומשחזר אותם כשפותחים מופע מחדש.
  • תמיכה בהשלמה אוטומטית (בהיותה השלמה אוטומטית ספציפית של האובייקט אליו ניגשים).
  • עדכונים אוטומטיים.
  • ועוד הרבה תכונות!

מי מפתח את NINJA-IDE?

NINJA-IDE החלה להתפתח על ידי סנטיאגו מורנו ודייגו סרמנטרו, ושבועיים לאחר תחילת הפרויקט היא כבר שימשה לפיתוחו. תודה לאנשים ברשימת PyAr, בלוגים וכו '. תוך זמן קצר מאוד, ההפצה של הפרויקט הביאה לכך שאנחנו יכולים לסמוך על דוח באגים של משתמשים, הצעות ברשימת התפוצה של NINJA ואפילו עם תרומות קוד של משתמשים ומשתפי פעולה, שחלקם הפכו לחלק מ- NINJA-IDE עם תפקיד המחויבים, כמו במקרה של: מרטין אלדרטה, חואן קבראל ומטיאס הרנץ.

שיתוף הפעולה וההשתתפות החזקה הזו שאנו מקבלים מהקהילה מאפשרת ל- NINJA-IDE לצמוח מדי יום, ולשפר וליישם תכונות שמשתמשים זקוקים להן. בתורו, ההערות שאנו מקבלים מאנשים המשתמשים כעת ב- NINJA-IDE, מניעות אותנו להמשיך לעבוד קשה על הכלי הזה, שאיתו אנו רוצים לפשט עוד יותר את פיתוח יישומי Python.

איך החלטת אילו תכונות להוסיף?

בתחילת הפרויקט חשבנו על מבנה שיאפשר לו לצמוח ולשלב פונקציות לאורך זמן, כאשר יש לו כמדריך שני גורמים עיקריים: עורך הקוד וניהול פרויקטים. היישום החל להיבנות תוך טיפול בשני העמודים הבסיסיים הללו ומאפשר לבסיס טוב מהם בהמשך להקל על שילובם של תכונות חדשות. הפרויקט עבר שלבים שונים, החל מעורך טוב עם הדגשת תחביר, והמשיך בניהול קבצי הפרויקט, עד הוספת תכונות תוסף, השלמה אוטומטית, ניהול הפעלות וכו '. פיתון נתפס לעתים קרובות כשפה שיש לה קשיים גדולים יותר לספק מידע על הקוד שנכתב מכיוון שהוא לא יכול להסיק מאובייקטים בזמן התכנות בגלל הקלדה דינמית וכו '.

במקרים מסוימים נכון שקיימת הקלדה מפורשת יכולה לבצע ניתוחים פשוטים ומפורטים יותר, אך נכון נכון לעכשיו ישנם כלים וספריות רבים עבור Python המסייעים בביטול טאבו זה שאי אפשר לקבל IDE. המספק סיוע אמיתי בקוד שנוצר. זו הסיבה ש- NINJA-IDE מבקש לאפשר לאותם מתכנתים המשתמשים בפייתון לפתח את התוכניות שלהם, יש את אותם המתקנים והעזרים המתקבלים בעת פיתוח ב- Java או .NET עם כמה מה- IDE הידועים כיום בזכות אותן שפות. אם לוקחים את התוצאות והחוויות שהתקבלו מ- IDE עבור שפות אחרות, היא נועדה להשיג IDE המיועד לפייתון המייצר את אותה סיפוק בעת השימוש בו.

לקבלת הצעה, החלטה ושילוב של תכונות חדשות ב- NINJA-IDE, רשימת התפוצה משמשת בדרך כלל להשגת החלטה קולקטיבית של החברים המרכיבים את הפרויקט, יותר מכל כדי לדעת מה תהיה מטרתה של תכונה זו, איזה שלב צריך לשלב ופרטים אחרים. פעמים רבות מניעים למאפיינים אלו פונקציונליות מעניינת שנראית ב- IDE אחר, רעיון של אחד החברים או הצעות מקבוצת המשתמשים. בדרך זו, כל אחד, גם המשתמש וגם המפתח, יכול להציע אילו דברים הם רוצים לראות מיושמים ב- NINJA-IDE ועל סמך ארכיטקטורת הפרויקט ניתן להגדיר אותו אם יש צורך לשלב אותו כחלק מה- IDE עצמו או כ תוסף, המאפשר בו זמנית לדעת על אילו רעיונות עובדים ועל מי משתלט עליהם בכדי לשמור על קבוצת העבודה מסונכרנת.

למה אנו יכולים לצפות מ- NINJA-IDE?

NINJA-IDE נולד בכדי לכסות צורך שנראה לנו חשוב, וגם ראינו שהגישות הנוכחיות ל- IDE אינן מספקות את הכיסוי הדרוש.

הכוונה שלנו בהתחלת פרויקט זה הייתה ליצור סביבה הממוקדת בפיתוח יישומי Python, אך תמיד תוך התחשבות בצורך בקהילת משתמשים שתאפשר לנו לשפר את חוויית השימוש בכלי זה, וכיום גורמת לנו מאוד שמחה להיות מסוגלת לסמוך על קהילת NINJA-IDE, מכיוון שבזכות הניסיון והידע הקולקטיבי של המשתמשים יתכן, שעם הצעותיהם, פיתוח הפרויקט יכול להתקדם מהר יותר ונקלטים בפרטים רבים יותר מאשר מצורה אחרת ניתן היה להתעלם.

תוכניות עתידיות

נכון לעכשיו עם ההתפתחות הרציפה שאנו משיגים, אנו קרובים לשחרור גרסת 1.0 של NINJA-IDE, שתקבל את השם 'קונאי'. בגרסה ראשונה זו, יהיו כמה מהתכונות שהוזכרו לעיל, אשר יאפשרו למפתח להיות בעל IDE חזק ופרקטי, ברור שכמו בכל פרויקט, יופיעו שיפורים ותכונות חדשות ליישום. חלק מהדברים שנועדו להשתלב ב- NINJA-IDE בגרסאות עתידיות הם:

  • איתור באגים גרפי
  • כדי להיות מסוגל לראות את הניווט והקשר של המודולים והשיעורים של פרויקט בצורה גרפית (בהתבסס על BlueJ)
  • כלי גרסת קוד תמיכה.
  • אפשר עריכה משותפת של מסמך.
  • מעצב ממשקי Qt ו- Gtk המשולב ב- IDE.
  • תמיכה במסגרות כגון:
  • ג'נגו
  • מנוע האפליקציות של גוגל
  • וזה רק מתחיל!

באילו כלים משתמש NINJA-IDE?

IDE פותח באמצעות מסגרת PyQt לכל הטיפול בממשק הגרפי וכמה פונקציות אחרות, אם כי הוא ניסה להפשט כמה שיותר פונקציות כדי לאפשר, אם יהיה צורך מחר, להעביר את NINJA-IDE למסגרות אחרות כגון Gtk. Qt אפשרה להתקין ממשק יציב וניתן להגדרה גבוהה, שאיפשר להרחיב כל אלמנט הכרחי כדי לשנות את התנהגותו ולהתאים אותו לצרכי ה- IDE.

לגבי הדגשת תחביר, NINJA-IDE עושה שימוש במערכת הדגשת תחביר משלה באמצעות פונקציות Qt, ומאפשרת למערכת הדגשה זו להרחבה בקלות ב- NINJA-IDE עם יצירת קובץ JSON פשוט המתאר את השפה לשילוב. שיטה זו מספקת שיפורים בביצועים, אך כדי לכסות את השפות שאינן מוכרות באמצעות מערכת זו, שולב השימוש בפיגמנטים לצורך הדגשת תחביר של מגוון גדול יותר של שפות. אם כי כרגע עולה האפשרות שהפיגמנטים יוחלפו ב- GNU Highlight מסיבות ביצוע.

לצורך השלמה אוטומטית, רפקטורציה וכאלה המתייחסים להסקת קוד, משתמשים ב- Rope, שהיא ספרייה מצוינת, שלמה מאוד לסוג זה של סיטואציות. חבל הוא כלי המאפשר להביא ל- IDE עבור פיתון מאפיינים של IDE של שפות מודפסות. נכון לעכשיו אנו עובדים גם על שילוב של בדיקת קוד באמצעות ספריית Pep8, בדיוק בכדי לספק מידע אודות מצב הקוד ביחס לתקני Pep8.

הרחבה של NINJA-IDE

ל- NINJA-IDE מערכת תוספים שלמה למדי המאפשרת שילוב של תוספים אלה כאלמנט מקורי ב- IDE. כתיבת תוספים היא די פשוטה ותוכלו אפילו להשתמש בתוסף NINJA-IDE כדי לכתוב תוספי NINJA-IDE (רקורסיביים?). תוסף זה «לכתיבת תוספים» מאפשר לך להחליט עם אילו חלקים ב- IDE התוסף החדש ייקשר ויוצר באופן אוטומטי את מבנה הפרויקט הדרוש, יחד עם מתאר התוסף כך ש- NINJA-IDE יוכל לפרש אותו ואת מחלקת הבסיס. של תוסף זה עם השיטות שיהיה צורך ליישם מחדש, בתורו, כשנסיים לכתוב את התוסף, הוא מאפשר לנו לארוז אותו ואז להפיץ אותו. כרגע יש 3 תוספים עבור NINJA-IDE:

  • פסטין: המאפשר לך לשלוח קוד ל- pastebin.com ומחזיר את הקישור שנוצר כדי לשתף את הקוד הזה.
  • תוסף פרוייקט: האחראי על יצירת פרויקטים של תוספים עבור NINJA-IDE כפי שציינו.
  • ClassCompleter: משלים באופן אוטומטי כמה מבנים בזמן כתיבת קוד פייתון, כגון: צור את הבנאי באופן אוטומטי על ידי קריאה לשיעורי האב הדרושים וכו '.

לקבלת מידע נוסף אודות פיתוח תוסף ל- NINJA-IDE, תוכל לבקר בוויקי הבא: http://ninja-ide.org/plugins/

קשר

לפרוק

Ninja IDE זמין כעת בחבילות DEB ו- RPM. שאר העולם, כמובן, תמיד יכול להוריד את קוד המקור ולהרכיב אותו. 🙂

תודה דייגו סרמנטרו ששיתף את כולנו את ה- IDE המצוין הזה!

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   פטריסיו ארגולו דיג'ו

    אני באמת אוהב את PyCharm יותר טוב. עם זאת מזל טוב וברכה. @patoargu

  2.   ריקארדו 3284 דיג'ו

    ברכות לקהילה אני חובב תכנות בפיתון, ה- IDE טוב מאוד אבל במחשב שלי יש לי את אובונטו 10.10 ואני לא יכול לעבוד עם התכונות שאתה רואה באיור 4, התמונה שבה הפקודות או הכיתות או השיטות מוצג מאובייקט פיתון, תכונה זו חשובה מאוד לפחות עבורי מכיוון שלא כל הפקודות נלמדות ויחד עם זאת היא תאפשר לנו ללמוד יותר למתכנתים, אך פונקציונליות זו אינה יוצאת באובונטו שלי.

    אני מקווה שמישהו מהקהילה יכול לעזור לי, הדוא"ל שלי הוא riccardo3284@gmail.com

  3.   מרקושייף דיג'ו

    קראתי את זה לא נכון, התמיכה ב- git עדיין לא מיושמת, אבל זה כבר תוסף שאתה מתכנן ליישם 🙂

  4.   אלכס דיג'ו

    ^^, התחלתי כחבר בצוות הפיתוח :), אבל בסופו של דבר לא היה לי זמן או מספיק ידע והייתי צריך לוותר עליו :(. אבל אני מאוד שמח שבסופו של דבר NInja IDE המשיך ועם תוצאות כל כך טובות.

  5.   מרקושייף דיג'ו

    אני כבר מנסה את זה 😀
    אני מקווה שזה טוב, אבל מכיוון שאני משתמש בפייתון ו- qt אני אוהב את xD
    אני מניח שהוא מנגב אריק, והסתכלתי ויש לו תמיכה בגיט it אני חושב שאנחנו הולכים להסתדר

  6.   Daniel דיג'ו

    אני חושב שזה מצוין, הדבר השלילי היחיד הוא שכשהם דוברי ספרדית הם יוצרים ממשקים באנגלית, הם צריכים להכין אותם בספרדית, IDES באנגלית יש הרבה למה לא לעשות משהו שכולנו שלא מבינים אנגלית מבינה, אחרת אין לי אלא לברך אותם.

    לגבי

  7.   אוגניו טמבור דיג'ו

    אני אוהב את זה, אבל כרגע זה משהו ירוק, בדקתי את זה וזה משאיר אותי גרגרני, וזה מפעיל מחדש את סייר החלונות כל הזמן ועוד שגיאות, אבל ברגע שהם מתקנים את זה וזה משהו יציב יותר זה בהחלט להצליח מאוד.

  8.   דניאל סי דיג'ו

    עבודה מעולה "תוצרת" ארגנטינה !!!! כל הכבוד לכל צוות הפיתוח !!!!

  9.   נייר דיג'ו

    ברכות לכולם, עבודה טובה מאוד, ה- IDE די נוח לשימוש, זה יהיה מעניין מאוד לכלול עורך של ממשקי משתמש גרפיים, זה יהיה מרתק גם אם זה יאפשר לכם ליצור את תיעוד הפרויקט (אולי בסגנון של Javadocs).

    תמשיך ללכת.