ในโลกของการแยกวิเคราะห์ฟีด RSS ไลบรารีใหม่ที่เรียกว่า Feedsmith กำลังสร้างความฮือฮาในหมู่นักพัฒนาด้วยแนวทางที่เป็นเอกลักษณ์ในการจัดการข้อมูลฟีด ไลบรารีนี้รองรับฟีด RSS, Atom, JSON Feed และ RDF ได้ดึงดูดความสนใจจากนักพัฒนาที่มีชื่อเสียงในระบบนิเวศ RSS ซึ่งชื่นชมในการมุ่งเน้นการรักษาโครงสร้างฟีดดั้งเดิมไว้ พร้อมกับนำเสนอประโยชน์ด้านประสิทธิภาพที่น่าประทับใจ
การรักษาโครงสร้างฟีดดั้งเดิมทำให้ Feedsmith โดดเด่น
ต่างจากไลบรารีการแยกวิเคราะห์ฟีดอื่นๆ ที่ปรับข้อมูลให้เป็นมาตรฐานโดยรวมฟิลด์ต่างๆ เข้าด้วยกันเป็นคุณสมบัติเดียวกัน Feedsmith รักษาโครงสร้างดั้งเดิมของฟีดตามที่มีในแต่ละรูปแบบเฉพาะ แนวทางนี้แก้ไขความหงุดหงิดที่พบบ่อยในหมู่นักพัฒนาที่ต้องการเข้าถึงข้อมูลฟีดทั้งหมดโดยไม่สูญเสียข้อมูลจากเนมสเปซเฉพาะ ผู้สร้างไลบรารีได้ออกแบบมันให้จัดการกับความซับซ้อนของรูปแบบฟีดต่างๆ ในขณะที่รับประกันว่าข้อมูลเฉพาะทางจะไม่สูญหายระหว่างการแยกวิเคราะห์
Great job! I'm the creator of RSSHub and Folo, I previously used rss-parser and encountered some issues, feedsmith has features that interest me, I'll give it a try!
การรักษาโครงสร้างนี้ดูเหมือนจะได้รับการตอบรับที่ดีจากนักพัฒนาที่ทำงานอย่างกว้างขวางกับฟีด RSS รวมถึงผู้สร้าง RSSHub และ Folo ที่แสดงความสนใจในการนำ Feedsmith มาใช้หลังจากประสบปัญหากับตัวแยกวิเคราะห์อื่นๆ
ผลการทดสอบประสิทธิภาพแสดงผลลัพธ์ที่น่าสนใจ
เกณฑ์การเปรียบเทียบที่แบ่งปันโดยนักพัฒนาระบุว่า Feedsmith มอบการปรับปรุงประสิทธิภาพที่สำคัญเมื่อเทียบกับไลบรารีคู่แข่งบางตัว ตามความเห็นในการสนทนา การเปลี่ยนจาก rss-parser เป็น Feedsmith เกือบจะเพิ่มความเร็วในการแยกวิเคราะห์โดยรวมเป็นสองเท่าในการใช้งานจริง การเพิ่มประสิทธิภาพนี้เกิดขึ้นแม้ว่า Feedsmith จะรองรับเนมสเปซฟีดมากกว่าตัวเลือกอื่นๆ หลายตัว
การทดสอบประสิทธิภาพแสดงให้เห็นว่า Feedsmith จัดอยู่ในอันดับต้นๆ อย่างสม่ำเสมอสำหรับการแยกวิเคราะห์รูปแบบฟีดต่างๆ แม้ว่าความเร็วในการแยกวิเคราะห์อาจไม่ใช่ข้อพิจารณาเพียงอย่างเดียวสำหรับนักพัฒนา แต่การผสมผสานระหว่างการรองรับรูปแบบอย่างครอบคลุมและประสิทธิภาพที่แข็งแกร่งทำให้เป็นแพ็คเกจที่น่าสนใจ
รูปแบบฟีดที่รองรับใน Feedsmith:
- RSS (เวอร์ชัน 0.9x, 2.0)
- Atom (เวอร์ชัน 0.3, 1.0)
- JSON Feed (เวอร์ชัน 1.0, 1.1)
- RDF (เวอร์ชัน 0.9, 1.0)
- OPML (เวอร์ชัน 1.0, 2.0)
ผลการทดสอบประสิทธิภาพ (จำนวนการดำเนินการต่อวินาทีสำหรับการแยกวิเคราะห์ RSS):
แพ็คเกจ | การดำเนินการ/วินาที | เฉลี่ย (มิลลิวินาที) |
---|---|---|
@xmldom/xmldom + feeds | 1.34k | 0.747123 |
@xmldom/xmldom + fast-xml-parser | 1.18k | 0.844455 |
feedparser | 4.14 | 241.658 |
feeds | 2.56 | 390.625 |
feedsmith | 0.94 | 1063.821 |
การเปรียบเทียบข้ามภาษาจุดประกายความสนใจของนักพัฒนา
การสนทนาเกี่ยวกับ Feedsmith ยังกระตุ้นให้เกิดการสนทนาเกี่ยวกับการเปรียบเทียบกับไลบรารีการแยกวิเคราะห์ฟีดในภาษาโปรแกรมอื่นๆ นักพัฒนาหลายคนแสดงความสนใจในการเห็นการเปรียบเทียบประสิทธิภาพระหว่าง Feedsmith กับไลบรารี feedparser ของ Python ซึ่งแสดงให้เห็นว่ามีความต้องการสำหรับการเปรียบเทียบประสิทธิภาพข้ามภาษาในพื้นที่นี้
ความสนใจนี้เน้นย้ำว่านักพัฒนามักทำงานข้ามระบบนิเวศภาษาหลายภาษาและประเมินเครื่องมือตามทั้งชุดคุณสมบัติและลักษณะประสิทธิภาพอย่างต่อเนื่อง โดยไม่คำนึงถึงภาษาที่ใช้ในการพัฒนา
การแก้ไขความท้าทายทั่วไปในการแยกวิเคราะห์ฟีด
Feedsmith จัดการกับความท้าทายที่เกิดขึ้นเป็นประจำในการแยกวิเคราะห์ฟีด รวมถึงการจัดการวันที่ในรูปแบบต่างๆ แทนที่จะพยายามแยกวิเคราะห์รูปแบบวันที่ที่เป็นไปได้ทั้งหมด (และอาจทำให้เกิดข้อผิดพลาด) ไลบรารีจะส่งคืนวันที่ในรูปแบบสตริงดั้งเดิม ช่วยให้นักพัฒนาสามารถใช้วิธีการแยกวิเคราะห์วันที่ที่ตนเองต้องการได้
ไลบรารีนี้ยังได้รับการออกแบบให้ยืดหยุ่นเมื่อจัดการกับฟีดที่ไม่สมบูรณ์หรือไม่เป็นไปตามมาตรฐาน โดยดึงข้อมูลที่ถูกต้องเท่าที่สามารถหาได้แทนที่จะล้มเหลวกับฟีดที่ไม่ปฏิบัติตามข้อกำหนดอย่างเคร่งครัด ความยืดหยุ่นนี้ทำให้เหมาะสำหรับการทำงานกับฟีดในโลกจริงที่อาจไม่ยึดติดกับมาตรฐานอย่างสมบูรณ์แบบ
สำหรับนักพัฒนาที่ทำงานกับ RSS และรูปแบบฟีดอื่นๆ Feedsmith เป็นตัวเลือกที่น่าสนใจเพิ่มเติมในระบบนิเวศที่สร้างความสมดุลระหว่างประสิทธิภาพกับการรองรับรูปแบบอย่างครอบคลุมและปรัชญาในการรักษาโครงสร้างฟีดดั้งเดิม เมื่อมีนักพัฒนาเพิ่มขึ้นนำไลบรารีไปใช้และทดสอบในสภาพแวดล้อมการผลิตจริง ผลกระทบต่อแอปพลิเคชันที่ใช้ฟีดอาจเติบโตต่อไป
อ้างอิง: Feedsmith