JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค#21. การรวม Python เข้ากับ Java ทำความรู้จักกับ...

คอฟฟี่เบรค#21. การรวม Python เข้ากับ Java ทำความรู้จักกับ Jakarta EE และ Eclipse MicroProfile

เผยแพร่ในกลุ่ม

การรวม Python กับ Java? ทำไมจะไม่ล่ะ!

ที่มา: Jaxenter คอฟฟี่เบรค#21.  การรวม Python เข้ากับ Java  ทำความรู้จักกับ Jakarta EE และ Eclipse MicroProfile - 1ที่จริงแล้วการรวมการเขียนโปรแกรมระบบและภาษาสคริปต์ไม่ใช่แนวคิดใหม่ที่แปลก: มันไม่ค่อยได้ใช้ สำหรับภาษาการเขียนโปรแกรมที่มีอินเทอร์เฟซแอปพลิเคชันไบนารีทั่วไป คุณสามารถรวมภาษาเหล่านั้นไว้ในไลบรารีเดียวหรือสามารถเรียกใช้งานได้ทั้งหมด แม้ว่าสิ่งนี้จะทำให้สิ่งต่างๆ ยากขึ้นอีกเล็กน้อย แต่ก็มีเครื่องมือที่สามารถช่วยได้ Python และ Java เป็นส่วนเสริมซึ่งกันและกันจริงๆ ตัวอย่างเช่น คุณสามารถใช้อย่างใดอย่างหนึ่งสำหรับงานย่อยทั่วไป และอีกอันเป็นภาษาสคริปต์เพื่อขยายการตั้งค่าแอปพลิเคชันของคุณ เมื่อพูดถึงการรวมภาษาอื่น ตัวอย่างเช่น JavaScript จะไม่ถูกใช้ภายนอกเว็บเบราว์เซอร์ อย่างน้อยก็เมื่อเปรียบเทียบกับภาษาสคริปต์อื่นๆ เช่น Perl, Tcl, Visual Basic และ Python อย่างไรก็ตามภาษาเหล่านี้ทั้งหมดมักจะรวมกับภาษาอื่น 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 bytecode โดยตรง ทำให้มีความเร็วที่เหลือเชื่อ แต่โซลูชันการเขียนสคริปต์ Java อื่นๆ (Java/TCL, Java/Perl ฯลฯ) แนบ JVM เข้ากับการใช้งาน C ในภาษาเหล่านี้ ซึ่งไม่เพียงสร้างปัญหาในการพกพาเท่านั้น แต่โซลูชันเหล่านี้เองไม่ได้ง่ายอย่างที่เราต้องการ

วิธีที่ดีที่สุดในการใช้ Java และ JPython ร่วมกันคืออะไร?

มีเครื่องมือที่ได้รับการพิสูจน์แล้วจำนวนหนึ่งที่ใช้ Python ใน Java หรือในทางกลับกัน ดังนั้นคุณจึงสามารถรันคำสั่งจากภาษาหนึ่งในอีกภาษาหนึ่งได้ นี่คือรายการสั้นๆ ของเครื่องมือที่ดีที่สุดบางส่วนสำหรับการรวม Python เข้ากับ Java:
  • Jythonเป็น Python ที่ใช้งานใน Java
  • JPype - อนุญาตให้คุณรันคำสั่ง Java โดยใช้ Python
  • Jepp - Java ที่สร้างไว้ใน Python
  • JCCเป็นตัวสร้างโค้ด C++ สำหรับการเรียก Java จาก C++/Python
  • Javabridgeเป็นแพ็คเกจสำหรับการรันและโต้ตอบกับ JVM จาก CPython
  • Py4j - อนุญาตให้คุณรันคำสั่ง Java ใน Python
  • Vocเป็นองค์ประกอบของ เครื่องมือ BeeWare แปลงรหัส Python เป็น Java bytecode
  • p2j - แปลงโค้ด Python เป็น Java ไม่มีการพัฒนาอีกต่อไป
มีหลายวิธีในการใช้เครื่องมือเหล่านี้ แต่ละคนมีข้อดีและข้อเสียของตัวเอง ตัวอย่างเช่น คุณสามารถสร้างต้นแบบแอปพลิเคชันทั้งหมดใน Jython และหลังจากทดสอบและออกแบบใหม่หลายรอบแล้ว ให้เขียนทุกอย่างใหม่ใน Java สิ่งนี้ช่วยให้คุณใช้ประโยชน์จากความยืดหยุ่นและความเร็วที่เพิ่มขึ้นในการพัฒนาภาษาสคริปต์ตั้งแต่เนิ่นๆ ในโปรเจ็กต์ของคุณ อย่างไรก็ตาม ผลิตภัณฑ์ขั้นสุดท้ายของคุณจะต้องละเอียดมากกว่าที่คุณเพิ่งเริ่มเขียนด้วย Java เท่านั้น และหากคุณกังวลเกี่ยวกับไลบรารี UI Jython สามารถเชื่อมต่อกับ UIL เดียวกันกับ Java ทั่วไปได้ ดังนั้นการแปลง Java จึงน่าจะเป็นเรื่องง่าย อย่างไรก็ตาม สิ่งต่างๆ ไม่ใช่เรื่องง่ายหากคุณพยายามสร้างโครงการขนาดใหญ่ คุณมีแนวโน้มที่จะประสบปัญหาจากส่วนประกอบและเลเยอร์ต่างๆ ที่มีวงจรการพัฒนาที่เป็นอิสระ เช่น ส่วนประกอบระดับบนสุด แน่นอน คุณสามารถเขียนส่วนประกอบแต่ละส่วนใหม่ใน Java เมื่อคุณเข้าใกล้เวอร์ชันเสถียรมากขึ้น หรือเพียงแค่เขียนส่วนประกอบบางส่วนของคุณใน Java โดยเฉพาะตั้งแต่เริ่มต้น อีกทางเลือกหนึ่งคือเขียนใหม่เฉพาะส่วนประกอบที่ประสิทธิภาพมีความสำคัญ ด้วยวิธีนี้ คุณสามารถปล่อยส่วนประกอบระดับสูงไว้ใน Jython ได้ ซึ่งหมายความว่าคุณเพียงแค่ต้องเขียนส่วนประกอบระดับล่างใหม่เท่านั้น และในบางกรณี คุณจะไม่ต้องเขียนอะไรเลยอีกเลย

ขอแนะนำ Jakarta EE และ Eclipse MicroProfile

ที่มา: DZone ยังไม่เคยได้ยินเกี่ยวกับ Jakarta EE และ Eclipse MicroProfile เลยใช่ไหม ถึงเวลาทำความคุ้นเคยกับวิธีการพัฒนามาตรฐาน Java Enterprise แล้ว เทคโนโลยีทั้งสองนี้จะเป็นประโยชน์กับคุณอย่างแน่นอนในอนาคต เนื่องจากเป็นเทคโนโลยีที่ยอดเยี่ยมสำหรับการสร้างแอปพลิเคชันระดับองค์กรแบบคลาวด์เนทีฟและสมัยใหม่

Jakarta EE คืออะไร?

Jakarta EE คือชุดข้อกำหนด (JAX-RS, CDI, JPA, JSON-P ฯลฯ) สำหรับการเขียนแอปพลิเคชันระดับองค์กรใน Java ข้อมูลจำเพาะเหล่านี้เป็นเอกสารที่กำหนด API และวิธีที่เทคโนโลยีโต้ตอบ คอฟฟี่เบรค#21.  การรวม Python เข้ากับ Java  ทำความรู้จักกับ Jakarta EE และ Eclipse MicroProfile - 2เอกสารข้อกำหนดเป็นเหมือนอินเทอร์เฟซที่มีคำจำกัดความอย่างเป็นทางการ และการใช้งานจริงของอินเทอร์เฟซเหล่านี้ขึ้นอยู่กับผู้จำหน่ายแอปพลิเคชันเซิร์ฟเวอร์ (เช่น WildFly, Open Liberty, Payara, TomEE) เพื่อป้องกันไม่ให้ผู้จำหน่ายนำข้อกำหนดเฉพาะไปใช้อย่างไม่ถูกต้อง ข้อมูลจำเพาะแต่ละอย่างจึงจัดให้มี Technology Compatible Kit (CTS) นี่คือชุดการทดสอบเพื่อตรวจสอบความสอดคล้องของการดำเนินการตามข้อกำหนดเฉพาะ เมื่อแอปพลิเคชันเซิร์ฟเวอร์ส่ง CST สำหรับข้อกำหนดเฉพาะทั้งหมดแล้ว แอปพลิเคชันจะสอดคล้องกับมาตรฐานทั้งหมด หลายปีที่ผ่านมา Java EE เป็นวิธีมาตรฐานในการเขียนแอปพลิเคชันระดับองค์กร Java EE (เดิมเรียกว่า J2EE) ได้รับการสนับสนุนโดย Oracle มาเป็นเวลานาน ในปี 2017 Oracle ตัดสินใจที่จะไม่พัฒนามาตรฐานองค์กรภายใต้การอุปถัมภ์อีกต่อไป และโอนไปยัง Eclipse Foundation ด้วยเหตุผลทางกฎหมาย พวกเขาต้องเปลี่ยนโฉมใหม่และตัดสินใจเรียกผลิตภัณฑ์ว่า Jakarta EE คุณสามารถดูข้อกำหนด Jakarta EE ทั้งหมดได้บนเว็บไซต์อย่างเป็นทางการและสามารถรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของกระบวนการข้อกำหนดในปัจจุบันได้จากเว็บไซต์ Eclipse Foundation

Eclipse MicroProfile คืออะไร?

เนื่องจากกระบวนการออกและปรับใช้คุณสมบัติใหม่สำหรับ Java EE ค่อนข้างช้า กลุ่มผู้ขายและสมาชิกชุมชนจึงตัดสินใจสร้าง MicroProfile ในปี 2559 เป้าหมายหลักของโปรเจ็กต์นี้คือเพื่อช่วยให้นักพัฒนาตามทันเวลาและเพิ่มประสิทธิภาพแพลตฟอร์มที่มีอยู่สำหรับสถาปัตยกรรมไมโครเซอร์วิส ปัจจุบัน Eclipse MicroProfile มีข้อกำหนดสิบสองประการ สี่แห่งยังเป็นส่วนหนึ่งของ Jakarta EE ด้วย สิ่งนี้ช่วยให้คุณสร้างแอปพลิเคชันแบบสแตนด์อโลนด้วย MicroProfile โดยเฉพาะ ข้อมูลจำเพาะทั้งหมดเป็นอิสระจากผู้จำหน่าย และการนำไปใช้งานมาพร้อมกับแอปพลิเคชันเซิร์ฟเวอร์ ข้อมูลจำเพาะของ Jakarta EE ถือเป็นรากฐานที่มั่นคงสำหรับการสร้างแอปพลิเคชันระดับองค์กร นอกจากนี้ Eclipse MicroProfile ยังช่วยเติมเต็มช่องว่างในการสร้างระบบแบบกระจาย เนื่องจากเทคโนโลยีเป็นไปตาม วิธีการใช้ งาน Twelve-Factor
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION