Framework là khái niệm cơ bản mà bất kỳ ai học hoặc làm việc liên quan đến ngành công nghệ phần mềm đều biết. Vậy chính xác Framework là gì? Cách framework hoạt động. Hãy cùng Khotenmien.vn tìm hiểu thông qua bài viết dưới đây nhé!
1. Framework là gì?
Trong lập trình máy tính, một framework có thể được khái niệm là một công cụ cho phép phát triển ứng dụng & tạo các hệ thống riêng. Bản thân công cụ này là một tập hợp các quá trình, đấy là lý do tại sao một framework được định nghĩa là sự trừu tượng hóa bởi các kỹ sư. & sự trừu tượng trong lập trình máy tính là công đoạn loại bỏ các chi tiết không gian hoặc thời gian. Quy trình này tương tự như khái quát hóa, có nghĩa là nó đơn giản hóa việc sắp xếp các chi tiết, chỉ để lại những cấu trúc cần thiết nhất để cho phép hệ thống hoạt động.
Mỗi lập trình viên có thể dựa vào framework ban đầu để tự phát triển một CMS riêng cho mình. Framework chỉ là nền tảng ban đầu, nó không giúp cho bạn hoàn thành một chương trình hay dự án hoàn chỉnh được. Và một điều cần chú ý nữa là framework khác với các thư viện hay plugin mở rộng.
2. 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 dùng lại các framework này có rất là nhiều ưu điểm:
- Framework xây dựng sẵn các tính năng chung, VD dự án Website nào cũng có phải 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 & công sức phát triển phần mềm.
- Cho phép ứng dụng kế thừa một cấu trúc được chuẩn hóa, bảo đảm dễ dàng trong vận hành & 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à kiểm soát một framework.
- Kích cỡ phần mềm 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 phù hợp với các phần mềm quá nhỏ, VD 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 thiết yếu, thay vì vậy bạn tự viết code sẽ nhanh hơn.
3. Cách framework hoạt động
Các framework được thiết kế để tiết kiệm thời gian và hỗ trợ các phím tắt. Đúng là bạn sẽ làm một trang Website rất đơn giản hoặc một phần mềm Website tối tân mà không có nó. Framework sửa đổi và cải thiện quá trình phát triển và cho phép dùng, thay đổi & tích hợp mã đơn giản hóa công việc. Toàn bộ các lập trình viên chuyên nghiệp đều biết sử dụng 1 hoặc nhiều framework khác nhau. & framework không giống nhau hỗ trợ cho 1 hoặc nhóm ngôn ngữ lập trình tương ứng.
Theo thống kê việc dùng framework cho phép lập trình nhiều hơn trong thời gian ngắn hơn thế nhưng với chất lượng cao hơn rất nhiều. Đấy là bởi vì ngay cả một lập trình viên thiếu kinh nghiệm dùng framework vẫn có thể đơn giản tích hợp mã tuyệt vời vào chương trình và nói chung đây là những gì lập trình viên làm vì trong vô số các quy trình đã xuất hiện mã hoàn hảo. Toàn bộ chỉ còn lại là tích hợp nó. Giả sử dự án của bạn cần quá trình A + quy trình B + quy trình C. Nhà phát triển tìm mã tốt nhất cho từng quá trình & phù hợp nhất chúng, hoạt động trong một framework duy nhất.
Không giống như các thư viện, các framework cho phép đảo ngược của kiểm soát mã.Vì lẽ đó, nếu bạn phải cần xác định quy tắc hay cách hoạt động là gì, hãy nói rằng đó là một công cụ được dùng để xây dựng các phần mềm.

4. Sự khác biệt giữa framework và library
Library – Thư viện lập trình có thể bạn đã biết, trước đây khi các framework còn là một cái gì đó mới mẻ, hoặc phải trả tiền để có được những framework do các công ty có uy tín phát triển thì các thư viện lập trình nhỏ lẻ vẫn được dân mạng truyền tay nhau. Mỗi lập trình viên đều có một thư mục local trên máy tính chứa hàng trăm các thư viện nhỏ không giống nhau phục vụ cho các dự án. Từ khoảng 2010 trở lại đây, phong trào framework phát triển cực kỳ mạnh mẽ, đáng chú ý và Web framework. Các framework là một tập các thư viện lập trình, liên kết với nhiều các công cụ khác tiện lợi như bộ biên dịch, phiên dịch, các công cụ dòng lệnh… Nó tạo thành bộ khung cho tất cả các ứng dụng Web.

Một khác biệt nữa trong việc sử dụng framework & library đó là việc gọi các khối mã lệnh (phương thức, hàm), trong framework, các mã lệnh trong framework sẽ gọi đến mã lệnh của bạn, còn với thư viện lập trình thì mã lệnh của bạn gọi đến các mã lệnh của thư viện lập trình. Với library nó kiểu như mô hình client/server, client sẽ gửi các yêu cầu đến server & server sẽ hồi đáp lại kết quả. Một Ví dụ khi dùng thư viện lập trình cURL, khi bạn sử dụng một function trong thư viện cURL, code PHP của bạn sẽ gọi đến function này trong thư viện cURL, như vậy code của bạn là chủ thể gọi còn thư viện lập trình là bị động. khi bạn dùng các framework PHP như Laravel chẳng hạn, mối quan hệ này bị đảo ngược, code trong framework gọi đến các mã phần mềm của bạn với một mẫu thiết kế mà nhiều người biết tới Inversion of Control, nếu như bạn đã làm quen với Laravel bạn sẽ thấy mã framework được đưa vào index.php để quản lý luồng điều khiển trong khi các mã chúng ta viết được đưa vào các controller làm ra các “hành vi” cho ứng.
Như vậy có thể nói framework thiên về quản lý luồng điều khiển còn library thiên về tạo hành vi.
TẠM KẾT.
Vừa qua Khotenmien.vn đã giới thiệu đến bạn tất tần tật những thông tin cũng như kiến thức về Framework. Hy vọng qua những chia sẻ trên sẽ phần nào giúp bạn hiểu chính xác Framework là gì? Cách framework hoạt động. Chúc các bạn thành công
Xem thêm: Genesis Framework là gì? Tại sao nên sử dụng Genesis Framework?
Thu Uyên – Tổng hơp, chỉnh sửa.