- เฟรมเวิร์ก Python แบบโอเพนซอร์สสำหรับพัฒนาแอป GUI ที่ทำงานได้บนหลายแพลตฟอร์ม รวมถึงเดสก์ท็อป มือถือ และแพลตฟอร์มแบบฝังตัว
- มีเป้าหมายเพื่อให้สามารถออกแบบปฏิสัมพันธ์และสร้างต้นแบบได้อย่างรวดเร็วและง่ายดาย พร้อมทั้งช่วยให้สามารถนำโค้ดกลับมาใช้ซ้ำและนำไปเผยแพร่ได้
- ใช้งานง่าย และสามารถเผยแพร่แอปไปยังหลายแพลตฟอร์มได้ด้วยโค้ดเบสเดียว
- Mac, Linux (รวม Raspberry Pi OS), BSD, Windows, iOS, Android
- วิดเจ็ตทั้งหมดของ Kivy รองรับมัลติทัช
- เขียนด้วย Python และ Cython และทำงานบนพื้นฐาน OpenGL ES 2.0
- เป็นมิตรต่อธุรกิจ (สัญญาอนุญาต MIT) ใช้งานได้ฟรี 100% และมีการพัฒนา สนับสนุน และบำรุงรักษาอย่างมืออาชีพ
- เป็นเฟรมเวิร์กที่มีมานาน 10 ปี จึงมีอีโคซิสเต็มที่อุดมสมบูรณ์
- Buildozer: เครื่องมือพัฒนาที่แปลงแอปพลิเคชัน Python เป็นแพ็กเกจไบนารีเพื่อติดตั้งบนหลายแพลตฟอร์ม รวมถึงอุปกรณ์มือถือ
- Plyer: Python API ที่ไม่ขึ้นกับแพลตฟอร์มสำหรับเข้าถึงความสามารถด้านฮาร์ดแวร์บนหลายแพลตฟอร์ม (Android, iOS, macOS, Linux และ Windows)
- PyJNIus: ไลบรารี Python สำหรับเข้าถึงคลาส Java โดยใช้ JNI (Java Native Interface)
- Pyobjus: โมดูล Python สำหรับเข้าถึงคลาส Objective-C ในรูปแบบคลาส Python โดยใช้การสะท้อนรันไทม์ของ Objective-C
- Python for Android: เครื่องมือพัฒนาสำหรับแพ็กเกจแอป Python ให้เป็นไบนารีที่สามารถรันบนอุปกรณ์ Android ได้
- Kivy iOS: ชุดเครื่องมือที่คอมไพล์ไลบรารีที่จำเป็นสำหรับรันแอปพลิเคชัน Kivy บน iOS และจัดการการสร้างโปรเจกต์ Xcode
- Audiostream: ไลบรารีที่เข้าถึงไมโครโฟนและลำโพงได้โดยตรง
- KivEnt: เอนจินเกมแบบอิงเอนทิตีสำหรับ Kivy
- Oscpy: อิมพลีเมนเทชัน Python ของโปรโตคอลเครือข่าย Open Sound Control (OSC)
- Garden: วิดเจ็ตและไลบรารีที่ผู้ใช้ร่วมกันสร้างและดูแลรักษา
2 ความคิดเห็น
อึ๋ย......
ความคิดเห็นจาก Hacker News
มีโปรเจกต์หลากหลายที่เกี่ยวข้องกับ Kivy และมีเครื่องมืออย่าง python-for-android และ Plyer
KivyMD เป็นเครื่องมือที่นำ Material Design มาสร้างบน Kivy
ทีม Kivy เป็นมิตร และเคยมีประสบการณ์พบพวกเขาที่ PyCon หรือ FOSDEM
เฟรมเวิร์ก Kivy ใช้งานได้ดี และภาษาอธิบายชื่อ
kvมีประโยชน์มากการคอมไพล์ข้ามแพลตฟอร์มอาจยาก และเวลาโหลดแอปค่อนข้างนาน แต่ก็ใช้งานได้
เมื่อเทียบกับเฟรมเวิร์กขนาดใหญ่อย่าง Qt ยังขาดฟีเจอร์บางอย่าง ไม่มี WebView และการเข้าถึงยังไม่ดี
โดยรวมเป็นโปรเจกต์ที่ดีมาก แต่ก็น่าเสียดายที่ยังไม่เป็นที่รู้จักมากกว่านี้
ณ ปี 2024 ภาพหน้าจอในแกลเลอรีของ Kivy ยังดูไม่ดึงดูดนัก
ตอนนี้ Electron ดูเหมือนจะยังเป็นราชาของ UI แบบ "เดสก์ท็อป"
ไม่มีการพูดถึงเรื่องการเข้าถึงบนเว็บไซต์ และดูเหมือนว่ายังไม่ได้ทำ
Kivy ไม่เหมาะกับแอปที่ต้องเผชิญหน้ากับผู้ใช้ทั่วไป
น่าผิดหวังที่เฟรมเวิร์ก UI รุ่นใหม่ยังขาดฟีเจอร์ด้านการเข้าถึง
หน้าแลนดิ้งของ Kivy พูดถึงเรื่องการสนับสนุนเงินทุนมากกว่าตัวเฟรมเวิร์กเอง
มีภาพที่แสดง UI เพียงภาพเดียว และสไตล์ดูเหมือนภาพสต็อก
แกลเลอรีเข้าถึงได้ผ่านลิงก์ด้านบน
JavaFX ก็ยังยอดเยี่ยมอยู่ และมีแอปที่ทำงานได้ดีด้วย heap ขนาด 50MB
ยังมีตัวติดตั้งแบบเนทีฟของระบบปฏิบัติการให้ด้วย แต่ไม่รองรับเว็บ
Kivy เป็นโปรเจกต์ที่ทำให้ได้มีส่วนร่วมกับโอเพนซอร์สครั้งแรกในปี 2014
เคยส่งการรองรับไฟล์ Kivy ให้กับ Vim และทำงานผ่าน patch diff ทางอีเมลกับ Bram Moolenaar
ขอแสดงความอาลัยต่อ Bram Moolenaar
Katrain ใช้ Kivy และมีปัญหาเรื่องการแพ็กเกจและการอัปเกรดบนดิสทริบิวชันแบบ rolling release
เมื่อติดตั้งด้วย pip จะใช้งานได้เพียงบางส่วน
ในมุมมองของการแพ็กเกจ Kivy ไม่ค่อยดีนัก
เฟรมเวิร์ก Python แบบข้ามแพลตฟอร์มชื่อ flet น่าสนใจ
หาก Kivy ต้องการถูกใช้อย่างแพร่หลายมากขึ้น ก็ควรเชื่อมโยงกับสายงาน data science/machine learning ของ Python
การสร้างแอปข้ามแพลตฟอร์มที่เน้นข้อมูลภายในระบบนิเวศภาษาเดียว มีความซับซ้อนน้อยกว่าการใช้หลาย API และหลายรันไทม์
ประเภทแอปที่แนวทางภาษาเดียวมีประโยชน์ ไม่ใช่งาน data science เชิงสำรวจ
และก็ไม่ใช่งานที่ต้องการกราฟิกเชิงโต้ตอบประสิทธิภาพสูง
ในงานที่ต้องนำอัลกอริทึมและเครื่องมือที่เกี่ยวข้องไปให้ผู้ใช้ที่ไม่ใช่สายเทคนิค Kivy อาจมีข้อได้เปรียบด้านความเรียบง่ายและการทำต้นแบบได้รวดเร็ว
มีประสบการณ์เขียนแอป iOS ด้วย Swift และ SwiftUI
อยากขอให้คนที่เคยเขียนแอป iOS ด้วย Kivy และนำขึ้น App Store มาแชร์ประสบการณ์