14 คะแนน โดย GN⁺ 2024-07-07 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เฟรมเวิร์ก 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 ความคิดเห็น

 
cosine20 2024-07-10

อึ๋ย......

 
GN⁺ 2024-07-07
ความคิดเห็นจาก Hacker News
  • มีโปรเจกต์หลากหลายที่เกี่ยวข้องกับ Kivy และมีเครื่องมืออย่าง python-for-android และ Plyer

    • python-for-android: เครื่องมือคอมไพล์โปรเจกต์ Python สำหรับ Android
    • Plyer: เครื่องมือที่ให้ API แบบข้ามแพลตฟอร์ม (การแจ้งเตือน, ฮาร์ดแวร์, ตัวเลือกไฟล์ ฯลฯ)
  • 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 น่าสนใจ

    • ขับเคลื่อนด้วย Flutter และสามารถแปลบทเรียน Flutter/Dart มาเป็น Flet ได้
    • ยังไม่เคยใช้ แต่มีชุมชนที่เคลื่อนไหวคึกคัก และสามารถเขียนแอปเจ๋ง ๆ ด้วยภาษายอดนิยมได้
  • หาก Kivy ต้องการถูกใช้อย่างแพร่หลายมากขึ้น ก็ควรเชื่อมโยงกับสายงาน data science/machine learning ของ Python

  • การสร้างแอปข้ามแพลตฟอร์มที่เน้นข้อมูลภายในระบบนิเวศภาษาเดียว มีความซับซ้อนน้อยกว่าการใช้หลาย API และหลายรันไทม์

  • ประเภทแอปที่แนวทางภาษาเดียวมีประโยชน์ ไม่ใช่งาน data science เชิงสำรวจ

  • และก็ไม่ใช่งานที่ต้องการกราฟิกเชิงโต้ตอบประสิทธิภาพสูง

  • ในงานที่ต้องนำอัลกอริทึมและเครื่องมือที่เกี่ยวข้องไปให้ผู้ใช้ที่ไม่ใช่สายเทคนิค Kivy อาจมีข้อได้เปรียบด้านความเรียบง่ายและการทำต้นแบบได้รวดเร็ว

  • มีประสบการณ์เขียนแอป iOS ด้วย Swift และ SwiftUI

  • อยากขอให้คนที่เคยเขียนแอป iOS ด้วย Kivy และนำขึ้น App Store มาแชร์ประสบการณ์