JavaRush /בלוג Java /Random-HE /הפסקת קפה מס' 21. שילוב של Python עם Java. היכרות עם ג'קר...

הפסקת קפה מס' 21. שילוב של Python עם Java. היכרות עם ג'קרטה EE ו-Eclipse MicroProfile

פורסם בקבוצה

אינטגרציה של Python עם Java? למה לא!

מקור: Jaxenter הפסקת קפה מס' 21.  שילוב של Python עם Java.  היכרות עם ג'קרטה EE ו-Eclipse MicroProfile - 1 למעשה, שילוב של תכנות מערכות ושפות סקריפטים אינו מושג חדש ומוזר: הוא פשוט בשימוש נדיר. עבור שפות תכנות שיש להן ממשק יישום בינארי משותף, ניתן בהחלט לשלב אותן לספרייה אחת או לקובץ הפעלה. אמנם זה מקשה קצת יותר, אבל יש כלים שיכולים לעזור. Python ו-Java למעשה משלימים זה את זה. לדוגמה, אתה יכול להשתמש באחת מהן עבור משימות משנה טיפוסיות, והשנייה כשפת סקריפטים כדי להרחיב את ההגדרות של היישום שלך. במונחים של שילוב שפות אחרות, JavaScript, למשל, אינו משמש בדרך כלל מחוץ לדפדפני אינטרנט, לפחות בהשוואה לשפות סקריפטים אחרות כמו Perl, Tcl, Visual Basic ו-Python. עם זאת, כל השפות הללו משולבות בדרך כלל עם שפות אחרות. פייתון שולבה באופן מסורתי עם C ו-C++, בעוד ש-Visual Basic היא לרוב שפת הסקריפט המועדפת עבור C++ בפלטפורמת Windows. ו-Perl, כמו Tcl, נמצא בשימוש נפוץ ב-C/Unix. נעשה שימוש ב-Python לעתים קרובות יותר ב-Windows מכיוון שהוא משתלב בקלות עם ארכיטקטורת Microsoft Scripting Host כמו גם COM. בנוסף, זה נהדר גם עבור כלי macOS.

למה Java ו-Python?

Python היא שפת סקריפט מונחה עצמים, מה שהופך אותה להתאמה טובה ל-Java. בשילוב עם מתורגמן Python הכתוב כולו ב-Java, כמו Jython, ניתן לכתוב יישומונים שלמים ב-Python, אשר לאחר מכן יכולים לפעול בכל דפדפן תואם JDK, עם ביצוע קוד במהירות כמעט כמו C/CPython. מתורגמן Jython מתרגם את קוד המקור של Python ישירות לקוד בייט של Java, ומעניק לו מהירות מדהימה. אבל פתרונות Java scripting אחרים (Java/TCL, Java/Perl וכו') מצמידים את ה-JVM למימוש C בשפות אלו, מה שלא רק יוצר בעיית ניידות, אלא שהפתרונות הללו עצמם אינם קלים כפי שהיינו רוצים.

מהי הדרך הטובה ביותר להשתמש ב-Java ו-JPython ביחד?

ישנם מספר כלים מוכחים המיישמים את Python ב-Java או להיפך, כך שתוכל להריץ פקודות משפה אחת בשפה אחרת. להלן רשימה קצרה של כמה מהכלים הטובים ביותר לשילוב Python עם Java:
  • Jython הוא Python מיושם בג'אווה.
  • JPype - מאפשר לך להפעיל פקודות Java באמצעות Python.
  • Jepp - Java מובנית בפייתון.
  • JCC הוא מחולל קוד C++ לקריאה ל-Java מ-C++/Python.
  • Javabridge היא חבילה להפעלה ואינטראקציה עם ה-JVM מ-CPython.
  • Py4j - מאפשר לך להריץ פקודות Java ב-Python.
  • Voc הוא מרכיב של הכלי BeeWare . ממיר קוד Python ל-Java bytecode.
  • p2j - ממיר קוד Python ל-Java. כבר לא בפיתוח.
ישנן מספר גישות לשימוש בכלים אלו. לכל אחד יתרונות וחסרונות משלו. לדוגמה, אתה יכול לכתוב אב טיפוס של אפליקציה שלמה ב-Jython, ולאחר מספר סבבים של בדיקות ועיצוב מחדש, לכתוב הכל מחדש ב-Java. זה מאפשר לך לנצל את הגמישות והמהירות המוגברות של פיתוח שפות סקריפטים בשלב מוקדם של הפרויקט שלך. עם זאת, המוצר הסופי שלך יצטרך להיות קצת יותר מפורט מאשר אם רק התחלת לכתוב ב-Java בלבד. ואם אתה מודאג לגבי ספריות ממשק משתמש, Jython יכול להתחבר לאותם UILs כמו Java רגיל, כך שהמרת Java צריכה להיות קלה. עם זאת, הדברים אינם כה פשוטים אם אתה מנסה לבנות פרויקט גדול. סביר להניח שתיתקל בחסרון של רכיבים ושכבות שונים בעלי מחזורי פיתוח עצמאיים, כגון רכיבים ברמה העליונה. כמובן, אתה יכול לשכתב רכיבים בודדים ב-Java ככל שאתה מתקרב למהדורה יציבה, או פשוט לכתוב חלק מהרכיבים שלך באופן בלעדי ב-Java מההתחלה. אפשרות נוספת היא לשכתב רק את הרכיבים שעבורם הביצועים חשובים. כך תוכלו להשאיר את הרכיבים ברמה הגבוהה ב-Jython, מה שאומר שאתם צריכים רק לשכתב את הרכיבים ברמה הנמוכה יותר, ובמקרים מסוימים לא תצטרכו לשכתב שום דבר בכלל.

היכרות עם Jakarta EE ו-Eclipse MicroProfile

מקור: DZone עדיין לא שמעתם על Jakarta EE ו-Eclipse MicroProfile? אז, הגיע הזמן להכיר את האופן שבו תקן Java Enterprise התפתח. שתי הטכנולוגיות הללו בטוח יהיו שימושיות עבורך בעתיד, מכיוון שהן מעולות לבניית יישומים ארגוניים מקוריים בענן ומודרניים.

מה זה ג'קרטה EE?

Jakarta EE הוא סט מפרטים (JAX-RS, CDI, JPA, JSON-P וכו') לכתיבת יישומים ארגוניים ב-Java. מפרטים אלו הם מסמכים המגדירים את ה-API וכיצד הטכנולוגיה מקיימת אינטראקציה. הפסקת קפה מס' 21.  שילוב של Python עם Java.  היכרות עם ג'קרטה EE ו-Eclipse MicroProfile - 2מסמכי מפרט הם כמו ממשקים עם הגדרות פורמליות, והיישום בפועל של ממשקים אלה תלוי בספק שרת היישומים (למשל WildFly, Open Liberty, Payara, TomEE). כדי למנוע מספק ליישם מפרט שגוי, כל מפרט מספק ערכת תאימות טכנולוגית (CTS). זוהי קבוצה של בדיקות לאימות תאימות של יישום של מפרט מסוים. ברגע ששרת היישומים משדר את ה-CST עבור כל המפרטים, הוא עומד בתקן כולו. במשך שנים רבות, Java EE הייתה הדרך הסטנדרטית לכתיבת יישומים ארגוניים. Java EE (שנקראה בעבר J2EE) נתמכת על ידי אורקל במשך זמן רב. ב-2017, אורקל החליטה לא לפתח עוד את התקן הארגוני בחסותה והעבירה אותו לקרן Eclipse. מסיבות משפטיות, הם נאלצו למתג מחדש והחליטו לקרוא למוצר Jakarta EE. אתה יכול למצוא את כל מפרטי Jakarta EE באתר הרשמי , ותוכל לקבל מידע נוסף על אופן הפעולה של תהליך המפרט כרגע באתר Eclipse Foundation.

מהו Eclipse MicroProfile?

מכיוון שתהליך ההפצה וההתאמת תכונות חדשות עבור Java EE היה איטי למדי, קבוצה של ספקים וחברי קהילה החליטה ליצור MicroProfile ב-2016. המטרה העיקרית של הפרויקט הזה הייתה לעזור למפתחים להתעדכן בזמנים וגם לייעל את הפלטפורמה הקיימת לארכיטקטורת שירותי מיקרו. נכון לעכשיו, Eclipse MicroProfile מכיל שנים עשר מפרטים. ארבעה מהם הם גם חלק מג'קרטה EE. זה מאפשר לך ליצור יישומים עצמאיים אך ורק עם MicroProfile. כל המפרטים אינם תלויים בספק והיישום מגיע עם שרת היישומים. מפרטי Jakarta EE יכולים להיחשב כבסיס איתן לבניית יישומים ארגוניים. בנוסף לכך, Eclipse MicroProfile ממלא פער בבניית מערכות מבוזרות שכן הטכנולוגיה פועלת לפי מתודולוגיית היישום של Twelve Factor .
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION