อ่าน 3 นาที
เวอร์ท.เอ็กซ์
Eclipse Vert.x เป็น เฟรมเวิร์กแอปพลิเคชัน แบบขับเคลื่อนด้วยเหตุการณ์ หลายภาษา ที่ทำงานบนเครื่องเสมือน Java [ 2 ] [ 3 ]
เวอร์ท.เอ็กซ์
| เวอร์ท.เอ็กซ์ | |
|---|---|
| ผู้เขียนต้นฉบับ | ทิม ฟ็อกซ์ |
| นักพัฒนา | ทิม ฟ็อกซ์, จูเลียน เวียต, วีเอ็มแวร์ , เรดแฮท , มูลนิธิอีคลิปส์ |
| เวอร์ชันเสถียร | |
| เขียนเป็น | Java , JavaScript , Groovy , Ruby , Scala , Kotlin |
| ระบบปฏิบัติการ | ข้ามแพลตฟอร์ม |
| แพลตฟอร์ม | เครื่องเสมือน Java |
| พิมพ์ | การสร้างเครือข่ายที่ขับเคลื่อนด้วยกิจกรรม |
| ใบอนุญาต | Apacheเวอร์ชัน 2.0 Eclipse Publicเวอร์ชัน 2.0 |
| เว็บไซต์ | vertx.io |
| ที่เก็บข้อมูล |
|
Eclipse Vert.xเป็นเฟรมเวิร์กแอปพลิเคชันแบบขับเคลื่อนด้วยเหตุการณ์หลายภาษา ที่ทำงานบนเครื่องเสมือน Java [ 2 ] [ 3 ]
สภาพแวดล้อมที่คล้ายกันซึ่ง เขียน ด้วยภาษาโปรแกรมอื่นๆ ได้แก่Node.jsสำหรับJavaScript , TwistedสำหรับPython , Perl Object EnvironmentสำหรับPerl , libeventสำหรับC , reactPHP และ amphp สำหรับPHPและEventMachineสำหรับRuby
ประวัติศาสตร์
Vert.x ก่อตั้งขึ้นโดย Tim Fox ในปี 2011 ขณะที่เขาทำงานอยู่ที่ VMware
ในตอนแรก Fox ตั้งชื่อโครงการว่า "Node.x" ซึ่งเป็นการเล่นคำกับชื่อของNode.jsโดยที่ "x" แสดงถึงข้อเท็จจริงที่ว่าโครงการใหม่นี้มีลักษณะเป็นแบบหลายภาษา และไม่ได้รองรับเฉพาะ JavaScript เท่านั้น ต่อมาโครงการนี้ถูกเปลี่ยนชื่อเป็น "Vert.x" เพื่อหลีกเลี่ยงปัญหาทางกฎหมายที่อาจเกิดขึ้น เนื่องจาก "Node" เป็นเครื่องหมายการค้าที่ Joyent Inc. เป็นเจ้าของ[ 4 ]ชื่อใหม่นี้ยังเป็นการเล่นคำกับชื่อโหนดด้วย เนื่องจาก vertex เป็นคำพ้องความหมายของโหนดในทางคณิตศาสตร์
ในเดือนธันวาคม พ.ศ. 2555 หลังจากที่เขาออกจากงาน VMware ได้ส่งเอกสารทางกฎหมายให้ Tim Fox เพื่อเข้าควบคุมเครื่องหมายการค้า Vert.x ชื่อโดเมน บล็อก บัญชี GitHub และ Google Group จากชุมชน Vert.x [ 5 ] [ 6 ]
หลังจากหารือกับฝ่ายอื่นๆ หลายครั้ง ในเดือนมกราคม 2013 VMware ได้รับการโน้มน้าวว่าจะเป็นประโยชน์สูงสุดต่อชุมชน Vert.x หากย้ายโครงการและทรัพย์สินทางปัญญาที่เกี่ยวข้องไปยังมูลนิธิ Eclipse ซึ่งเป็นนิติบุคคลที่เป็นกลาง[ 7 ]
ในเดือนสิงหาคม 2013 โครงการหลักของ Vert.x ได้ย้ายไปอยู่กับ Eclipse Foundation อย่างสมบูรณ์ ส่วนโครงการอื่นๆ ที่ประกอบกันเป็น Vert.x นั้นไม่ได้ย้ายไปอยู่กับ Eclipse แต่ยังคงใช้เครื่องหมายการค้า "Vert.x" ต่อไปโดยได้รับความเห็นชอบโดยปริยายจาก Eclipse Foundation
ในเดือนพฤษภาคม พ.ศ. 2557 Vert.x ได้รับรางวัล "เทคโนโลยี Java ที่สร้างสรรค์ที่สุด" ในงาน JAX Innovation Awards [ 8 ]
เมื่อวันที่ 12 มกราคม 2016 Tim Fox ได้ลาออกจากตำแหน่งหัวหน้าโครงการ Vert.x [ 9 ]และ Julien Viet ซึ่งเป็นผู้ร่วมงานมายาวนาน ได้เข้ามารับตำแหน่งแทน
การสนับสนุนด้านภาษา
- ตั้งแต่เวอร์ชัน 2.1.4 (2014) เป็นต้นไป Vert.x ได้เปิดเผย API ในภาษาJava , JavaScript, Groovy , Ruby, Python, Scala , ClojureและCeylon
- ตั้งแต่เวอร์ชัน 3.7.0 (2019) เป็นต้นไป Vert.x ได้เปิดเผย API ในภาษา Java, JavaScript, Groovy, Ruby, Scala, Kotlinและ Ceylon
- ตั้งแต่เวอร์ชัน 3.9.1 (2020) เป็นต้นไป Vert.x ได้เปิดเผย API ในภาษา Java, JavaScript, Groovy, Ruby, Scala และ Kotlin
- ตั้งแต่เวอร์ชัน 4.0.0 (ปี 2020) เป็นต้นไป Vert.x ได้เปิดเผย API ในภาษา Java, Groovy และ Kotlin
สถาปัตยกรรม
Vert.x ใช้ ไลบรารี IO ระดับต่ำNetty [ 10 ]
โครงสร้างพื้นฐานของแอปพลิเคชันประกอบด้วยคุณสมบัติดังต่อไปนี้:
- รองรับหลายภาษา ส่วนประกอบของแอปพลิเคชันสามารถเขียนได้ด้วยภาษา Java, JavaScript, Groovy, Ruby, Scala, Kotlin และ Ceylon
- รูปแบบการทำงานพร้อมกันที่เรียบง่าย โค้ดทั้งหมดทำงานบนเธรดเดียว ช่วยลดความยุ่งยากของการเขียนโปรแกรมแบบหลายเธรด
- รูปแบบการเขียนโปรแกรมแบบอะซิงโครนัสที่เรียบง่าย สำหรับการสร้างแอปพลิเคชันที่ไม่ปิดกั้นและสามารถปรับขนาดได้อย่างแท้จริง
- ระบบจัดการเหตุการณ์แบบกระจายที่ครอบคลุมทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ ระบบจัดการเหตุการณ์นี้ยังแทรกซึมเข้าไปใน JavaScript ในเบราว์เซอร์ ทำให้สามารถสร้างเว็บแอปพลิเคชันแบบเรียลไทม์ได้
- โมเดล Actor และคลังเก็บข้อมูลสาธารณะ เพื่อนำส่วนประกอบต่างๆ มาใช้ซ้ำและแบ่งปันได้
ตัวอย่าง
เว็บเซิร์ฟเวอร์ที่แสดงข้อความ "สวัสดีจาก Vert.x!" สามารถเขียนได้ด้วยภาษา Java:
import io.vertx.core.AbstractVerticle ;public class Server extends AbstractVerticle { public void start () { vertx . createHttpServer (). requestHandler ( req -> { req . response () . putHeader ( "content-type" , "text/plain" ) . end ( "Hello from Vert.x!" ); }). listen ( 8080 ); } }และในJavaScript :
vertx.createHttpServer () . requestHandler ( function ( req ) { req.response () . putHeader ( " content-type" , "text/plain" ) . end ( " Hello from Vert.x!" ) ; }). listen ( 8080 ) ;ทั้งสองกรณีจะส่งผลให้เว็บเซิร์ฟเวอร์สามารถให้บริการเนื้อหาได้อย่างมีประสิทธิภาพสูง
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เวอร์ท.เอ็กซ์
Eclipse Vert.x เป็น เฟรมเวิร์กแอปพลิเคชัน แบบขับเคลื่อนด้วยเหตุการณ์ หลายภาษา ที่ทำงานบนเครื่องเสมือน Java [ 2 ] [ 3 ]
ประวัติศาสตร์
Vert.x ก่อตั้งขึ้นโดย Tim Fox ในปี 2011 ขณะที่เขาทำงานอยู่ที่ VMware
การสนับสนุนด้านภาษา
ตั้งแต่เวอร์ชัน 2.1.4 (2014) เป็นต้นไป Vert.x ได้เปิดเผย API ในภาษา Java , JavaScript, Groovy , Ruby, Python, Scala , Clojure และ Ceylon ตั้งแต่เวอร์ชัน 3.7.0 (2019) เป็นต้นไป Vert.
สถาปัตยกรรม
Vert.x ใช้ ไลบรารี IO ระดับต่ำ Netty [ 10 ]