Framework là gì?

Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói. Chúng cung cấp các tính năng có sẵn như mô hình, API và các yếu tố khác để tối giản cho việc phát triển các ứng dụng web phong phú, năng động. Các framework giống như là chúng ta có khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cần vào xây dựng và nội thất theo ý mình.

Các loại Framework

Hiện nay có nhiều framework cho backend, front end, ứng dụng mobile…phổ biến nhất có lẽ là các web framework và các framework cho mobile.

Các framework ứng dụng web là các framework phần mềm được sử dụng để sắp xếp hợp lý các ứng dụng web và phát triển trang web, các dịch vụ web và các tài nguyên web. Một loại framework ứng dụng web phổ biến là kiến trúc Model-View-Controller (MVC). Như chúng ta đã biết để lập trình một website chúng ta sử dụng tới 3 ngôn ngữ thành phần là HTML, CSS và Javascript sau đó kết hợp với một ngôn ngữ kịch bản máy chủ như PHP, ASP.NET, JAVA… với mỗi thành phần này chúng ta có các framework khác nhau.

Framework cho ứng dụng di động giúp bạn có thể viết code một lần và có thể chạy trên iOS và Android. Đó chính là điểm mạnh của nó để giảm thời gian phát triển sản phẩm so với native code. Hiện tại các framework này đa số dùng Javascript làm ngôn ngữ phát triển nổi bật như là React Native của Facebook, ngoài ra còn có Xamarin của Microsoft dùng C#, Flutter dùng ngôn ngữ Dart của Google.

Các tính năng cốt lõi của Framework web

Framework giúp tăng hiệu suất, mở rộng các chức năng và cung cấp các thư viện sẵn có để các nhà phát triển không phải làm lại từ đầu. Có rất nhiều framework khác nhau từ nhỏ đến lên, từ ngôn ngữ này đến ngôn ngữ khác — nhà phát triển có thể lựa chọn dựa trên nhu cầu dự án hoặc phong cách làm việc của riêng họ.

Mỗi ngôn ngữ lập trình có ít nhất một framework. Các thư viện trong mỗi framework cung cấp các gói có thể sử dụng lại của ngôn ngữ đó.

Một framework cho web bao gồm:

  • Libraries: Thư viện là các đoạn mã xây dựng sẵn cho một chức năng nào đó (Design pattern), bạn có thể tái sử dụng chức năng đó mà ko phải code lại. Có nhiều tools quản lý thư viện như NPM, Composer
  • API: là phương thức trao đổi dữ liệu giữa các ứng dụng chính và ứng dụng khác. Đọc thêm RESTful API là gì nhé.
  • Scaffolding: Một bộ khung các quy tắc mà một framework MVC sử dụng quy hoạch cơ sở dữ liệu có thể được truy cập như thế nào.
  • AJAX: update thông tin lên database mà không cần load lại trang.
  • Caching: giúp giảm request đến máy chủ, tăng tốc độ load trang.
  • Security: framework xác thực và ủy quyền user.
  • Compilers : trình biên dịch từ code của bạn qua ngôn ngữ cho máy.

Tham khảo thêm