blog image

Top 15+ framework back-end, front-end và mobile phổ biến nhất 2023

Là một lập trình viên, bạn không cần phải phát triển mọi ứng dụng lại từ đầu bởi vì đã có các công cụ được thiết kế để hỗ trợ bạn, framework là một trong những công cụ hữu dụng đó. Vậy thì framework là gì? Đồng thời, ITviec giới thiệu đến bạn top 15+ framework back-end, front-end và mobile phổ biến nhất 2023.

Framework là gì?

Framework là gì? Framework, hay software framework, là một nền tảng để phát triển các ứng dụng phần mềm.

Framework là những công cụ và thư viện mà các nhà phát triển khác đã tạo để đạt được một mục tiêu kỹ thuật cụ thể hoặc để làm cho việc phát triển bằng một ngôn ngữ cụ thể dễ dàng hơn. Nói cách khác, framework giúp các nhà phát triển phần mềm có thể xây dựng các chương trình cho một nền tảng cụ thể.

Ví dụ, một framework có thể bao gồm các classes và chức năng được xác định từ trước để xử lý đầu vào, quản lý thiết bị phần cứng và tương tác với phần mềm hệ thống. Điều này làm tinh gọn lại quá trình phát triển vì các lập trình viên không cần phải làm lại từ đầu mỗi khi họ muốn phát triển một ứng dụng mới.

Ngoài ra, cũng có một số ứng dụng yêu cầu một framework cụ thể để có thể vận hành.

Ví dụ: Một chương trình Windows có thể cần Microsoft .NET Framework 4.0 để chạy trong khi framework này không được cài đặt trên tất cả các máy Windows (đặc biệt là các PC chạy những phiên bản Windows cũ hơn). Trong trường hợp này, gói trình cài đặt Microsoft .NET Framework 4 phải được cài đặt để chương trình chạy.

Lưu ý về các loại framework

Hiện nay chưa có cách chia framework thành các “loại” cụ thể. Developer có thể chia framework:

  • Theo ngôn ngữ: JavaScript frameworks, HTML & CSS frameworks,…
  • Theo hệ điều hành hỗ trợ: Windows framework, Android framework, iOS framework,…
  • Theo ứng dụng: Web Development, Front-end Development, Back-end Development, Data Science framework,…

Và trong mỗi cách phân loại lại có những framework cụ thể. Trong phạm vi bài viết này, ITviec sẽ gợi ý các framework được phân loại theo ứng dụng.

Lưu ý: Thông thường, thuật ngữ “framework” thường đề cập đến các nền tảng phát triển phần mềm nói chung nhưng thuật ngữ này cũng có thể được sử dụng để mô tả một framework cụ thể, nằm bên trong một môi trường lập trình lớn.

Ví dụ, nhiều Java frameworks, như Spring, ZK và Java Collections Framework (JCF) có thể được dùng để phát triển các phần mềm Java.

Trong nhiều trường hợp, một framework được hỗ trợ chỉ bởi một hệ điều hành.

Ví dụ: Một phần mềm được viết cho framework ứng dụng Android sẽ chỉ chạy trên thiết bị Android mà không yêu cầu cài đặt các tệp bổ sung khác.

Hay như Apple cũng tạo ra nhiều frameworks cụ thể phù hợp với các chương trình OS X. Những frameworks này được lưu trữ trong một file mở rộng .FRAMEWORK và được cài đặt trong danh mục /System/Library/Frameworks.

Một vài OS X frameworks như: AddressBook.framework, CoreAudio.framework, CoreText.framework, and QuickTime.framework.

Phân biệt Framework và Library (Thư viện)

Tuy đã hiểu được framework là gì, nhiều developer vẫn nhầm lẫn giữa Framework và Library.

Cả framework và library đều là những đoạn code do người khác viết, được sử dụng để giúp giải quyết các vấn đề trong quá trình phát triển phần mềm. Nhiều developers cũng sử dụng hai thuật ngữ này thay thế lẫn nhau, nhưng cả hai đều có những điểm khác biệt nhất định:

So sánh gữa Framework và Library. Nguồn: @BuggyProgrammer

Tiêu chí Framework là gì? Library là gì?
Định nghĩa Framework là một đoạn code thể hiện kiến trúc của dự án. Library là một tập hợp các chức năng có thể tái sử dụng bởi phần mềm máy tính.
Quyền kiểm soát Framework nắm quyền kiểm soát với bạn, có nghĩa rằng framework sẽ quy định chỗ nào cần bạn thêm code vào. Bạn là người nắm quyền kiểm soát (person in-charge), bạn có thể chọn sử dụng library ở đâu và khi nào bạn muốn.
Tính năng Framework cung cấp tiêu chuẩn để phát triển và deploy ứng dụng. Quan trọng trong quá trình program linking và binding.
Tính linh hoạt Framework có tiêu chuẩn và kiến trúc bắt buộc. Library linh hoạt với nhiều quyền kiểm soát hơn.
Ví dụ Angular JS, Vue JS là JavaScript framework. React.js, Jquery là JavaScript library.

Nhìn chung, nếu so với việc xây nhà, thì framework là đổ móng với giàn giáo dùng để chọn framework nào sẽ định hình cho cái ứng dụng/ web. Còn thư viện thì như là sơn sửa nội thất, có thể thay đổi đa dạng khác nhau.