Khái niệm, định nghĩa Framwork là gì?

Framework là một thư viện các mã lệnh được xây dựng sẵn để chúng ta sử dụng, nó cung cấp cho chúng ta các chức năng cơ bản cần thiết mà người lập trình viên thường xuyên phải sử dụng khi tiến hành phát triển phần mềm, web,… 

THÔNG TIN CHÍNH

Trong công nghệ thông tin, thuật ngữ framework cũng được dùng rất nhiều, nó là một tập hợp các thư viện phần mềm, các trình biên dịch, diễn dịch hoặc các API, nhằm cung cấp một môi trường giúp cho việc lập trình ứng dụng trở lên nhanh chóng.

Trong lập trình ứng dụng, lập trình web có rất nhiều vấn đề mà chúng ta gặp lại nhiều lần, thậm chí ở những công ty khác, mọi người cũng gặp phải vậy phải có cách nào đó giúp tiết kiệm thời gian, công sức khi xử lý cùng một vấn đề. Thật may, framework làm cho mọi việc phức tạp trở lên đơn giản và chúng ta chỉ cần tập trung vào các công việc chính để hoàn thành dự án.

Có thể ví framework như tập các “Vật liệu” ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu này rồi thực hiện ( tức lập trình ) để gắn kết chúng lại với nhau, tạo ra sản phẩm.

Ví dụ: Để thiết kế một game đua xe, nếu không có bộ Framework chuyên dụng cho game, người lập trình game phải tự tạo ra: khung xe, bánh xe, người, đường đi … rồi mới tính đến chuyện lắp ghép chúng lại với nhau để tạo ra không gian cho game. Nếu có sẵn bộ framework thì lập trình viên chỉ viết lệnh lấy chúng ra từ Framework và ghép chúng lại. Có thể hình dung Framework bao gồm các vật liệu như gạch, cát, xi măng, sắt … nhưng tùy theo cách thiết kế của người kiến trúc sư mà tạo ra những căn nhà với hình dạng khác nhau.

Theo cách này ,dẫu người lập trình không cần sử dụng kỹ năng cao nhưng cũng có thể tạo ra sản phẩm đạt được chất lượng tốt thông qua việc sử dụng framework và tuân theo các quy tắc của nó.

LỢI ÍCH CỦA VIỆC SỬ DỤNG FRAMEWORK

Trong mỗi một ngôn ngữ, một lĩnh vực đều có nhiều các framework được tạo ra bởi các nhóm lập trình hoặc thậm chí được hậu thuẫn bởi các công ty lớn, như vậy đương nhiên việc sử dụng lại các framework này có rất nhiều ưu điểm:

  • Framework xây dựng sẵn các tính năng chung, ví dụ dự án web nào cũng có cần có phần quản lý người dùng như đăng ký, đăng nhập, tích hợp mạng xã hội, kết nối cơ sở dữ liệu…
  • Sử dụng framework giảm thiểu tối đa thời gian và công sức phát triển ứng dụng.
  • Cho phép ứng dụng kế thừa một cấu trúc được chuẩn hóa, đảm bảo dễ dàng trong vận hành và bảo trì sau này.

Bên cạnh đó sử dụng framework cũng có một số nhược điểm:

  • Bạn phải mất nhiều thời gian để học và làm chủ một framework.
  • Kích cỡ ứng dụng khi sử dụng framework là rất lớn, một website có thể lên đến hàng vài trăm MB code khi chưa có bất kỳ nội dung nào.
  • Cần viết code tuân thủ theo các tiêu chuẩn chung mà framework đặt ra.
  • Không thích hợp với các ứng dụng quá nhỏ, ví dụ bạn tạo ra một ứng dụng nhỏ hiển thị kết quả World cup 2018 chẳng hạn, việc áp dụng cả một framework vào là không cần thiết, thay vào đó bạn tự viết code sẽ nhanh hơn.