Calculation Engine

Calculation Engine đóng vai trò quan trọng trong field công thức, quy tắc liên kết và workflow, cung cấp các công cụ tính toán đa dụng.

Formula.js

Formula.js là một thư viện JavaScript nhẹ được thiết kế chuyên biệt cho việc tính toán theo công thức. Nó cung cấp tập hợp đầy đủ các hàm toán học và thống kê, giúp người dùng dễ dàng thực hiện các phép tính phức tạp. Các đặc điểm chính bao gồm:

  • Tính năng phong phú: Tập hợp các hàm rộng rãi bao quát nhiều phép toán học khác nhau.
  • Dễ sử dụng: Cung cấp API đơn giản, cho phép cả nhà phát triển và người không phải nhà phát triển tạo công thức mà không cần viết nhiều code.
  • Tính toán theo thời gian thực: Được tối ưu hóa cho xử lý dữ liệu thời gian thực, phù hợp với các ứng dụng cần phản hồi tính toán tức thì.

Math.js

Math.js là một thư viện toán học giàu tính năng dành cho JavaScript và Node.js. Nó hỗ trợ rất nhiều phép toán từ số học cơ bản đến đại số nâng cao, thống kê và đại số tuyến tính. Các đặc điểm chính bao gồm:

  • Tập hợp hàm đầy đủ: Cung cấp một lượng lớn các hàm phục vụ nhiều phép toán khác nhau.
  • Phân tích biểu thức linh hoạt: Có khả năng phân tích và đánh giá các biểu thức toán học dưới dạng chuỗi.
  • Tính toán nâng cao: Hỗ trợ các tính năng như phép toán ma trận, tính toán biểu tượng và phân tích thống kê.
  • Khả năng mở rộng: Có thể được mở rộng thông qua các hàm và hằng số tùy chỉnh để đáp ứng nhu cầu cụ thể.

Ứng dụng trong NocoBase

Bằng cách kết hợp sử dụng Formula.js và Math.js, NocoBase:

  • Thực hiện nhiều loại tính toán: Từ phép toán đơn giản đến các phép toán toán học phức tạp.
  • Xây dựng ứng dụng mạnh mẽ và hiệu quả: Tạo ra các ứng dụng cần khả năng tính toán chính xác và mạnh mẽ.
  • Nâng cao năng suất: Tận dụng các hàm có sẵn, tránh viết nhiều code tùy chỉnh, từ đó cải thiện hiệu quả phát triển.

Hai thư viện này đóng vai trò then chốt trong NocoBase, cho phép bạn tạo logic tính toán linh hoạt và có thể tùy chỉnh mà không cần đi sâu vào lập trình. Điều này không chỉ đơn giản hóa quá trình phát triển mà còn nâng cao chức năng và tính linh hoạt.