ดาวน์โหลดโปรแกรมฟรี
       
   สมัครสมาชิก   เข้าสู่ระบบ
THAIWARE.COM | ทิปส์ไอที
 

Tauri คืออะไร ?

Tauri คืออะไร ?

เมื่อ : 20 สิงหาคม 2569
|  ผู้เข้าชม : 507
เขียนโดย :
0 Tauri+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F
A- A+
แชร์หน้าเว็บนี้ :

Tauri คืออะไร ?

การสร้างแอปพลิเคชันข้ามแพลตฟอร์ม (Cross-platform) ได้กลายเป็นหนึ่งในแนวทางหลักของนักพัฒนาซอฟต์แวร์ยุคปัจจุบัน เนื่องจากช่วยลดเวลา และต้นทุนในการพัฒนาซอฟต์แวร์สำหรับหลาย ระบบปฏิบัติการ (OS) พร้อมกัน ในอดีต Electron เคยเป็น เฟรมเวิร์ก (Framework) ยอดนิยมที่ช่วยให้นักพัฒนาเว็บสามารถสร้างโปรแกรมสำหรับเดสก์ท็อป ด้วย HTML, CSS และ JavaScript ได้ อย่างไรก็ตาม Electron มักถูกวิพากษ์วิจารณ์เรื่องการใช้ทรัพยากร หน่วยความจำหลัก (RAM) สูง และขนาดไฟล์ติดตั้งที่ใหญ่เกินจำเป็น

เพื่อแก้ปัญหานี้ Tauri จึงถูกพัฒนาขึ้นในฐานะโอเพ่นซอร์สเฟรมเวิร์กยุคใหม่ที่มุ่งเน้น "ขนาดเล็ก, รวดเร็ว, ประสิทธิภาพสูง และปลอดภัย" โดยเปิดโอกาสให้นักพัฒนาใช้เครื่องมือพัฒนาเว็บที่คุ้นเคย ทำงานร่วมกับภาษา Rust ที่เป็น หลังบ้าน (Back-End) บทความนี้จะพาทุกท่านไปเจาะลึกรายละเอียดของ Tauri กัน ว่ามันมีความน่าสนใจอย่างไรบ้าง ?

Tauri คืออะไร ?

Tauri คืออะไร ? (What is Tauri ?) 

Tauri เป็นเฟรมเวิร์กแบบ โอเพ่นซอร์ส (Open-Source) สำหรับสร้างโปรแกรมแบบ Cross-platform ทั้งบนระบบปฏิบัติการ วินโดวส์ (Windows), แมคโอเอส (macOS), ลีนุกซ์ (Linux) และสมาร์ทโฟนทั้ง Android และ iOS โดยใช้เทคโนโลยีฝั่งเว็บ (Web Frontend) ร่วมกับภาษา Rust ในส่วนประมวลผลหลัก

ลักษณะเด่นของ Tauri คือการออกแบบให้เป็น "Polyglot & Frontend Independent" หมายความว่านักพัฒนาสามารถเลือกใช้ระบบ หน้าบ้าน (Front-End) ใดก็ได้ตามความถนัด เช่น React Native, Vue, Svelte, Angular, SolidJS หรือแม้กระทั่ง Vanilla HTML/JS โดยไม่ผูกติดกับเทคโนโลยีใดเทคโนโลยีหนึ่ง ขณะที่ส่วน Backend จะใช้ภาษา Rust ในการบริหารจัดการระบบ และติดต่อกับระบบปฏิบัติการโดยตรง

นอกจากนี้ Tauri ยังดูแล และบริหารจัดการภายใต้ Tauri Foundation ซึ่งสังกัดองค์กรไม่แสวงหากำไร The Commons Conservancy และใช้สัญญาอนุญาตแบบ MIT License และ Apache License 2.0 ที่ให้อิสระในการนำไปใช้งาน และพัฒนาต่อเป็นอย่างมาก

Tauri ทำงานอย่างไร ? (How does Tauri work ?)  

สถาปัตยกรรมของ Tauri ถูกออกแบบตามแนวคิด Defense in Depth โดยแบ่งการทำงานออกเป็น 2 ส่วนหลักที่สื่อสารกันอย่างรัดกุม

1. ระบบการแสดงผล (Rendering Engine & Window Management)

Tauri แตกต่างจาก Electron ที่ต้องส่ง เว็บเบราว์เซอร์ (Web Browser) Chromium สำเร็จรูปพ่วงไปกับตัวโปรแกรม แต่ Tauri เลือกใช้วิธีเรียกใช้ WebView ดั้งเดิมที่มีอยู่ในระบบปฏิบัติการ (Native OS WebView) ผ่าน ไลบรารี (Library) เฉพาะ

WRY (Webview Render librarY)

ทำหน้าที่ดึง WebView ของระบบปฏิบัติการมาใช้งาน เช่น WebView2 บน Windows, WebKit บน macOS/iOS, WebKitGTK บน Linux และ Android WebView บน Android

TAO

ไลบรารีสำหรับจัดการหน้าต่างโปรแกรม (Window Management) แบบ Cross-platform

2. ส่วนประมวลผลหลังบ้าน (Rust Core & Plugins)

ตัวกลางหลักบริหารจัดการผ่าน Rust (tauri crate) ซึ่งควบคุม Logic ในระดับ Native การเข้าถึงไฟล์, ระบบเครือข่าย, การจัดการเธรด (Multithreading) และสิทธิ์การใช้งานต่าง ๆ รวมทั้งใน Tauri v2 มีการพัฒนาระบบ ปลั๊กอิน (Plug-in) Architecture ที่ดึงโค้ด Native เช่น Swift (iOS) และ Kotlin (Android) มาเชื่อมต่อร่วมด้วย

3. การสื่อสาร และการรักษาความปลอดภัย (IPC & Isolation Pattern)

Inter-Process Communication (IPC)

สื่อสารระหว่าง Frontend (JavaScript) และ Backend (Rust) ผ่านช่องทางสื่อสารที่มีการตรวจสอบความถูกต้องอย่างเข้มงวด

Isolation Pattern

ป้องกันการโจมตีจากสคริปต์ที่ไม่ได้รับอนุญาต โดยทำหน้าที่สกัด และสแกนข้อความ IPC ก่อนส่งไปยัง Rust Backend

Minimizing Attack Surface

นักพัฒนาสามารถเปิด/ปิดระบบ ส่วนต่อประสานโปรแกรมประยุกต์ (API) แต่ละส่วนได้อย่างละเอียด (Fine-grained API Permission) และ Tauri จะคอมไพล์ออกมาเป็นไฟล์ Binary โดยไม่มีการใช้ไฟล์ ASAR เหมือนเฟรมเวิร์กอื่น ช่วยลดความเสี่ยงจากการถูกแฮกหรือทำ Reverse Engineering

ข้อดี ข้อเสียของ Tauri (Pros and cons of Tauri)

ข้อดี (Pros)

  • ตัวแอปพลิเคชันคอมไพล์ออกมาแล้วอาจมีขนาดเริ่มต้นเพียง 600KB ถึง 2-3 MB เท่านั้น ต่างจาก Electron ที่มักเริ่มต้นที่ 80-100MB
  • ใช้ RAM น้อยลงอย่างเห็นได้ชัด เนื่องจากใช้ WebView ของระบบ และจัดการหน่วยความจำผ่าน Rust ที่ไม่มี Garbage Collection
  • มีฟีเจอร์ความปลอดภัยหลายชั้น เช่น Isolation Pattern, Random Handles และการจำกัดสิทธิ์ API ดั้งเดิม
  • ให้อิสระในการเลือก Web Stack และ Tooling ที่ชอบ ไม่ต้องเปลี่ยน Workflow เดิม
  • สร้างแอปพลิเคชันได้ทั้งระบบ Windows, macOS, Linux, Android และ iOS จาก Codebase เดียวกันใน Tauri v2
  • ภาษา Rust มอบความเร็วเทียบเท่า C/C++ พร้อมความปลอดภัยทางหน่วยความจำ (Memory Safety)

ข้อเสีย (Cons)

  • เนื่องจากใช้ Native WebView นักพัฒนาจำเป็นต้องทดสอบ ส่วนต่อประสานกับผู้ใช้ (UI) และคำสั่ง JavaScript บนหลายระบบปฏิบัติการ เพื่อป้องกันปัญหา Rendering หรือ CSS Compatibility
  • หากแอปพลิเคชันต้องการเขียน Logic ฝั่ง Backend ที่ซับซ้อน นักพัฒนาต้องมีความรู้ภาษา Rust ซึ่งมี Learning Curve ค่อนข้างสูง
  •  แม้จะเติบโตอย่างรวดเร็ว แต่จำนวนไลบรารี, ปลั๊กอิน และตัวอย่างโค้ดในชุมชนยังมีน้อยกว่าเฟรมเวิร์กที่เปิดมานานอย่าง Electron
  • Web Engine ของบาง OS อาจยังไม่รองรับ Web APIs ล่าสุดเท่ากับ Chromium เวอร์ชันใหม่ล่าสุด

ประวัติความเป็นมาในการพัฒนา Tauri (History of Tauri development)

จุดเริ่มต้น มิถุนายน ค.ศ. 2020 (พ.ศ. 2563)

Tauri ถูกริเริ่มสร้างขึ้นโดย Daniel Thompson-Yvetot และ Lucas Nogueira โดยเปิดตัวโปรเจกต์โอเพ่นซอร์สครั้งแรกเมื่อวันที่ 19 มิถุนายน ค.ศ. 2020 (พ.ศ. 2563) ด้วยเป้าหมายหลักในการสร้างทางเลือกใหม่ที่เบา และปลอดภัยกว่า Electron

การเข้าสู่โครงสร้างองค์กร พฤษภาคม ค.ศ. 2021 (พ.ศ. 2564)

เพื่อให้การพัฒนายั่งยืน Tauri ได้จัดตั้ง Tauri Foundation และเข้าร่วมเป็นส่วนหนึ่งขององค์กร The Commons Conservancy เพื่อควบคุมทิศทางโครงการแบบเปิด และปราศจากการครอบงำโดยบริษัทใดบริษัทหนึ่ง

เปิดตัว Tauri v1.0 Stable มิถุนายน ค.ศ. 2022 (พ.ศ. 2565)

หลังจากการพัฒนา และทดสอบอย่างเข้มข้น Tauri 1.0 ประกาศเปิดตัวอย่างเป็นทางการ รองรับระบบปฏิบัติการหลักบนทั้ง Windows, macOS และ Linux และได้รับกระแสตอบรับอย่างล้นหลามจากนักพัฒนาทั่วโลก

เปิดตัว Tauri v2.0 Beta กุมภาพันธ์ ค.ศ. 2024 (พ.ศ. 2567)

ทีมพัฒนาขยายขอบเขตการทำงานครั้งใหญ่ด้วยการประกาศรองรับระบบปฏิบัติการบนสมาร์ทโฟน iOS และ Android พร้อมปรับปรุงระบบ IPC และ Plugin Architecture

เปิดตัว Tauri v2.0 Stable 2 ตุลาคม 2024 (พ.ศ. 2567)

Tauri v2.0 เวอร์ชันสมบูรณ์เปิดตัวอย่างเป็นทางการ ยกระดับเป็นนิเวศน์ Cross-Platform ที่ครอบคลุมทั้ง Desktop และ Mobile พร้อมระบบความปลอดภัย และการจัดการสิทธิ์รูปแบบใหม่

ปัจจุบัน

Tauri กลายเป็นเฟรมเวิร์กชั้นนำที่ได้รับการสนับสนุนจากองค์กรระดับโลกมากมาย เช่น 1Password, Sentry, Sourcegraph, HTTP Toolkit และชุมชนนักพัฒนา โอเพ่นซอร์ส (Open-Source) ทั่วโลก

สรุป (Conclusion)

Tauri คือก้าวสำคัญของการพัฒนาแอปพลิเคชันแบบ Cross-platform ยุคใหม่ ที่ทลายข้อจำกัดเดิม ๆ ด้านขนาดไฟล์ และการกินทรัพยากร ด้วยการผสานจุดแข็งด้านความยืดหยุ่น ทำ UI ง่าย ของ Web Frontend เข้ากับความเร็ว และปลอดภัย ของ Rust Backend และสุดท้ายความเบาของ Native OS WebView

แม้ผู้พัฒนาอาจต้องเจอความท้าทายเรื่องความแตกต่างของ WebView บนแต่ละ OS และ Learning Curve ของภาษา Rust แต่ด้วยประสิทธิภาพ, คุณสมบัติความปลอดภัย และการรองรับทั้ง Desktop และ Mobile ใน Tauri v2 ทำให้ Tauri กลายเป็นหนึ่งในตัวเลือกที่ดีที่สุดสำหรับการสร้างแอปพลิเคชันประสิทธิภาพสูงในปัจจุบัน


ที่มา : v2.tauri.app , v1.tauri.app , en.wikipedia.org

0 Tauri+%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3+%3F
แชร์หน้าเว็บนี้ :
Keyword คำสำคัญ »
เขียนโดย
ระดับผู้ใช้ : Admin    Thaiware
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ
 
 
 

ทิปส์ไอทีที่เกี่ยวข้อง

 


 

แสดงความคิดเห็น