- Skip เป็นเครื่องมือที่ช่วยขยายการพัฒนาแอป Swift ไปยัง Android
- สามารถพัฒนาแอปเนทีฟได้ทั้งบน iOS และ Android โดยใช้ Swift และ Xcode
- วิธีการทำงานของ Skip
- เมื่อพัฒนาแอป Swift และ SwiftUI ใน Xcode ปลั๊กอิน Xcode ของ Skip จะทำการแปลงเป็น Kotlin และ Jetpack Compose
- สามารถพัฒนาไลบรารีหรือทั้งแอปบนทั้งสองแพลตฟอร์มได้ โดยยังคงประสิทธิภาพและส่วนติดต่อผู้ใช้แบบเนทีฟไว้
ข้อดีของแอป Skip
เนทีฟอย่างแท้จริง
- แอป Skip ไม่ได้แค่ "ดูเหมือนเนทีฟ" แต่เป็นเนทีฟจริง ๆ
- บน iOS ใช้ Swift และ SwiftUI ส่วนบน Android ใช้ Kotlin และ Compose
โปร่งใสอย่างสมบูรณ์
- เมื่อใช้ Skip ทุกส่วนของแอปจะเปิดเผยให้ผู้พัฒนาเห็น
- สามารถแปลงโค้ด Swift เป็นซอร์สโค้ด Kotlin โดยตรงเพื่อตรวจสอบและปรับแต่งได้
น้ำหนักเบา
- เมื่อใช้ SkipZero แอป iOS จะไม่พึ่งพาเฟรมเวิร์กของ Skip
- แอป Android ต้องการเพียงไลบรารีโอเพนซอร์สของ Skip ไม่กี่ตัวเท่านั้น
ประสิทธิภาพด้านหน่วยความจำ
- เนื่องจากไม่มี managed runtime เพิ่มเติม แอป Skip จึงมีประสิทธิภาพสูงที่สุดเท่าที่เป็นไปได้บนทั้งสองแพลตฟอร์ม
- บน iOS ใช้ bare metal และบน Android ใช้ ART bytecode
IDE ที่เหมาะที่สุด
- IDE ของ Skip คือ Xcode ซึ่งเป็นสภาพแวดล้อมที่ยอดเยี่ยมที่สุดสำหรับการพัฒนา iOS
- สำหรับการปรับแต่งฝั่ง Android สามารถเปิดโค้ดที่สร้างขึ้นใน Android Studio ได้โดยตรง
การผสานรวมที่สมบูรณ์
- Skip สร้าง Kotlin และ Compose มาตรฐาน จึงผสานรวมกับไลบรารี Android ได้ง่าย
- สามารถเรียกใช้โค้ด Kotlin และ Java อื่น ๆ ได้โดยตรง
อยู่บนพื้นฐานโอเพนซอร์ส
- ตัว transpiler ของ Skip เป็นเพียงครึ่งหนึ่งของเรื่องราวเท่านั้น
- เฟรมเวิร์กอย่าง Foundation และ SwiftUI ที่รองรับการพัฒนาแอป iOS สามารถใช้งานบน Android ได้เช่นกัน ผ่านอิมพลีเมนเทชันโอเพนซอร์สฟรีของ Skip
เป็นมิตรกับ CI
- Skip แปลง unit test ได้ด้วย
- สามารถรันทดสอบได้ทั้งแบบโลคัลหรือระยะไกล เพื่อรับประกันว่าลอจิกเดียวกันจะทำงานได้เหมือนกันข้ามแพลตฟอร์ม
ความสามารถในการแยกตัวออก
- ทั้งอินพุต Swift และเอาต์พุต Kotlin เป็นของผู้พัฒนา
- ไม่จำเป็นต้องพึ่งพา Skip transpiler อย่างต่อเนื่อง
สรุปของ GN⁺
- Skip เป็นเครื่องมือที่ช่วยขยายแอป Swift ไปยัง Android โดยยังคงประสิทธิภาพและส่วนติดต่อผู้ใช้แบบเนทีฟไว้บนทั้งสองแพลตฟอร์ม
- รองรับทั้ง Xcode และ Android Studio ทำให้นักพัฒนาทำงานได้อย่างมีประสิทธิภาพมากขึ้น
- มีพื้นฐานเป็นโอเพนซอร์ส จึงให้ทั้งความโปร่งใสและความสามารถในการปรับแต่ง
- เป็นมิตรกับ CI และสามารถรับประกันประสิทธิภาพที่สอดคล้องกันข้ามแพลตฟอร์มผ่านการทดสอบ
- โปรเจ็กต์ที่มีความสามารถคล้ายกันคือ Kotlin Multiplatform
3 ความคิดเห็น
ถ้ารองรับการทำให้โค้ดอ่านยากด้วยก็น่าจะดีมากเลยครับ
โอ้โห น่าสนใจดีนะครับ แม้ตอนนี้จะยังไม่รู้เลยว่ามันจัดการอย่างไรและมากน้อยแค่ไหน แต่ก็ดูเป็นความพยายามที่ทั้งบ้าบิ่นและสนุกดีครับ
ความคิดเห็นจาก Hacker News
แชร์ประสบการณ์การพอร์ตแอปส่วนตัวไปยัง Android
ข้อกังวลเกี่ยวกับ Skip
คำถามเกี่ยวกับการจัดการ dependency ของ Skip
ความเห็นเกี่ยวกับตลาดเป้าหมายของ Skip
ประสบการณ์แปลงโค้ดด้วย ChatGPT และ Claude
แชร์ประสบการณ์การใช้งาน Skip
เอกสารของ Skip และข้อจำกัดของการ transpile
ข้อจำกัดของเฟรมเวิร์ก Skip
ความยากในการรวม Skip เข้ากับแอปเดิม
การแก้ปัญหาด้านประสิทธิภาพของ Skip