6 คะแนน โดย xguru 2024-01-31 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • การพัฒนาแอปมือถือด้วยเฟรมเวิร์ก Svelte
    • ใช้ความสามารถทั้งหมดของ Svelte ได้ครบถ้วน รวมถึง Transitions, Stores และ Reactivity ตามเดิม
  • พัฒนาแอปเนทีฟข้ามแพลตฟอร์ม iOS/Android ด้วย NativeScript โดยไม่ต้องใช้ WebView
    • ต่างจาก React Native หรือ NativeScript-Vue ที่ประมวลผลงานส่วนใหญ่บนอุปกรณ์มือถือ โดยแนวทางนี้จะจัดการงานส่วนใหญ่ในขั้นตอนคอมไพล์
    • ใช้เทคโนโลยีเว็บและแชร์โค้ดร่วมกัน พร้อมมอบ UI และประสิทธิภาพแบบเนทีฟอย่างแท้จริง
  • แทนที่จะใช้เทคนิคอย่าง virtual DOM diffing จะเขียนโค้ดเพื่ออัปเดต native view widget อย่างละเอียดแม่นยำเมื่อสถานะของแอปเปลี่ยนแปลง

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

 
bus710 2024-01-31

เหมือนจะเคยเห็นที่ไหนสักแห่งบน Reddit เมื่อปีที่แล้วว่า NativeScript ไม่ได้อยู่ในสภาพที่ยังมีชีวิตชีวามากนัก และก็จำได้ว่ามีคอมเมนต์บอกด้วยว่าถ้าจำเป็นต้องทำ Svelte ให้เป็นแอปมือถือจริง ๆ ใช้ Capacitor หรือไม่ก็รอ Tauri Mobile น่าจะดีกว่า

 
dodok8 2024-01-31

ผมก็ชอบ Svelte เหมือนกัน แต่พูดตามตรงว่าก็ยังแอบสงสัยกับโปรเจกต์นี้อยู่เหมือนกันนะ รู้สึกว่าโค้ดที่ยังมีชีวิตอยู่มันน้อยเกินไปหน่อย?

 
xguru 2024-01-31

ความคิดเห็นจาก Hacker News

  • แม้จะมีข้อดีของโปรเจกต์นี้ ก็ควรทำให้ชัดเจนกว่านี้ว่าโครงการนี้ไม่ได้เป็นส่วนหนึ่งของเฟรมเวิร์ก Svelte อย่างเป็นทางการ โปรเจกต์นี้เลียนแบบหน้าตาของเอกสาร Svelte แต่รู้สึกว่าขาดคำอธิบายว่าพวกเขาเป็นใคร
  • เคยมีประสบการณ์สร้างแอปด้วย React Native อยู่บ้างไม่กี่ตัว แต่พอเวลาผ่านไป ความซับซ้อนกลับพุ่งสูงจนกลายเป็นฝันร้าย เพราะปัญหาความเข้ากันได้ระหว่าง JavaScript libraries หลายเวอร์ชัน, frameworks, เวอร์ชัน Android/iOS และ build systems ต่าง ๆ จึงชอบเรียน Kotlin/Swift และรักษา ecosystem เดียวไว้มากกว่า
  • แม้จะเป็นแฟนพันธุ์แท้ของ Svelte โปรเจกต์นี้ก็ไม่ได้รับความสนใจมากนักในช่วงหลายปีที่ผ่านมา อย่างไรก็ตาม คิดว่า React และ React Native เหมาะกว่า สำหรับคนที่อยากสร้าง native apps ด้วยเทคโนโลยีเว็บ เมื่อพิจารณาจากความคืบหน้าของการรองรับ PWA ใน Safari, ความเป็นปฏิปักษ์ที่เพิ่มขึ้นของ Apple ต่อผู้พัฒนา native, และการปรับปรุงของเบราว์เซอร์อย่าง WebGPU ก็หวังว่าในอนาคตเราจะไม่จำเป็นต้องสร้าง native apps สำหรับ 95% ของกรณีใช้งานอีกต่อไป อุปสรรคหลักที่ขัดขวางเรื่องนี้คือ Apple ยังคงปฏิบัติต่อเว็บแอปบน iOS เหมือนเป็นพลเมืองชั้นสอง และเพิ่ม API ให้ Safari เพื่อมอบประสบการณ์แบบ native ที่ดีอย่างไม่เต็มใจ
  • เมื่อไม่กี่ปีก่อน ที่บริษัทเคยลองใช้เทคโนโลยีนี้เพื่อสร้างแอปข้ามแพลตฟอร์ม และหวังว่าจะสามารถแชร์ Svelte web interface กับโค้ดจำนวนมากได้ ภายใน 3-4 เดือนก็มีความคืบหน้าเยอะ แต่ก็เจอบั๊กแปลก ๆ และ edge cases มากมายที่ดีบักยาก สุดท้ายจึงเปลี่ยน codebase ฝั่งมือถือไปใช้ Flutter หลังจากนั้นมันอาจพัฒนาขึ้นแล้ว แต่จากความประทับใจแรกเริ่ม จะไม่แนะนำ NativeScript สำหรับอะไรที่เกินกว่าความต้องการด้านอินเทอร์เฟซแบบง่าย ๆ
  • นี่ไม่ใช่ Svelte เวอร์ชันของ React Native เท่าไรนัก แต่เป็นหนึ่งใน wrapper ของ NativeScript มากกว่า
  • มันสร้างอยู่บน NativeScript ถ้าต้องการข้ามแพลตฟอร์ม คิดว่ายังยึด RN ไว้น่าจะดีกว่า การเขียนแอปด้วย Kotlin หรือ Swift ง่ายกว่าระบบที่ซับซ้อนนี้
  • คำว่า 'native' กำลังถูกใช้พร่ำเพรื่อเกินไป
  • แอปตัวอย่างเป็นของเมื่อ 5 ปีก่อน เลยสงสัยว่ามีใครใช้อันนี้อยู่จริงไหม
  • ช่วงหลายปีที่ผ่านมาได้สร้าง mobile apps มาเยอะ และมักเรนเดอร์โดยใช้เทคโนโลยีเว็บภายใน webview เสมอ เพราะให้ความสำคัญกับประสบการณ์ผู้ใช้มาก จึงไม่เห็นข้อดีของการเรนเดอร์ด้วยเครื่องมืออย่าง React Native, Flutter หรือ NativeScript เมื่อเทียบกับการเรนเดอร์ใน webview บนสมาร์ตโฟนสมัยใหม่ UI libraries อย่าง Ionic ก็แทบแยกไม่ออกจาก native UI components และก็ไม่มีงานวิจัยกับผู้ใช้จริงที่ชี้ตรงกันข้าม ถ้าอย่างนั้นทำไมต้องใช้เครื่องมือข้ามแพลตฟอร์มเหล่านี้ แทนที่จะใช้ Svelte ตรง ๆ คู่กับ webview?
  • ชอบ Svelte และหวังว่าโมเดลคอมโพเนนต์อันเป็นเอกลักษณ์ของมันจะเหมาะกับการพัฒนา native mobile apps จึงสงสัยว่า toolchain ของมันแตกต่างจาก React Native มากไหม