Hacker News

Hiển thị HN: Vertex.js – Khung SPA 1kloc

Khám phá lý do tại sao các nhà phát triển từ chối các khung JavaScript cồng kềnh dành cho các khung vi mô như Vertex.js và ý nghĩa của nó đối với các ứng dụng web doanh nghiệp của bạn.

10 đọc tối thiểu

Mewayz Team

Editorial Team

Hacker News

Đây là bài viết:

Sự trỗi dậy của Micro-Frameworks: Tại sao các nhà phát triển từ chối công cụ JavaScript cồng kềnh

Một nhà phát triển gần đây đã đăng một khung ứng dụng một trang được xây dựng với khoảng 1.000 dòng mã lên Hacker News và phản hồi rất nhanh chóng. Dự án — một khung SPA tối giản — đã khơi dậy một cuộc tranh luận sôi nổi trong cộng đồng phát triển web trong nhiều năm: liệu các công cụ của chúng ta có trở nên quá phức tạp đối với những vấn đề mà chúng giải quyết không? Khi thư viện lõi của React, bộ định tuyến, lớp quản lý trạng thái và công cụ xây dựng của nó có trọng lượng lên tới hàng trăm nghìn dòng mã, một khung cung cấp khả năng định tuyến, phản ứng và hiển thị thành phần chỉ trong 1.000 dòng đặt ra một câu hỏi khó chịu. Đối với các doanh nghiệp xây dựng ứng dụng hướng tới khách hàng, câu trả lời cho câu hỏi đó sẽ mang lại những hậu quả thực sự — về thời gian tải, năng suất của nhà phát triển và chi phí bảo trì dài hạn.

Khung 1.000 dòng thực sự chứng minh điều gì

Ý tưởng về một micro-framework không phải là mới. Backbone.js có khoảng 1.800 dòng mã nguồn được chú thích khi nó ra mắt vào năm 2010. Mithril.js có dung lượng nén dưới 10KB. Điều làm cho mỗi mục mới trong danh mục này đáng chú ý không phải là số dòng mà là những gì nó tiết lộ về trạng thái hiện tại của API trình duyệt. Các trình duyệt hiện đại có hỗ trợ riêng cho các chữ mẫu, API lịch sử, khả năng phản ứng dựa trên Proxy, các thành phần tùy chỉnh và tải mô-đun. Một thập kỷ trước, các framework cần hàng nghìn dòng chỉ để bình thường hóa sự khác biệt giữa Internet Explorer và Chrome. Ngày nay, một nhà phát triển lành nghề có thể xây dựng một khung SPA đầy đủ chức năng dưới dạng một lớp điều phối mỏng bên trên nền tảng nguyên thủy.

Điều này quan trọng vì nó chuyển cuộc trò chuyện từ "chúng ta nên chọn khuôn khổ nào?" thành "chúng ta có cần một khuôn khổ nào không?" Đối với các dự án vừa và nhỏ - trang đích có các phần động, bảng điều khiển nội bộ, cổng thông tin khách hàng - câu trả lời ngày càng nhiều: có thể là không, hoặc ít nhất là không nặng nề. Khung 1.000 dòng là bằng chứng cho thấy nền tảng đã trưởng thành đến mức công việc của khung đang bị thu hẹp lại.

Tất nhiên, các framework như React và Vue vẫn có được sức nặng trong các ứng dụng quy mô lớn với cây trạng thái phức tạp, nhu cầu kết xuất phía máy chủ và nhóm gồm hơn 20 nhà phát triển được hưởng lợi từ các quy ước cứng nhắc. Cái nhìn sâu sắc quan trọng là công cụ phù hợp phụ thuộc hoàn toàn vào phạm vi của vấn đề.

Chi phí thực sự của sự phình to của JavaScript

Nghiên cứu của riêng Google đã liên tục chỉ ra rằng cứ mỗi 100 mili giây thời gian tải được thêm vào có thể làm giảm tỷ lệ chuyển đổi tới 7%. Trang web trung bình hiện cung cấp hơn 500KB JavaScript — con số này đã tăng gần gấp ba kể từ năm 2015. Đối với các doanh nghiệp, đây không phải là một thước đo hiệu suất trừu tượng. Nó trực tiếp dẫn đến doanh thu bị mất, tỷ lệ thoát cao hơn và thứ hạng công cụ tìm kiếm kém hơn.

Vấn đề còn phức tạp hơn trên mạng di động. Người dùng trên thiết bị Android tầm trung kết nối qua 3G có thể đợi 5-8 giây để trang nặng JavaScript tương tác, ngay cả sau khi HTML ban đầu được hiển thị. Điều này đặc biệt gây khó khăn cho các doanh nghiệp phục vụ khách hàng ở các thị trường mới nổi, nơi việc duyệt ưu tiên trên thiết bị di động là tiêu chuẩn và cơ sở hạ tầng mạng thay đổi đáng kể.

💡 BẠN CÓ BIẾT?

Mewayz replaces 8+ business tools in one platform

CRM · Hóa đơn · Nhân sự · Dự án · Đặt chỗ · Thương mại điện tử · POS · Phân tích. Gói miễn phí vĩnh viễn có sẵn.

Bắt đầu miễn phí →

Thời gian phân tích cú pháp: Các gói JavaScript lớn mất nhiều thời gian hơn để phân tích và biên dịch, ngay cả trước khi một dòng mã ứng dụng được thực thi

Áp lực bộ nhớ: Các phần bên trong khung phức tạp tiêu thụ bộ nhớ mà chính ứng dụng có thể sử dụng

Mệt mỏi khi cập nhật: Các nâng cấp khung chính (Angular 1 đến 2, Vue 2 đến 3, các thành phần lớp React thành hook) buộc phải nỗ lực di chuyển tốn kém sau mỗi 2-3 năm

Chuỗi phụ thuộc: Thư mục node_modules của dự án React điển hình chứa 800-1.200 gói, mỗi gói có một lỗ hổng bảo mật tiềm ẩn hoặc có thể phá vỡ sự thay đổi

Độ phức tạp của bản dựng: Webpack, Babel, PostCSS và các tệp cấu hình của chúng thường vượt quá mã ứng dụng mà chúng phục vụ

Các micro-framework tránh được hầu hết các chi phí này. Với ít sự trừu tượng hơn, sẽ có ít thứ cần phá vỡ hơn, ít sự phụ thuộc hơn vào việc kiểm tra và ít b

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 →

Dùng Thử Mewayz Miễn Phí

Nền tảng tất cả trong một cho CRM, hóa đơn, dự án, Nhân sự & hơn thế nữa. Không cần thẻ tín dụng.

Bắt đầu quản lý doanh nghiệp của bạn thông minh hơn ngay hôm nay.

Tham gia 30,000+ doanh nghiệp. Gói miễn phí vĩnh viễn · Không cần thẻ tín dụng.

Tìm thấy điều này hữu ích? Chia sẻ nó.

Sẵn sàng áp dụng vào thực tế?

Tham gia cùng 30,000+ doanh nghiệp đang sử dụng Mewayz. Gói miễn phí vĩnh viễn — không cần thẻ tín dụng.

Bắt đầu Dùng thử Miễn phí →

Sẵn sàng hành động?

Bắt đầu dùng thử Mewayz miễn phí của bạn ngay hôm nay

All-in-one business platform. No credit card required.

Bắt đầu miễn phí →

Dùng thử 14 ngày miễn phí · Không cần thẻ tín dụng · Hủy bất kỳ lúc nào