1 คะแนน โดย GN⁺ 2024-01-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Citadel: เป้าหมายของเครื่องมือจัดการคลังอีบุ๊ก

  • ความเข้ากันได้กับ Calibre: Citadel ต้องสามารถอ่านและจัดการคลังที่ Calibre แก้ไขได้
  • ประสบการณ์ผู้ใช้: Citadel ต้องใช้งานง่ายและมีหน้าตาที่ดี
  • ประสิทธิภาพ: Citadel ต้องให้ความรู้สึกรวดเร็วพอๆ กับ Calibre

สิ่งที่ไม่ใช่เป้าหมาย

  • โปรแกรมอ่านอีบุ๊ก: Citadel ไม่ใช่โปรแกรมอ่านอีบุ๊ก และมีเครื่องมืออื่นที่ทำได้ดีกว่า
  • ตัวแก้ไข: หากคุณแก้ไขอีบุ๊กโดยใช้เครื่องมือ CLI ของ Calibre ให้เปิด discussion เพื่อหาทางออกที่ดีกว่า
  • ความสามารถตรงกัน 100%: ฟีเจอร์ขั้นสูงบางอย่างของ Calibre โดยเฉพาะที่เกี่ยวกับปลั๊กอิน จะไม่มีการสร้างตามอย่างแน่นอน

การพัฒนา

  • ต้องติดตั้ง Bun เป็นข้อกำหนดเบื้องต้นสำหรับการพัฒนา
  • หากต้องการดูแอปโดยไม่ใช้ Tauri ให้รัน bun dev:app
  • หากต้องการรันแบ็กเอนด์ในโหมดเซิร์ฟเวอร์เพื่อการพัฒนา ให้รัน bun dev -- -- -- -- --server --calibre-library=/path/to/calibre/library
  • หากต้องการรันแบ็กเอนด์ในโหมดเซิร์ฟเวอร์สำหรับใช้งานจริง ให้รัน /Applications/Citadel.app/Contents/MacOS/Citadel --server --calibre-library=/path/to/calibre/library

การบิลด์

  • หากต้องการสร้าง Citadel เวอร์ชัน production ให้รัน bun run build

เครดิตเพิ่มเติม

  • ขอขอบคุณอย่างยิ่ง Kemie Guaida ที่สร้าง Figma prototype สำหรับการออกแบบ Calibre ใหม่

ความเห็นของ GN⁺

  • Citadel เป็นซอฟต์แวร์ที่มุ่งเป้าไปที่ความเข้ากันได้อย่างสมบูรณ์กับ Calibre ในการจัดการอีบุ๊ก พร้อมให้ความสำคัญกับประสบการณ์ผู้ใช้และประสิทธิภาพ
  • แทนที่จะมีฟังก์ชันโปรแกรมอ่านอีบุ๊กหรือตัวแก้ไข มันมุ่งเน้นการมอบอินเทอร์เฟซที่ดีกว่าและประสิทธิภาพที่ดีขึ้นให้กับผู้ใช้ Calibre เดิม
  • สำหรับนักพัฒนา มีการแนะนำขั้นตอนการพัฒนาและการบิลด์ของ Citadel อย่างเข้าใจง่ายผ่านการตั้งค่าสภาพแวดล้อมด้วย Bun และชุดคำสั่งต่างๆ ซึ่งเป็นตัวอย่างที่ดีในการส่งเสริมการมีส่วนร่วมและความร่วมมือในชุมชนนักพัฒนา

1 ความคิดเห็น

 
GN⁺ 2024-01-15
ความเห็นจาก Hacker News
  • ผู้พัฒนาสร้างแอปใหม่นี้ขึ้นมาเพราะต้องการความสนุกจากการทำโปรเจกต์งานอดิเรก และสนใจการสร้างซอฟต์แวร์ของตัวเองมากกว่าการไปมีส่วนร่วมกับโปรเจกต์เดิม ๆ โดย Citadel ยังคงความเข้ากันได้กับ Calibre และแยกโค้ดที่จัดการกับ Calibre ออกมาเป็นไลบรารีต่างหาก เพื่อให้นักพัฒนาคนอื่นนำไปใช้กับโปรเจกต์ของตนได้

  • ผู้ใช้คนหนึ่งบอกว่าฟังก์ชันของ Calibre นั้นดี แต่ไม่ชอบส่วนติดต่อผู้ใช้ (UI) จึงได้ออกแบบอินเทอร์เฟซที่มีดีไซน์ผสมระหว่าง iTunes และ iBooks และมีคำถามว่าควรนำเสนอฟังก์ชันหลักของ Calibre อย่างไรใน UI ที่ให้ความรู้สึกเป็น native บน macOS โดยมีแผนจะพัฒนาเป็นแอป SwiftUI และอาจใช้ Rust backend ของ Citadel ด้วย

  • ผู้ใช้อีกรายมองว่าถ้าหน้าตาของ Calibre ได้รับการปรับปรุง คนจะเห็นคุณค่าของมันมากขึ้น ตอนนี้แม้ตนจะชอบ Calibre มาก แต่ก็รู้สึกว่าคนจำนวนมากมองข้ามคุณค่าของมันเพราะรูปลักษณ์ภายนอก

  • ผู้ใช้คนหนึ่งพบวิธีคัดลอกไฟล์ epub ไปยังเครื่องอ่าน Kobo โดยตรง และดีใจที่สามารถส่งหนังสือได้โดยไม่ต้องใช้ Calibre แม้ว่าฟีเจอร์อื่น ๆ ของ Calibre จะดี แต่เพราะไม่ชอบอินเทอร์เฟซ จึงพอใจที่ไม่ต้องใช้งานมันอีกต่อไป

  • ผู้ใช้ที่แสดงความไม่พอใจกับ UI ของ Calibre บอกว่าเคยคิดจะอาสาช่วยงานด้าน UI/UX แต่ล้มเลิกไปเพราะดูเหมือนจะเป็นโปรเจกต์ที่ต้องใช้เวลาหลายปี และหันมาเสนอความช่วยเหลือด้าน UI/UX ให้กับโปรเจกต์ Citadel แทน

  • มีผู้ใช้ส่งคำชื่นชมไปยังผู้พัฒนาที่เปิดตัว Citadel พร้อมแสดงความสนใจใน Calibre CLI และสงสัยว่าหาก Citadel ไม่ได้มุ่งไปที่ฟังก์ชันแบบ "reader" และ "editor" แล้ว ตัวแอปมอบความสามารถอะไรให้ผู้ใช้บ้าง รวมถึงมี roadmap สำหรับฟีเจอร์ที่จะเพิ่มในอนาคตหรือไม่

  • อีกคนหนึ่งบอกว่าเคยเริ่มโปรเจกต์คล้ายกัน แต่เลือกพัฒนาด้วย SvelteKit และเบราว์เซอร์แทนแอป native และกำลังมีปัญหาในการรักษาแรงจูงใจให้ทำโปรเจกต์จนเสร็จ

  • ผู้พัฒนา Citadel อธิบายว่าใช้ Tauri เพื่อสร้างเดสก์ท็อปแอปแบบข้ามแพลตฟอร์ม เพราะมีปัญหาในการทำ UI ที่ทำงานได้เฉพาะบน macOS และมองว่า Citadel น่าจะเข้ากันได้ดีกับ ecosystem ของ Zotero อีกทั้งการเสริมความสามารถด้านอีบุ๊กและความเข้ากันได้กับ Calibre ของ Zotero ก็น่าจะได้รับการต้อนรับ อาจทำให้ Citadel เป็นเหมือน "distribution" ของ Zotero ที่มอบประสบการณ์ซึ่งปรับให้เหมาะกับคนที่ชอบการอ่านมากขึ้น

  • ผู้ใช้ที่มองว่าโปรเจกต์ Citadel น่าสนใจบอกว่าไม่นานมานี้ตนได้พัฒนาเดสก์ท็อปแอปจัดการหนังสือเสียงโดยใช้สแตก Rust + Tauri + Svelte พร้อมโปรโมตโปรเจกต์ของตัวเองและชวนผู้ที่สนใจไปลองดู

  • ผู้ใช้คนหนึ่งรู้สึกสนุกกับการเห็นคำสั่ง bun dev -- -- -- -- --server ...