Thư viện vs Framework

Thư Viện và Framework
Thư Viện và Framework

Trong quá trình tìm hiểu và làm việc. Chúng ta thường xuyên gặp và sử dụng các thư viện (library) và framework. Vậy làm sao để người ta phân loại chúng. Việc phân loại có thật sự cần thiết. Và chúng ta có cần phải tranh cãi về tên gọi của chúng không?

Thư viện (library)

Python Libraries
Python Libraries

Thư viện là một tập hợp các Class hoặc functions. Nhằm hỗ trợ lập trình viên xử lý một vấn đề nào đó. Một vài ví dụ về thư viện.

underscorejs

Là một thư viện rất nổi tiếng của JavaScript. Underscore cung cấp hơn 100 functions tiện ích hỗ trợ các đối tượng: Collection, Array, Function và Object. Để hiểu rõ hơn, chúng ta xem thử một ví dụ:

Ví dụ trên sử dụng thư viện Underscore để tìm kiếm các phần tử là số chẵn. Chúng ta có thể dễ dàng viết những đoạn code này. Tuy nhiên, với thư viện, thì khối lượng công việc giảm đáng kể.

Numpy

Tiếp đến, chúng ta sẽ tìm hiểu về thư viện Numpy, một trong những thư viện khá nổi tiếng của ngôn ngữ Python. Mục đích chính của Numpy là cung cấp các phương thức hỗ trợ mảng một và đa chiều.

Ví dụ, chúng ta có thể dễ dàng tạo ra một ma trận bằng cách tạo ra một mảng 2 chiều. Python cung cấp rất nhiều phương pháp để việc này trở nên nhanh chóng. Tuy nhiên, với Numpy thì không có cách nào có thể đơn giản và nhanh hơn.

Framework

Web Frameworks
Web Frameworks

Kết luận

Về chủ quan, mình có thể đưa ra một vài so sánh nhỏ như sau:

  • Về quy mô, framework lớn hơn thư viện rất nhiều. Và đôi khi, trong framework chứa rất nhiều thư viện.
  • Khi làm việc:
    • Với thư viện, chúng ta chỉ cần gọi những hàm trong thư viện