IronCalc: โปรแกรมสเปรดชีตโอเพนซอร์สที่เขียนด้วย Rust ได้รับความสนใจจากชุมชนนักพัฒนา

BigGo Editorial Team
IronCalc: โปรแกรมสเปรดชีตโอเพนซอร์สที่เขียนด้วย Rust ได้รับความสนใจจากชุมชนนักพัฒนา

โปรแกรมสเปรดชีตโอเพนซอร์สตัวใหม่ได้ปรากฏขึ้นในวงการเทคโนโลยี ดึงดูดความสนใจจากนักพัฒนาและผู้ที่ชื่นชอบการใช้งานสเปรดชีต IronCalc ซึ่งเป็นโปรเจกต์ที่พัฒนาด้วยภาษา Rust และคอมไพล์เป็น WebAssembly นำเสนอทางเลือกที่น่าสนใจเมื่อเทียบกับโซลูชันสเปรดชีตแบบดั้งเดิม ด้วยสถาปัตยกรรมที่เบาและมีประสิทธิภาพสูง

การพัฒนาทางเทคนิค

IronCalc ทำงานทั้งหมดในเบราว์เซอร์ผ่าน WebAssembly โดยไม่จำเป็นต้องประมวลผลที่ฝั่งเซิร์ฟเวอร์สำหรับฟังก์ชันหลัก โปรเจกต์นี้แสดงให้เห็นถึงประสิทธิภาพที่น่าประทับใจ โดยผู้ใช้สังเกตเห็นการตอบสนองที่รวดเร็วและใช้ทรัพยากรระบบน้อย การพัฒนาใช้ภาษา Rust ที่คอมไพล์เป็น WASM ทำให้เป็นตัวอย่างที่โดดเด่นของสถาปัตยกรรมเว็บแอปพลิเคชันสมัยใหม่

ชุดคุณสมบัติและสถานะการพัฒนา

แม้ว่าปัจจุบันยังอยู่ในช่วงพัฒนา IronCalc มีเป้าหมายที่จะรองรับสูตรคำนวณของ Excel ให้ได้ภายในระยะเวลาประมาณหนึ่งปี โปรเจกต์นี้แยกส่วนติดต่อผู้ใช้และเอนจินด้านหลังออกจากกันอย่างชัดเจน ทำให้สามารถนำไปประยุกต์ใช้ในบริบทต่างๆ ได้อย่างยืดหยุ่น จากความเห็นของชุมชนพบว่ายังมีฟีเจอร์พื้นฐานบางอย่างที่ผู้ใช้ Excel คุ้นเคยที่ยังอยู่ระหว่างการพัฒนา:

ทดลองคลิกดูแล้ว ฟีเจอร์พื้นฐานบางอย่างที่เคยใช้ยังหายไป เช่น การคลิกที่หัวแถวหรือหัวคอลัมน์เพื่อเลือกทั้งหมด หรือการดับเบิลคลิกที่ตัวปรับขนาดระหว่างคอลัมน์เพื่อปรับขนาดให้พอดีกับเนื้อหา ที่มา

แนวทางการพัฒนาในอนาคต

โปรเจกต์ได้วางแนวทางการพัฒนาที่น่าสนใจไว้หลายประการ:

  1. การรองรับสคริปต์ : แทนที่จะรองรับ VBA ทีมงานกำลังพิจารณาที่จะผสานภาษาสคริปต์สมัยใหม่อย่าง Lua หรือ Rhai
  2. ** แพ็คเกจ NPM** : กำลังดำเนินการให้ IronCalc สามารถใช้งานเป็นแพ็คเกจ npm ได้ภายในเดือนหน้า
  3. ** ฟีเจอร์ขั้นสูง** : ทีมงานเปิดกว้างที่จะพัฒนาฟีเจอร์ขั้นสูงเช่น Goal Seek และการวิเคราะห์ความอ่อนไหว แม้ว่าจะยังไม่อยู่ในแผนการพัฒนาระยะใกล้

ชุมชนและการอนุญาตใช้งาน

IronCalc เผยแพร่ภายใต้ใบอนุญาตแบบคู่ MIT/Apache 2.0 ซึ่งให้ความยืดหยุ่นทั้งการใช้งานเชิงพาณิชย์และโอเพนซอร์ส โปรเจกต์มีชุมชน Discord ที่ยังคงใช้งานอยู่สำหรับการพูดคุยเกี่ยวกับการพัฒนาและการสนับสนุน

สถาปัตยกรรมทางเทคนิค

โปรเจกต์ใช้ตัวแยกวิเคราะห์แบบ recursive descent สำหรับการประเมินสูตรคำนวณ แสดงให้เห็นถึงพื้นฐานที่แข็งแกร่งในหลักการวิทยาการคอมพิวเตอร์ แนวทางนี้แม้จะเป็นแบบดั้งเดิม แต่พิสูจน์แล้วว่ามีประสิทธิภาพในคอมไพเลอร์และตัวแยกวิเคราะห์หลายตัวที่ใช้งานจริง

การมุ่งมั่นในการเป็นโอเพนซอร์สและความโปร่งใสขยายไปถึงการวิเคราะห์ของโปรเจกต์ แม้ว่าทีมงานกำลังพิจารณาที่จะลบการวิเคราะห์ออกทั้งหมดเพื่อให้สอดคล้องกับแนวทางการพัฒนาที่เน้นความเป็นส่วนตัว

สำหรับนักพัฒนาที่สนใจสร้างงานด้วย IronCalc โปรเจกต์นี้วางตำแหน่งตัวเองทั้งในฐานะเอนจินสเปรดชีตแบบสแตนด์อโลนและเป็นพื้นฐานสำหรับการพัฒนาแบบกำหนดเอง ทำให้น่าสนใจเป็นพิเศษสำหรับนักพัฒนา SaaS ที่ต้องการผสานฟังก์ชันสเปรดชีตเข้ากับแอปพลิเคชันของตน

แหล่งที่มา: การประกาศโปรเจกต์ การสนทนาในชุมชน