4 คะแนน โดย GN⁺ 2024-04-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Kate เติบโตมาโดยมีระบบตระกูล Unix เป็นศูนย์กลาง แต่ตอนนี้สามารถรันหรือถูกพอร์ตไปยังระบบปฏิบัติการเดสก์ท็อปหลายตัว ตั้งแต่ Windows, macOS ไปจนถึง Haiku
  • บน Linux และ BSD การรองรับ X11·Wayland มีความเสถียรมานานแล้ว และสามารถติดตั้งเป็นแพ็กเกจทั่วไปได้บน Fedora, NixOS, FreeBSD, OpenBSD เป็นต้น
  • การรองรับ Windows และ macOS เป็นส่วนหนึ่งของงานพอร์ตระยะยาวของชุมชน KDE โดยมี Windows Store, nightly build และสภาพแวดล้อมพัฒนาที่อิง Craft ให้ใช้งาน
  • Android และ iOS ไม่ใช่เป้าหมายหลักของ Kate แต่ก็มีกรณีที่มีการพอร์ตเกิดขึ้นแม้ทีม Kate ไม่ได้ลงมือทำโดยตรง เช่น Haiku
  • บนระบบที่โดยทั่วไปไม่ใช้ DBus อย่าง Windows, macOS, Android งานที่ยังเหลืออยู่คือการ ลบ dependency ต่อ DBus และเฟรมเวิร์กอย่าง KIO ยังต้องมีงานเพิ่มเติม

สถานะการรองรับ Kate แยกตามแพลตฟอร์ม

  • ระบบตระกูล Unix ได้รับการรองรับอย่างเสถียรมานานแล้ว หากมี X11 หรือ Wayland
    • Linux ถูกใช้เป็นแพลตฟอร์มหลักในการพัฒนา Kate มาโดยตลอด ทั้งในสภาพแวดล้อม X11 และ Wayland
    • Kate ถูกพอร์ตไปยัง BSD หลายสายพันธุ์ เช่นเดียวกับแอปพลิเคชัน KDE อื่นๆ
    • สามารถติดตั้งได้ผ่านระบบแพ็กเกจทั่วไปบน Fedora, NixOS, FreeBSD, OpenBSD เป็นต้น
    • สามารถ build จาก source ได้โดยตรง และ patch ที่จำเป็นควรอยู่ใน repository upstream
    • วิธี build Kate บนระบบตระกูล Unix และเข้าร่วมพัฒนามีอยู่ใน Kate build guide
  • การรองรับ Windows เป็นส่วนหนึ่งของแนวทางที่ชุมชน KDE ทำมาหลายปีในการนำไลบรารีและแอปพลิเคชันไปให้ใช้งานบน Windows
    • Windows เป็นแพลตฟอร์มไม่เสรี แต่ก็เป็นช่องทางให้แอปพลิเคชัน KDE เข้าถึงผู้ใช้และนักพัฒนารายใหม่ได้
    • Kate และแอปพลิเคชัน KDE บางส่วนมีอยู่ใน Windows Store อย่างเป็นทางการ
    • แอปพลิเคชันจำนวนมากกว่านั้นมีให้ใช้งานในรูปแบบ nightly build
    • การพัฒนา Kate บน Windows ทำได้ผ่าน Craft
    • หากต้องการทดลองใช้งาน สามารถใช้ตัวติดตั้ง nightly จาก Kate website
  • macOS ก็เป็นหนึ่งในแพลตฟอร์มไม่เสรีหลักที่ Kate ต้องการรองรับ
    • มี nightly build สำหรับ macOS ให้ใช้งาน
    • เช่นเดียวกับ Windows สามารถพัฒนา Kate ได้โดยใช้ Craft
    • ตัวติดตั้ง nightly สำหรับ Mac ทั้ง ARM และ Intel สามารถดาวน์โหลดได้จาก Kate website
  • Kate ยังสามารถถูกพอร์ตไปยัง ระบบปฏิบัติการเดสก์ท็อปอื่นๆ ได้ด้วย
    • แพลตฟอร์มมือถืออย่าง Android และ iOS ไม่ใช่เป้าหมายหลักของ Kate
    • แม้ทีม Kate จะไม่ได้ทำงานเชิงรุกโดยตรง แต่ก็มีการสร้างพอร์ต Kate สำหรับ Haiku
    • มี patch แบบหนึ่งบรรทัดบางส่วนสำหรับพอร์ต Haiku ที่ถูกนำเข้า upstream แล้ว
    • แม้เป็นพอร์ตสำหรับระบบที่ไม่ใช่กระแสหลัก ก็อาจถูกนำเข้า upstream ได้ หาก patch ไม่ล่วงล้ำมากเกินไป

เหตุผลที่ต้องการ contribution สำหรับแพลตฟอร์มอื่น

  • นักพัฒนา Kate ส่วนใหญ่ทำงานบน Linux หรือ BSD ดังนั้นระบบอื่นๆ จึงต้องการความช่วยเหลือเพิ่มเติมทั้งด้านการพัฒนาและการทดสอบ
    • ผู้ใช้ Windows หรือ macOS สามารถดาวน์โหลด nightly build จาก Kate website ไปทดสอบได้
    • หากรัน Craft กระบวนการ contribution ก็จะง่ายขึ้น
  • หนึ่งในโจทย์ล่าสุดคือการดำเนินการ ลบ DBus บนระบบที่โดยปกติไม่ใช้ DBus เช่น Windows, macOS, Android
    • การประสานงานดำเนินอยู่ใน issue ของ craft-blueprints-kde
    • ปัจจุบัน nightly build ของ Kate ได้รับการปรับปรุงจนไม่ค้างอีกต่อไปบนระบบอย่าง macOS
    • เฟรมเวิร์กบางส่วนอย่าง KIO ยังต้องมีงานเพิ่มเติม
    • DBus มีประโยชน์บนระบบที่ใช้งานแบบ native อย่าง Linux หรือ BSD แต่บนระบบที่ไม่มีแนวคิดของ DBus อาจทำให้เกิดอาการค้างหรือสร้าง process ที่ไม่ต้องการได้
    • บนระบบเหล่านั้นไม่มีแม้แต่ bus service ให้สื่อสารด้วย ทำให้ประโยชน์ของ DBus ต่ำ

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

 
GN⁺ 2024-04-15
ความคิดเห็นบน Hacker News
  • Kate เป็นหนึ่งในเหตุผลหลักที่ทำให้ย้ายมาใช้ Linux ในปี 2004/2005
    ตอนนั้นกำลังฝึกใช้ MySQL อยู่ แต่ถ้าจะพัฒนาบน Windows ก็มีแค่ MySQL Workbench ซึ่งหนักมาก การรัน SQL ช้าจนทรมาน ทำให้รอบการลองซ้ำยาวมาก
    บน Linux ผมเขียน SQL ใน Kate แล้วเปิดไคลเอนต์บรรทัดคำสั่ง MySQL ในเทอร์มินัลในตัว จากนั้นพอพร้อมก็แค่กดปุ่ม “pipe to terminal” ก็รันได้ทันที งานที่บน Windows ใช้เวลาหลายนาที บน Linux ใช้เวลา ไม่ถึง 2 วินาที แล้วจะไม่รักได้ยังไง
    อีกเหตุผลหนึ่งคือเครื่องเล่น mp3 อย่าง Amarok ถ้าคุณชอบฟีเจอร์ของบริการอย่าง Spotify ที่สร้างเพลย์ลิสต์ไม่สิ้นสุดหรือวิทยุตามรสนิยมให้โดยอัตโนมัติ KDE ก็น่าจะมีฟีเจอร์แบบนั้นมาตั้งแต่ปี 2002 แล้ว ตอนแรก iTunes ลอกไป ต่อมา Spotify ก็ลอกไป และตอนนี้มันถูกมองเหมือนเป็นฟีเจอร์มาตรฐาน

    • ตอนนั้น k3b ก็เป็นซอฟต์แวร์เขียน CD ที่ยอดเยี่ยมมาก และอินเทอร์เฟซก็พอจะแข่งกับซอฟต์แวร์เชิงพาณิชย์ยุคเดียวกันได้สบาย
      KDE 3.5 เป็นหนึ่งในจุดสูงสุดของอินเทอร์เฟซกราฟิกบน GNU/Linux หรืออาจเป็นจุดสูงสุดเลยก็ได้
      ในยุคที่คุ้นกับอินเทอร์เฟซ Windows XP พอลองใช้ KDE แล้วรู้สึกทึ่งมาก และหลังจากนั้นไม่นาน นวัตกรรมอินเทอร์เฟซที่ Vista เคยสัญญาไว้ก็แทบไม่มีอะไร เมื่อเทียบกับสิ่งที่ทำได้ใน Compiz แม้นั่นจะเป็นเรื่องฝั่ง Gnome 2 ก็ตาม
    • ใช่เลย ตอนเริ่มใช้ Kate บน Linux ราวปี 2005 ผมเพิ่งย้ายมาจาก Notepad บน Windows เลยแทบไม่อยากเชื่อว่ามันดีขนาดไหน น่าจะเป็นครั้งแรกที่ได้สัมผัส การไฮไลต์ไวยากรณ์
      แล้วก็ยังมี Amarok ด้วย ผมลืมไปพักใหญ่ แต่พอกลายเป็นผู้ใช้ Mac สิ่งที่เสียดายที่สุดคือการเสีย Amarok ไป หลังจากนั้นก็ไม่เคยได้ใช้ของที่ใกล้เคียงกันอีกเลย
    • บน Windows ก็มี WAMP กับ phpmysql ทำให้รันคิวรีในเบราว์เซอร์ได้เหมือนกัน แค่ก่อนยุค Dreamweaver กับ Microsoft InterDev ราวปี 2001 มันทำใน IDE ไม่ได้เท่านั้น
      Kate เจ๋งก็จริง แต่ไม่ใช่ตัวแรกที่มีฟีเจอร์แบบนี้
    • น่าสนใจนะ ผมคิดว่าเคยลองใช้ Kate ก่อนหน้านั้นไม่กี่ปี แต่บั๊กกับแครชเยอะมากจนแทบใช้ไม่ได้
      ตอนนั้นคงใกล้กับรุ่นแรก ๆ มาก ปัญหาเหล่านั้นคงถูกแก้ไปแล้วแน่นอน แต่ตอนนั้นนิสัยการทำงานที่ไม่รวม Kate ก็ฝังตัวไปแล้ว จนตอนนี้ก็ยังไม่ได้ใช้
    • ผมชอบ Amarok รุ่นเก่ามากจริง ๆ ทุกวันนี้ในบรรดาเครื่องเล่นสำหรับผู้ใช้ทั่วไป ผมรู้จักแค่ Music ของ Apple เท่านั้นที่ยังมีฟีเจอร์บางส่วนแบบนั้น
  • Kate กับ Dolphin เป็นสองอย่างแรก ๆ ใน KDE ที่ผมค้นพบแล้วประทับใจในทางบวกมากที่สุด
    Kate ทำหน้าที่แทน Np++ ที่เคยทำบน Windows ให้ผม ใช้เมื่อต้องการทำงานแบบ อิงไฟล์ ไม่ใช่อิงโปรเจกต์หรือไดเรกทอรี

    • ถ้าทำงานแบบอิงไฟล์และไม่ต้องการแบบอิงโปรเจกต์หรือไดเรกทอรี ก็น่าจะใช้ Kwrite มากกว่า มันคือ Kate เวอร์ชันที่ตัดทอนลงมาเพื่อจุดประสงค์นั้นโดยตรง
    • เหมือนที่ Dolphin ดีกว่า Explorer, Kate ก็ดีกว่า Notepad++
    • สำหรับวิธีที่ผมใช้ Notepad++ นั้น notepadqq แทนได้แทบจะตรงตัว หลัก ๆ เพราะใช้แสดงจุดสิ้นสุดบรรทัด และค้นหา/แทนที่อักขระขยายอย่าง \n กับ \t อินเทอร์เฟซก็แทบเหมือนกัน
      ไม่ได้อัปเดตมาหลายปีแล้ว แต่ผมใช้มานานกว่าหนึ่งปีโดยไม่เจอบั๊กเลย
    • ในยุคต้น ๆ ของ Gnome 2 Gedit ที่ติดปลั๊กอินเยอะ ๆ ก็ทำหน้าที่แบบเดียวกันให้ผม
  • Kate เป็นเอดิเตอร์ที่น่าประทับใจจริง ๆ และดีใจที่ยังพัฒนาต่อเนื่องและถูกพอร์ตไปยังระบบปฏิบัติการอื่น ๆ ด้วย ไม่รู้มาก่อนว่าตอนนี้มี การรองรับ LSP แล้ว ดูดีมาก
    ถ้าเกิดอะไรขึ้นกับ BBEdit ตัวเลือกถัดไปอาจเป็น Kate ก็ได้

    • บน Linux ใช้ KATE ส่วนบน macOS ใช้ BBEdit เป็นหลักในการพัฒนา Golang Kate เร็ว เสถียร และฟีเจอร์ครบมาก เป็นเครื่องมือแรกที่เปิดใช้เมื่อไม่ต้องการ IDE เต็มรูปแบบ
    • ตอนนี้เริ่มสนใจแล้ว
      BBEdit เป็นเอดิเตอร์หลักของผม
      ผมใช้ BBEdit มาตั้งแต่ราวปี 1997 และในช่วง 15 ปีที่ผ่านมา แม้จะย้ายไปใช้ Sublime กับ VSCode เป็นหลัก แต่ก็พยายามตั้งค่าให้ใกล้กับ BBEdit มากที่สุดเสมอ ถึงอย่างนั้นฟีเจอร์ค้นหา/แทนที่ไฟล์เดียวหรือหลายไฟล์ และฟีเจอร์เปรียบเทียบของ BBEdit ก็ยังตามไม่ทัน
      ในทำนองเดียวกัน ผมชอบ macOS เป็นสภาพแวดล้อมเดสก์ท็อปที่สุด แต่ตลอด 2 ปีที่ผ่านมา สภาพแวดล้อมเดสก์ท็อปสำหรับพัฒนาหลักของผมคือ KDE ดังนั้นคงต้องลองใช้ Kate จริงจังสักครั้ง
  • ชอบส่วนที่บอกว่า “แม้จะเป็นแพลตฟอร์มที่ไม่เสรี แต่ถ้าเข้าถึงผู้ใช้และนักพัฒนารายใหม่ได้ ก็อาจทำให้พวกเขาสนใจย้ายไปยังแพลตฟอร์มเปิดอย่างสมบูรณ์ในภายหลัง”
    นักพัฒนา KDE มี วิสัยทัศน์ ดีเสมอมา อาจเหมือนพยายามสร้างเชลล์ของ OS ที่ซิงก์ข้อมูลผู้ใช้ข้ามหลายระบบปฏิบัติการ พอมี KDE Connect ด้วย แอปพลิเคชันของ KDE ก็ครอบคลุมการใช้งานของผู้ใช้ทั่วไปได้ 99%
    KDE Plasma ไม่ค่อยเข้ากับผมเท่าไร แต่แอปพลิเคชันของ KDE ตอบสนองดี ผมจึงเลือกใช้บนระบบ Linux เสมอ
    Dolphin สำหรับ Windows[1] ก็มีอยู่ แต่ยังมีปัญหาบางอย่าง
    [0] https://apps.kde.org/kdeconnect/
    [1] https://cdn.kde.org/ci-builds/system/dolphin/master/windows/

    • แอปพลิเคชัน KDE ยังมีหลายจุดที่ต้องปรับบน ระบบที่ไม่ใช่ X11/Wayland Kate ได้รับการขัดเกลาบน Windows ในช่วงไม่กี่ปีที่ผ่านมา แต่เวอร์ชัน macOS ยังต้องปรับอีก
  • เหมือนคนส่วนใหญ่ในนี้ สุดท้ายก็มีชุดเครื่องมือหลายอย่าง แต่ดีใจที่มี Kate อยู่ และรู้สึกขอบคุณมากต่อคุณภาพระดับสูงกับฟีเจอร์ที่ยอดเยี่ยม เมื่อก่อนคงต้องจ่ายเงินให้ของอย่าง UltraEdit และต้องวุ่นกับไลเซนส์ ซึ่งพอทำงานข้ามขอบเขตบริษัทใหญ่ ๆ ก็กลายเป็นฝันร้ายได้
    ผมสลับใช้ Kate, Geany, Notepad++ บนเครื่อง Windows/macOS/Linux ตามงาน
    ไม่กี่เดือนก่อน Kate ทำให้ผมประหลาดใจ ต้องเขียน แอสเซมบลี สำหรับโปรเซสเซอร์แบบปรับแต่งเองทั้งหมดที่มี ISA ต่างจากมาตรฐานอุตสาหกรรมโดยสิ้นเชิง แต่ Kate ไฮไลต์ไวยากรณ์ให้ได้ และด้วยธีมสีที่เหมาะกับฟีเจอร์ “ดับเบิลคลิกเพื่อไฮไลต์” ทำให้จัดการการเปลี่ยนแปลงที่ซับซ้อนได้ง่ายกว่าสิ่งอื่นใดมาก รวมถึง VSCode/VSCodium ด้วย

  • Kate เป็นเอดิเตอร์ที่น่ารัก ผมเขียน Designing Sound ไปประมาณครึ่งหนึ่งด้วย Kate ก่อนจะย้ายไป Emacs ช่วงท้าย ๆ เพราะอยากจัดการการผสานงานกับโค้ดให้ดีกว่าเดิม
    สิ่งที่ชอบคือสามารถเปิดหน้าต่างไฟล์ทิ้งไว้ แล้วตัดและวางระหว่างไฟล์ได้อย่างรวดเร็วมาก
    แม้จะเป็นสาวก Emacs ที่ผ่านพิธีล้างบาปและรับศีลกำลังมาแล้ว แต่ผมก็ยังรู้สึกว่าวิธีคิดแบบเน้นบัฟเฟอร์ยังไม่สอดคล้องกับไฟล์ได้ดีเท่าที่ต้องการ Kate จับจุดที่เหมาะสมของ เวิร์กโฟลว์แบบอิงไฟล์ ได้ดี

    • ทุกวันนี้ Kate มีการผสานงานกับโค้ดที่ดีเหมือนกัน แต่ขึ้นอยู่กับภาษา บางภาษาอาจไม่ได้ดีนัก
  • ล็อกอินมาเพื่อจะพูดแค่นี้เลย สมัย KDE 3 Kate เป็นเหตุผลหลักที่ทำให้ผมใช้ KDE เป็นเดสก์ท็อปเอนไวรอนเมนต์ต่อไป
    ผมย้ายไป Mac นานมากแล้ว แต่ก็ยังใช้ Kate เป็นเอดิเตอร์อยู่ ดีใจที่มันยังคงอยู่

    • Kate บน MacOS แย่มาก ผมเคยพยายามช่วยแก้ปัญหาที่คีย์ลัดทั้งหมด “ผิด” ไปหมด MacOS ใช้คีย์ลัดเฉพาะบางอย่างที่ต่างจากระบบ Unix ส่วนใหญ่ แต่ Kate ก็ยังไม่ใช้คีย์ลัดที่ถูกต้องตามที่ผู้ใช้ Mac ทุกคนคาดหวังด้วย จนกว่าจะไป override บางส่วนเอง มันจึงเหมือนฝันร้าย
      ผมลองใช้เครื่องมือ build ที่บทความแนะนำแล้ว แต่การ build Kate ก็ยังเป็นฝันร้ายอยู่ดี ผมลองสุ่มทำตามสิ่งที่คนในแชต Kate แนะนำอยู่หลายวัน สุดท้ายก็ยอมแพ้ แต่ละ build ใช้เวลาหลายชั่วโมง และตอนท้ายก็ล้มเหลวด้วยข้อผิดพลาดที่ไม่รู้สาเหตุโดยสิ้นเชิง
      บน Linux ผมใช้ Kate อย่างมีความสุขมาก แต่ในฐานะคนที่ใช้ Mac เป็นหลัก ก็เลยปล่อยมันไป แล้วใช้ emacs สำหรับงานจิปาถะ และใช้ IntelliJ ต่อไปสำหรับ Java/Kotlin/Groovy/Dart รวมถึงสิ่งที่ Jetbrains รองรับได้ดี
  • Kate เป็นทางเลือกที่ดีแทนของอย่าง VSCode หรือ BBEdit แต่จากประสบการณ์ของผม บน macOS ยังมี จุดที่ไม่ค่อยเรียบร้อย อยู่
    ผมใช้บน Linux เป็นหลัก และการรองรับ LSP ก็ถือว่าค่อนข้างดีจริง ๆ แม้การรองรับปลั๊กอินจะไม่อุดมสมบูรณ์เหมือนเอดิเตอร์อื่น ทำให้ให้ความรู้สึกค่อนข้างพื้นฐาน แต่ถ้าต้องการเครื่องมือสำหรับเขียนสคริปต์หรือแก้ไขไฟล์ ก็น่าจะเพียงพอ

  • ผมชอบ Kate งานก่อนหน้าผมจำเป็นต้องใช้ Windows ก็เลยติดตั้งทันที
    ผมต้องการลูกเล่น multi-cursor กับการค้นหาและแทนที่ที่ยอดเยี่ยม แต่ธีมเริ่มต้นมีปัญหาคือแสบตาทุกครั้งที่เปิด ซึ่งแก้ได้ด้วย nightly build

  • Kate เป็นเอดิเตอร์เขียนโค้ดตัวแรกที่ผมใช้บน Linux ผมเรียน PHP และ Python จากตรงนั้น
    สี syntax สีชมพูสำหรับ Python ยังทำให้นึกถึงความหลังอยู่เลย ไม่รู้ว่าตอนนี้ยังเป็นแบบนั้นไหม
    ขอบคุณผู้มีส่วนร่วมทุกคน มันส่งผลต่อชีวิตผมอย่างชัดเจน

    • ราวปี 2013 ผมเขียน uitron ซึ่งเป็นส่วนหนึ่งของเคอร์เนลสำหรับ Toshiba SSD ที่อยู่ใน MacBook ด้วย Kate มันเป็นเอดิเตอร์ตัวแรกและตัวโปรดของผม :D