Hacker News

แสดง HN: Vertex.js – กรอบงาน 1kloc SPA

ค้นหาว่าเหตุใดนักพัฒนาจึงปฏิเสธเฟรมเวิร์ก JavaScript ที่มากเกินไปสำหรับไมโครเฟรมเวิร์ก เช่น Vertex.js และผลกระทบต่อเว็บแอปธุรกิจของคุณอย่างไร

2 นาทีอ่าน

Mewayz Team

Editorial Team

Hacker News

นี่คือบทความ:

การเพิ่มขึ้นของไมโครเฟรมเวิร์ก: เหตุใดนักพัฒนาจึงปฏิเสธการใช้เครื่องมือ JavaScript ที่มากเกินไป

นักพัฒนาซอฟต์แวร์เพิ่งโพสต์เฟรมเวิร์กแอปพลิเคชันหน้าเดียวที่สร้างขึ้นด้วยโค้ดประมาณ 1,000 บรรทัดไปยัง Hacker News และการตอบสนองก็เป็นไปอย่างรวดเร็ว โปรเจ็กต์ — กรอบงาน SPA ที่เรียบง่าย — จุดประกายการอภิปรายที่คุกรุ่นอยู่ในชุมชนการพัฒนาเว็บไซต์มานานหลายปี: เครื่องมือของเราซับซ้อนเกินไปสำหรับปัญหาที่พวกเขาแก้ไขหรือไม่ เมื่อไลบรารีหลักของ React, เราเตอร์, เลเยอร์การจัดการสถานะ และเครื่องมือสร้างรวมกันมีน้ำหนักในโค้ดหลายแสนบรรทัด เฟรมเวิร์กที่ให้การกำหนดเส้นทาง ปฏิกิริยาโต้ตอบ และการเรนเดอร์ส่วนประกอบในเพียง 1,000 บรรทัด ทำให้เกิดคำถามที่น่าอึดอัดใจ สำหรับธุรกิจที่สร้างแอปพลิเคชันที่ต้องพบปะกับลูกค้า คำตอบสำหรับคำถามนั้นมีผลกระทบที่แท้จริง ทั้งในด้านเวลาในการโหลด ประสิทธิภาพการทำงานของนักพัฒนา และค่าบำรุงรักษาระยะยาว

กรอบงาน 1,000 บรรทัดพิสูจน์อะไรได้จริง

แนวคิดเรื่องไมโครเฟรมเวิร์กไม่ใช่เรื่องใหม่ Backbone.js เป็นซอร์สโค้ดที่มีคำอธิบายประกอบประมาณ 1,800 บรรทัดเมื่อเปิดตัวในปี 2010 Mithril.js จัดส่งด้วยขนาดต่ำกว่า 10KB gzipped สิ่งที่ทำให้แต่ละรายการใหม่ในหมวดหมู่นี้มีความสำคัญไม่ใช่การนับบรรทัด แต่เป็นสิ่งที่เปิดเผยเกี่ยวกับสถานะปัจจุบันของ API ของเบราว์เซอร์ เบราว์เซอร์สมัยใหม่มาพร้อมกับการรองรับเนทีฟสำหรับเทมเพลตตัวอักษร, History API, ปฏิกิริยาตามพร็อกซี, องค์ประกอบที่กำหนดเอง และการโหลดโมดูล ทศวรรษที่แล้ว เฟรมเวิร์กจำเป็นต้องใช้บรรทัดหลายพันบรรทัดเพื่อทำให้ความแตกต่างระหว่าง Internet Explorer และ Chrome เป็นมาตรฐาน ทุกวันนี้ นักพัฒนาที่มีทักษะสามารถสร้างกรอบงาน SPA ที่ทำงานได้อย่างสมบูรณ์โดยเป็นเลเยอร์การประสานแบบบางที่อยู่ด้านบนของแพลตฟอร์มดั้งเดิม

เรื่องนี้สำคัญเพราะมันเปลี่ยนการสนทนาจาก "เราควรเลือกกรอบการทำงานใด" ถึง "เราจำเป็นต้องมีกรอบการทำงานเลยหรือไม่" สำหรับโปรเจ็กต์ขนาดเล็กถึงขนาดกลาง เช่น แลนดิ้งเพจที่มีส่วนไดนามิก แดชบอร์ดภายใน พอร์ทัลลูกค้า คำตอบมีมากขึ้นเรื่อยๆ อาจจะไม่ หรืออย่างน้อยก็ไม่หนัก เฟรมเวิร์ก 1,000 บรรทัดเป็นข้อพิสูจน์ว่าแพลตฟอร์มได้เติบโตจนถึงจุดที่งานของเฟรมเวิร์กกำลังหดตัวลง

แน่นอนว่า เฟรมเวิร์กอย่าง React และ Vue ยังคงมีน้ำหนักในแอปพลิเคชันขนาดใหญ่ที่มีแผนผังสถานะที่ซับซ้อน ความต้องการในการเรนเดอร์ฝั่งเซิร์ฟเวอร์ และทีมนักพัฒนามากกว่า 20 คนที่ได้รับประโยชน์จากแบบแผนที่เข้มงวด ข้อมูลเชิงลึกที่สำคัญคือเครื่องมือที่เหมาะสมนั้นขึ้นอยู่กับขอบเขตของปัญหาทั้งหมด

ต้นทุนที่แท้จริงของ JavaScript Bloat

การวิจัยของ Google แสดงให้เห็นอย่างต่อเนื่องว่าเวลาในการโหลดที่เพิ่มทุกๆ 100 มิลลิวินาทีสามารถลดอัตรา Conversion ได้ถึง 7% ขณะนี้หน้าเว็บเฉลี่ยจัดส่ง JavaScript มากกว่า 500KB ซึ่งเป็นตัวเลขที่เพิ่มขึ้นเกือบสามเท่าตั้งแต่ปี 2015 สำหรับธุรกิจ นี่ไม่ใช่ตัวชี้วัดประสิทธิภาพเชิงนามธรรม มันแปลโดยตรงเป็นรายได้ที่สูญเสียไป อัตราตีกลับที่สูงขึ้น และการจัดอันดับเครื่องมือค้นหาที่แย่ลง

ปัญหาเกิดขึ้นบนเครือข่ายมือถือ ผู้ใช้อุปกรณ์ Android ระดับกลางที่เชื่อมต่อผ่าน 3G อาจรอ 5-8 วินาทีเพื่อให้หน้าเว็บที่มี JavaScript จำนวนมากกลายเป็นแบบโต้ตอบ แม้ว่า HTML เริ่มต้นจะแสดงผลแล้วก็ตาม นี่เป็นการลงโทษโดยเฉพาะอย่างยิ่งกับธุรกิจที่ให้บริการลูกค้าในตลาดเกิดใหม่ ซึ่งการท่องเว็บผ่านอุปกรณ์เคลื่อนที่เป็นบรรทัดฐานและโครงสร้างพื้นฐานเครือข่ายแตกต่างกันอย่างมาก

💡 คุณรู้หรือไม่?

Mewayz ทดแทนเครื่องมือธุรกิจ 8+ รายการในแพลตฟอร์มเดียว

CRM · การออกใบแจ้งหนี้ · HR · โปรเจกต์ · การจอง · อีคอมเมิร์ซ · POS · การวิเคราะห์ แผนฟรีใช้ได้ตลอดไป

เริ่มฟรี →

เวลาในการแยกวิเคราะห์: ชุด JavaScript ขนาดใหญ่ใช้เวลาในการแยกวิเคราะห์และคอมไพล์นานกว่า แม้กระทั่งก่อนที่จะเรียกใช้โค้ดแอปพลิเคชันบรรทัดเดียวก็ตาม

แรงกดดันด้านหน่วยความจำ: กรอบงานภายในที่ซับซ้อนใช้หน่วยความจำที่แอปพลิเคชันสามารถใช้ได้

ความล้าในการอัปเดต: การอัพเกรดเฟรมเวิร์กหลัก (Angular 1 ถึง 2, Vue 2 ถึง 3, โต้ตอบส่วนประกอบคลาสกับ hooks) บังคับให้มีความพยายามในการโยกย้ายที่มีค่าใช้จ่ายสูงทุกๆ 2-3 ปี

ห่วงโซ่การพึ่งพา: โฟลเดอร์ node_modules ของโปรเจ็กต์ React โดยทั่วไปมีแพ็คเกจ 800-1,200 แพคเกจ โดยแต่ละแพ็คเกจมีช่องโหว่ด้านความปลอดภัยหรือทำลายการเปลี่ยนแปลง

สร้างความซับซ้อน: Webpack, Babel, PostCSS และไฟล์การกำหนดค่ามักจะเกินรหัสแอปพลิเคชันที่ให้บริการ

ไมโครเฟรมเวิร์กหลีกเลี่ยงต้นทุนส่วนใหญ่เหล่านี้ ด้วยนามธรรมที่น้อยลง มีสิ่งที่ต้องพังน้อยลง การขึ้นต่อกันในการตรวจสอบน้อยลง และข. น้อยลง

Frequently Asked Questions

What is a micro-framework like Vertex.js?

A micro-framework is a minimalist JavaScript library designed to handle core application tasks without the bulk of larger solutions. Vertex.js achieves this by providing essential SPA functionality—like routing and state management—in about 1,000 lines of code. This contrasts with frameworks that require separate, heavier libraries for routing or state, reducing overall complexity and bloat for smaller projects.

Why are developers moving towards simpler tools?

Many developers feel that modern JavaScript tooling has become overly complex for the average project. Heavy frameworks can introduce slow build times, a steep learning curve, and unnecessary features. Simpler tools like Vertex.js offer a faster, more understandable development experience by focusing on the essential problems a framework needs to solve, aligning better with the project's actual requirements.

Is Vertex.js suitable for a large, complex application?

Vertex.js is primarily designed for smaller projects where simplicity and low overhead are key. For very large, complex applications with many interactive components, a more feature-rich framework with a vast ecosystem might be more appropriate. For teams needing extensive pre-built modules, a service like Mewayz (offering 207 modules for $19/mo) could provide the necessary UI and functional components that a micro-framework lacks.

Do I still need a build tool with Vertex.js?

While Vertex.js itself is lightweight, you will likely still use a build tool for professional development. Tools like Vite or Parcel are necessary to bundle your code, handle npm dependencies, and enable modern JavaScript features. However, the overall toolchain remains simpler than those required by larger frameworks, as you avoid complex state-management and routing libraries.

Streamline Your Business with Mewayz

Mewayz brings 207 business modules into one platform — CRM, invoicing, project management, and more. Join 138,000+ users who simplified their workflow.

Start Free Today →

ลองใช้ Mewayz ฟรี

แพลตฟอร์มแบบออล-อิน-วันสำหรับ CRM, การออกใบแจ้งหนี้, โครงการ, HR และอื่นๆ ไม่ต้องใช้บัตรเครดิต

เริ่มจัดการธุรกิจของคุณอย่างชาญฉลาดวันนี้

เข้าร่วมธุรกิจ 30,000+ ราย แผนฟรีตลอดไป · ไม่ต้องใช้บัตรเครดิต

พบว่าสิ่งนี้มีประโยชน์หรือไม่? แบ่งปันมัน

พร้อมนำไปปฏิบัติแล้วหรือยัง?

เข้าร่วมธุรกิจ 30,000+ รายที่ใช้ Mewayz แผนฟรีตลอดไป — ไม่ต้องใช้บัตรเครดิต

เริ่มต้นทดลองใช้ฟรี →

พร้อมที่จะลงมือทำหรือยัง?

เริ่มต้นทดลองใช้ Mewayz ฟรีวันนี้

แพลตฟอร์มธุรกิจแบบครบวงจร ไม่ต้องใช้บัตรเครดิต

เริ่มฟรี →

ทดลองใช้ฟรี 14 วัน · ไม่ต้องใช้บัตรเครดิต · ยกเลิกได้ทุกเมื่อ