- XTool คือ เครื่องมือพัฒนาแบบข้ามแพลตฟอร์ม ที่สามารถทดแทนความสามารถของ Xcode ได้บนหลายระบบปฏิบัติการ
- ใช้ SwiftPM เพื่อ บิลด์และเผยแพร่แอป iOS ได้บน Linux, Windows และ macOS
- นักพัฒนาสามารถเชื่อมต่อกับ Apple Developer Services แบบเป็นโปรแกรมได้
- มี ซับคอมมานด์แบบ CLI สำหรับการจัดการอุปกรณ์ การติดตั้ง และการรันแอป
- สามารถใช้ ความสามารถต่าง ๆ ได้โดยตรงภายในแอป ผ่านไลบรารี XKit
แนะนำโปรเจกต์ XTool
- XTool เป็น เครื่องมือพัฒนาแบบข้ามแพลตฟอร์ม ที่ให้ความสามารถคล้าย Xcode และทำงานได้บน Linux, WSL และ macOS
- ต่างจาก Xcode แบบเดิม ตรงที่สามารถ บิลด์แพ็กเกจ SwiftPM เป็นแอป iOS และ เซ็นกำกับ ติดตั้ง ลงอุปกรณ์จริงได้บน Windows และ Linux
- นักพัฒนาสามารถ เชื่อมต่อกับ Apple Developer Services แบบเป็นโปรแกรม ได้ และสามารถสร้างสภาพแวดล้อมพัฒนา iOS ได้แม้ไม่ใช้ macOS
ความสามารถหลัก
- รองรับ การบิลด์แพ็กเกจ SwiftPM และแปลงเป็นแอป iOS
- สามารถ เซ็นกำกับ (Sign) และติดตั้ง (Install) แอป iOS ได้
- เชื่อมต่อกับ Apple Developer Services: มีฟีเจอร์สำหรับการยืนยันตัวตนและการใช้งานบริการต่าง ๆ
ตัวอย่างการใช้งานที่เด่น
อินเทอร์เฟซบรรทัดคำสั่ง
xtool มี ซับคอมมานด์ หลากหลายสำหรับงานด้านการพัฒนา อุปกรณ์ และการตั้งค่า
setup: ตั้งค่าสภาพแวดล้อมพัฒนา iOS
auth: จัดการการยืนยันตัวตนนักพัฒนา Apple
sdk: จัดการ Darwin Swift SDK
new: สร้างโปรเจกต์ SwiftPM ใหม่
dev: บิลด์และรันโปรเจกต์
ds: โต้ตอบกับ Apple Developer Services
devices: ตรวจสอบรายการอุปกรณ์
install: ติดตั้งไฟล์ ipa ลงอุปกรณ์
uninstall: ลบแอป
launch: รันแอปที่ติดตั้งแล้วบนอุปกรณ์
การใช้งานไลบรารี XTool (KIT)
- สามารถลงทะเบียน ไลบรารี XKit เป็น dependency ของ SwiftPM เพื่อเรียกใช้ความสามารถอย่าง Apple Developer Services และการควบคุมอุปกรณ์ iOS ได้โดยตรงจากแอปที่กำลังพัฒนา
- นักพัฒนา Swift สามารถผสานเข้ากับโปรเจกต์ได้อย่างง่ายดายด้วยการประกาศ
.package() และ .product() เท่านั้น
สรุปข้อดี
- สามารถพัฒนาและเผยแพร่แอป iOS ได้บนหลากหลายแพลตฟอร์ม ไม่ใช่แค่ macOS แต่รวมถึง Linux และ Windows
- รองรับ การเชื่อมต่อกับเครื่องมือพัฒนาหลากหลายแบบ เช่น VSCode
- อยู่บนพื้นฐานของ โอเพนสแตนดาร์ด และรองรับเวิร์กโฟลว์การพัฒนาที่เป็นสากลและอัตโนมัติ
- มีคุณค่าสูงในฐานะ ทางเลือกทดแทนเมื่อไม่สามารถใช้ Xcode ได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เครื่องมือนี้พูดว่าเป็น "ตัวแทน Xcode" และ "พัฒนาได้โดยไม่ใช้ Xcode" แต่ฉันคิดว่าเป็นไปไม่ได้ที่จะบิลด์แอปโดยไม่มี Xcode เลย พอลองหาข้อมูลเพิ่มว่ามันแทนสิ่งอย่างไลบรารีหรือคอมไพเลอร์ได้อย่างไร ก็พบว่าไม่ใช่แบบนั้นจริง ๆ เขาระบุว่า "ไม่ได้ใช้ระบบบิลด์ของ Xcode แต่ยังคงต้องติดตั้ง Xcode สำหรับ iOS SDK และ toolchain" ฉันคิดว่าพวกเขาควรสื่อสารให้ชัดเจนกว่านี้ นี่ไม่ใช่ตัวแทนหรือทางเลือกแบบสมบูรณ์ แต่เป็นเลเยอร์ที่วางอยู่บนระบบเดิมเพื่อมอบประสบการณ์ที่ดีกว่า
JetBrains เคยพัฒนา AppCode มาก่อน AppCode เป็น IDE อัจฉริยะสำหรับการพัฒนา iOS/macOS แต่ตั้งแต่วันที่ 14 ธันวาคม 2022 ก็ไม่ได้ให้บริการเป็นผลิตภัณฑ์เชิงพาณิชย์อีกต่อไป
เป็นความเห็นที่อ้างอิงจาก https://forums.swift.org/t/… และกระทู้ HN https://news.ycombinator.com/item?id=43952239
ในทางทฤษฎี ฉันสงสัยว่าเครื่องมือนี้จะทำให้นักพัฒนา Flutter สามารถบิลด์และปล่อยแอป iOS บน Linux ได้หรือไม่ หวังจริง ๆ ว่าจะทำได้
xcode คือสิ่งที่ต้องดาวน์โหลดนาน 9 ชั่วโมงทุก ๆ ไม่กี่เดือน และเป็นเครื่องมือที่แก้ไฟล์ XML กับ plist อย่างสะเปะสะปะ ใช่ xcode นั่นแหละ
ทำให้นึกถึง Sweetpad อยู่เหมือนกัน Sweetpad มีขั้นตอนติดตั้งที่ค่อนข้างยุ่งยาก XTool ดูเหมือนจะมอบประสบการณ์นักพัฒนาที่ดีกว่า (DX) หวังว่าโปรเจ็กต์นี้จะเติบโตต่อไป
ก่อนหน้านี้ก็มีการพูดถึงเรื่อง "บิลด์แอป iOS บน Linux และ Windows" มาแล้ว ดู https://news.ycombinator.com/item?id=43952239
เห็นว่าชื่อ GitHub organization คือ "xtool-org" เลยสงสัยว่าบริษัท XTool (ผู้ผลิตเทคโนโลยีเลเซอร์แกะสลักและงานคราฟต์) จะมองว่าเป็นปัญหาหรือไม่
คงจะดีมากถ้ามีเครื่องมือคล้ายกันที่แยกจาก XCode และมีฟังก์ชันพรีวิวแบบเรียลไทม์สำหรับอินเทอร์เฟซที่สร้างด้วย Swift UI ด้วย
ในสกรีนช็อตมีไอคอน vscode อยู่หรือเปล่า?