- เฟรมเวิร์กเนทีฟข้ามแพลตฟอร์มที่ช่วยให้ พัฒนาแอป iOS และ Android ด้วยโค้ดเบสเดียว บนพื้นฐานของ Swift และ SwiftUI
- ตั้งแต่ Skip เวอร์ชัน 1.7 เป็นต้นไป ข้อจำกัดด้านไลเซนส์ทั้งหมดถูกยกเลิก, เปลี่ยนเป็น เครื่องมือโอเพนซอร์สเต็มรูปแบบ ที่ทุกคนใช้งานได้ฟรี
- เอนจินหลัก
skipstone ถูกเผยแพร่บน GitHub ทำให้ฟังก์ชันบิลด์สำคัญแบบโอเพนซอร์สพร้อมใช้งาน เช่น การสร้างโปรเจ็กต์ การแปลง และการแพ็กเกจ
- ผู้ใช้แบบสมาชิกแบบชำระเงินเดิมจะถูกเปลี่ยนไปยัง โปรแกรมสปอนเซอร์ โดยอัตโนมัติ และสามารถสนับสนุนโครงการได้ทั้งในระดับบุคคลและองค์กร
- การเปิดครั้งนี้ถือเป็นจุดเปลี่ยนเพื่อ สร้างระบบนิเวศระยะยาวที่ขับเคลื่อนโดยชุมชน และ มอบประสบการณ์เนทีฟอย่างแท้จริง
ภาพรวม
- นับตั้งแต่เปิดตัวในปี 2023 Skip ได้พัฒนามาโดยมีเป้าหมายเพื่อให้สามารถ พัฒนาแอป iOS และ Android พร้อมกันด้วยโค้ด Swift และ SwiftUI
- ในช่วงแรกเริ่มจากทรานส์ไพเลอร์ Swift-to-Kotlin และการรองรับ SwiftUI API พื้นฐาน
- ต่อมาได้รองรับการคอมไพล์เนทีฟบน Android ผ่านการก่อตั้ง Swift Android Workgroup และการเผยแพร่ Swift Android SDK
- ปัจจุบันรองรับทั้งเฟรมเวิร์กแบบบูรณาการหลายสิบรายการและ Swift package หลายพันรายการ พร้อมมอบ อิมพลีเมนเทชัน SwiftUI แบบสแตนด์อโลนที่สมบูรณ์ที่สุด
ข้อจำกัดของเครื่องมือพัฒนาแบบเสียเงิน
- ที่ผ่านมา Skip ต้องใช้ สมาชิกแบบชำระเงินและคีย์ไลเซนส์ และมีเพียงนักพัฒนาเดี่ยวที่มีรายได้ต่ำกว่าเกณฑ์เท่านั้นที่ใช้ได้ฟรี
- อย่างไรก็ตาม นักพัฒนาส่วนใหญ่คาดหวังเครื่องมือฟรี และ IDE หลักอย่าง Xcode และ Android Studio ก็ให้ใช้งานฟรีเช่นกัน
- ยังมี ความกังวลด้านความยั่งยืน ต่อเครื่องมือแบบเสียเงินและปิดซอร์ส
- หากบริษัทหยุดดำเนินการหรือถูกซื้อกิจการ ก็มีความเสี่ยงที่การดูแลแอปของนักพัฒนาจะทำได้ยาก
- เพื่อแก้ปัญหานี้ Skip จึงเปลี่ยนไปสู่รูปแบบ ฟรีเต็มรูปแบบและโอเพนซอร์ส เพื่อให้ชุมชนสามารถดูแลเทคโนโลยีนี้ได้อย่างอิสระ
สิ่งที่เปลี่ยนไป
- ตั้งแต่ Skip 1.7 เป็นต้นไป ยกเลิกทั้งคีย์ไลเซนส์ รุ่นทดลอง และ EULA
- ผู้ใช้เดิม: อัปเกรดแล้วไม่ต้องใช้คีย์ไลเซนส์อีก
- ผู้ใช้ใหม่: บิลด์ได้ทันที
- โอเพนซอร์สเอนจิน Skip ชื่อ
skipstone
- ครอบคลุมฟังก์ชันบิลด์หลัก เช่น การสร้างและจัดการโปรเจ็กต์, ปลั๊กอิน Xcode และ SwiftPM, การแปลง iOS→Android, การบันเดิลทรัพยากร, JNI bridge, การทรานส์ไพล์ซอร์ส, การแพ็กเกจแอป, การส่งออกโปรเจ็กต์ เป็นต้น
- ที่เก็บโค้ดสาธารณะบน GitHub: https://github.com/skiptools
- ย้ายเว็บไซต์ทางการ
- จากเดิม skip.tools ไปยัง skip.dev
- มีเอกสาร บล็อก และกรณีศึกษา รวมถึงตัวเว็บไซต์เองก็เปิดเป็นโอเพนซอร์สด้วย
การสนับสนุน Skip ในอนาคต
- Skip ดำเนินงานมาอย่างอิสระโดย ไม่รับเงินลงทุนจากภายนอก และยังคงยึดนักพัฒนาเป็นศูนย์กลางโดยไม่อยู่ภายใต้การควบคุมของบริษัทยักษ์ใหญ่ด้านเทคโนโลยี
- เพื่อรักษาความเป็นอิสระนี้ไว้ จำเป็นต้องมี การสนับสนุนจากชุมชน
- สมาชิกเดิมจะถูกเปลี่ยนไปยังระดับ Individual หรือ Supporter โดยอัตโนมัติ
- นักพัฒนารายบุคคลสามารถสนับสนุนรายเดือนได้ผ่าน GitHub Sponsors
- องค์กรสามารถสนับสนุนการพัฒนา การบำรุงรักษา และโครงสร้างพื้นฐานของเฟรมเวิร์กได้โดยตรงผ่าน โปรแกรมสปอนเซอร์
- การสนับสนุนจะช่วยรับประกัน การพัฒนาอย่างต่อเนื่องและความสำเร็จในระยะยาว ของ Skip พร้อมช่วยเสริมความสามารถในการแข่งขันของทีมพัฒนา
แผนต่อจากนี้
- ปัจจุบันวงการพัฒนาแอปกำลังเผชิญกับ ข้อจำกัดของเฟรมเวิร์กข้ามแพลตฟอร์มแบบเดิม
- ยากต่อการรับมือกับการเปลี่ยนแปลงของระบบ UI รุ่นใหม่ เช่น Liquid Glass ของ iOS และ Material Expressive ของ Android
- การประนีประนอมของโค้ดเบสแบบรวมศูนย์นำไปสู่ อินเทอร์เฟซที่ล้าสมัยและความสามารถในการแข่งขันที่ลดลง
- Skip กำลังพัฒนาไปในทิศทางของการ มอบประสบการณ์เนทีฟอย่างสมบูรณ์บนทั้งสองแพลตฟอร์ม
- การเปิดเป็นโอเพนซอร์สคือก้าวถัดไปที่ครอบคลุมระบบนิเวศหลากหลาย เช่น Swift·Kotlin, SwiftPM·Gradle, Xcode·Android Studio
- การพัฒนาอย่างต่อเนื่องจะขึ้นอยู่กับ การมีส่วนร่วมและการสนับสนุนจากชุมชนนักพัฒนา และจะเดินหน้าสู่วิสัยทัศน์ของ Skip ในฐานะ
“รากฐานข้ามแพลตฟอร์มที่ไร้การประนีประนอม”
3 ความคิดเห็น
ความเป็นครอสแพลตฟอร์มคือภาพลวงตา (ที่เหมือนจะจับต้องได้แต่ก็จับไม่ได้)
Skip – พัฒนาแอป iOS และ Android แบบเนทีฟด้วยโค้ดเบส Swift เดียว
ความเห็นจาก Hacker News
รู้สึกน่าเสียดายกับความจริงที่ว่านักพัฒนาคาดหวังให้มี เครื่องมือฟรี
การที่คนทำงานรายได้สูงอย่างพวกเราไม่ยอมจ่ายเงินซื้อเครื่องมือถือว่าเป็นเรื่องที่พบได้ยากแม้เทียบกับวิชาชีพอื่น
ถ้าเป็นไปได้ก็อยากให้เลิกพึ่งพา FAANG หรือเงินทุน VC และช่วยจ่ายเงินให้ซอฟต์แวร์ดี ๆ โดยตรง
พวกเราเป็นอาชีพที่สร้างเครื่องมือเองได้ และต้นทุนการแจกจ่ายก็เป็นศูนย์
เพราะมีความคิดว่า “ฉันทำเองก็ได้” ตลาดเครื่องมือพัฒนาแบบเสียเงินจึงมีข้อจำกัด
โอเพนซอร์สช่วยลดความไม่พอใจแบบนี้ลงได้ และผู้ใช้ก็แค่ต้องสู้กับความขี้เกียจของตัวเอง
สิ่งสำคัญกว่าเรื่องราคาคือ อิสระ
เห็นด้วยว่าการฝากกลยุทธ์ของแอปไว้กับเครื่องมือเสียเงินแบบปิดของบริษัทเล็ก ๆ ทั้งหมดเป็นเรื่องเสี่ยง
แต่ในสถานการณ์ที่ใช้เงินไปหลายล้านดอลลาร์กับโซลูชันอื่นอยู่แล้ว การจะขอใช้อีกไม่กี่พันดอลลาร์กับเครื่องมือใหม่กลับมี กำแพงเชิงระบบราชการ สูงมาก
ไม่ใช่ว่านักพัฒนาไม่อยากจ่าย แต่บ่อยครั้งเป็นโครงสร้างองค์กรที่ขวางไว้
ถ้าเจอบั๊กหรือข้อจำกัดก็แก้เองและแชร์กลับได้
เหมือนตัวอย่างเรื่องรถยนต์ สำหรับคนที่ชอบโครงสร้างที่ลงมือแก้ไขเองได้ โอเพนซอร์สน่าดึงดูดกว่ามาก
ทนายหรือแพทย์ก็มีงานโปรโบโนเหมือนกัน แต่ก็ยังเทียบขนาดของโอเพนซอร์สไม่ได้
พอดูวิธีการทำงานของ Skip แล้วก็อดสงสัยไม่ได้ว่าสักวันหนึ่ง AI agent จะพาเราไปถึงยุคที่โค้ดสำหรับแพลตฟอร์มหนึ่ง (เช่น iOS) ถูกแปลงเป็นโค้ดเนทีฟของอีกแพลตฟอร์มหนึ่ง (เช่น Swift, Kotlin) ได้อัตโนมัติหรือไม่
จนถึงตอนนี้ยังหา สภาพแวดล้อมพัฒนาโมบายล์ข้ามแพลตฟอร์ม ที่พอใจไม่ได้ และ Skip ก็ดูน่าสนใจ
แต่พอเห็นว่าต้องใช้ macOS 15 ขึ้นไปและ Xcode 16.4 ขึ้นไป ก็ไม่ตรงกับที่คาดหวัง
คำกล่าวอ้างแรง ๆ อย่าง “ประสิทธิภาพสูงสุดโดยไม่ต้องมี runtime เพิ่ม” ก็น่าสนใจ แต่ ข้อกำหนดแรม 32GB ทำให้ตกใจเหมือนกัน
ในมุมของนักพัฒนา Flutter ก็สงสัยว่าทำไมถึงต้องมี Skip
Flutter โตเต็มที่แล้ว และรองรับไม่ใช่แค่มือถือ แต่รวมถึงเดสก์ท็อปกับเว็บด้วย
แต่ก็ยังอยากรู้ว่า Skip จะเพิ่มประสิทธิภาพได้มากแค่ไหน ดังนั้นถ้า ราคา DRAM กลับมานิ่ง ก็อาจลองใช้ดูสักครั้ง
เลยทำให้ UI ดูเหมือนของยุคก่อน และข้อจำกัดนี้เองที่ทำให้สนใจ Skip มากขึ้น
ถ้าชอบ Dart หรืออยากได้ UI ที่คัสตอมทั้งหมด Flutter ก็ยังโอเค แต่ถ้าธุรกิจให้ความสำคัญกับ ความรู้สึกพรีเมียมแบบเนทีฟ Skip น่าจะเหมาะกว่า
ประเด็นที่เกี่ยวข้อง: Flutter issue #170310
ถึงวิดเจ็ตจะพยายามให้ดูเหมือนเนทีฟ แต่ก็ยังมีความไม่เป็นธรรมชาติ และแอนิเมชันก็ไม่ลื่นเท่าไร
ให้ความรู้สึกด้อยกว่า React Native อยู่หนึ่งขั้น
โดยเฉพาะ การรวม Google Maps ที่แย่มาก
สุดท้ายแล้วต้นทุนในการทำแอป Flutter ที่ยอดเยี่ยมก็ใกล้เคียงกับแอปเนทีฟอยู่ดี
ข้อกำหนด 32GB ของ Skip เมื่อคิดรวมทั้งสภาพแวดล้อมพัฒนาอย่าง Xcode, Gradle, emulator ฯลฯ ก็ไม่ได้ชวนแปลกใจนัก
ถ้าไม่ได้อยากได้ UI ที่คัสตอมเองทั้งหมด ก็ยากจะดึงความรู้สึกเฉพาะของแต่ละแพลตฟอร์มออกมาได้
ชื่อโพสต์เป็น ชื่อซอฟต์แวร์ที่กำกวมเกินไป เลยอยากให้ใช้ชื่อที่อธิบายได้ชัดกว่านี้
ไปดู รีโพซิทอรี Skip บน GitHub แล้วพบว่า ไม่มีไฟล์ไลเซนส์
เลยจัดว่าอยู่ในโซน “ห้ามใช้ (DONT USE)”
ตรงกันข้าม รีโพซิทอรี Skipstone มีไลเซนส์ แต่กลับ include Skip ไว้เป็น vendor เลยยิ่งทำให้งง
การไม่มีไลเซนส์เป็นความผิดพลาด และจะรีบแก้ไขในเร็ว ๆ นี้
แม้จะพยายามมาหลายครั้ง แต่แนวทาง รวมการบิลด์ iOS และ Android เข้าด้วยกันนั้นยากในระดับพื้นฐาน
มีมาหลายแนวทางทั้ง HTML, JS, React, Dart, Kotlin, Swift แต่พอถึงระดับผู้ติดตั้งเกิน 10 ล้านก็มักล้มเหลว
บทความที่เกี่ยวข้อง
แอป Nubank จากบราซิล พัฒนาด้วย Flutter และเป็นบริการขนาดใหญ่ที่มีผู้ใช้มากกว่า 100 ล้านคน
ปัจจัยที่ทำให้สำเร็จคือฐานโค้ดไม่ได้โตจนควบคุมไม่ได้
เห็นข้อความว่า “แนะนำให้มีแรมอย่างน้อย 32GB สำหรับพัฒนา Skip” แล้ว ช็อก
ตัว Skip เองค่อนข้างเบา และถ้าใช้ โหมด headless ก็ใช้แรมน้อยกว่านี้ได้มาก
ความไม่มีประสิทธิภาพด้านหน่วยความจำไม่ได้เป็นความผิดของ Skip แต่เป็น ปัญหาโครงสร้างของ toolchain จาก Apple และ Google
เคยคิดจะพอร์ตแอปนำทางสำหรับผู้พิการทางสายตา Soundscape Community ไปลง Android และ Skip ก็ดูเหมือนโซลูชันในอุดมคติ
ถ้าเรื่องการเข้าถึง (TalkBack) ถูกแปลไปเป็น UI เนทีฟได้ด้วย ก็น่าจะทำงานได้ดี
ลิงก์ GitHub ของ Soundscape
ตัวอย่างโค้ด: เอกสารด้านการเข้าถึงของ Skip
Skip ดูมีโอกาสจะกลายเป็น ตัวเลือกข้ามแพลตฟอร์มระยะยาวของ SwiftUI
อยากให้ Apple เข้ามามีส่วนร่วมกับชุดเครื่องมือนี้โดยตรง หรืออย่างน้อยก็ โอเพนซอร์ส SwiftUI บางส่วน
ถ้าชุมชนช่วยปรับปรุงปัญหาที่เกี่ยวกับ macOS จนได้ความยืดหยุ่นและความสามารถระดับ AppKit ระบบนิเวศ UI ที่ใช้ Swift เป็นฐาน ก็คงแข็งแกร่งขึ้นมาก