Đang Tải...

Trang chủ
Tot Blog

Kiến thức & tin công nghệ

Framework là gì? Cách lựa chọn Framework phù hợp cho dự án của bạn

06/10/2023

icon

Trong ngành phát triển và lập trình website, thì khái niệm Framework dường như đã trở thành một khái niệm vô cung quen thuộc với tất cả mọi người. Các devs thường sử dụng Framework để hỗ trợ công việc trong quá trình xây dựng hoặc phát triển website của chính mình, nhằm tiết kiệm thời gian, công sức và tiền bạc. Thông qua bài viết này, chúng ta hãy cùng nhau tìm hiểu Framework là gì, và những thông tin bạn cần biết về Framework nhé.

Mục lục

Mục lục

1. Framework là gì?

Framework là cấu trúc thường được để xây dựng phần mềm. Framework sẽ gồm các đoạn code được viết sẵn, đi cùng với đó là các tệp hình ảnh, tệp tài liệu để tham khảo được đi kèm. Các Framework có thể cung cấp tính năng giống như API (Application Programming Interface), các trình biên dịch, diễn dịch,… để việc phát triển phần mềm/ ứng dụng được đơn giản hơn.

Framework là gì?

Dễ hiểu hơn thì Framework chính là “nền móng” cơ bản của một căn nhà, bạn chỉ cần bổ sung thêm “nội thất” theo mong muốn để hoàn thiện căn nhà đó. 

2. Phân loại Framework

  • Front-end Frameworks: Được sử dụng để xây dựng giao diện người dùng cho ứng dụng web và ứng dụng di động.
  • Back-end Frameworks: Được sử dụng để xây dựng logic và xử lý dữ liệu cho ứng dụng web.
  • Full-stack Frameworks: Cung cấp các công cụ để phát triển cả phía front-end và back-end của một ứng dụng web.
  • Mobile App Development Frameworks: Cung cấp các công cụ để phát triển ứng dụng di động trên nhiều nền tảng khác nhau.
  • Testing Frameworks: Cung cấp các công cụ để kiểm tra tính năng và hiệu suất của ứng dụng. 
  • Machine Learning Frameworks: Cung cấp các công cụ để phát triển và triển khai các mô hình học máy.
  • Game Development Frameworks: Cung cấp các công cụ để phát triển trò chơi điện tử. 

Đọc thêm:

3. Ưu nhược điểm của Framework

3.1. Ưu điểm

  • Đơn giản hóa công việc cho dev: Càng về sau các website/ ứng dụng đòi hỏi nhiều chức năng hơn vì thế các developer luôn đối mặt với các đoạn code phức tạp hơn. Nhờ có Framework, công việc của lập trình viên đã được giảm tải rất nhiều.
  • Các tính năng chung như: đăng nhập, đăng ký, kết nối cơ sở dữ liệu,… đều là những tính năng cơ bản mà website/ ứng dụng nào cũng có. Các bộ khung sẵn có sẽ giúp developer thiết lập các chức năng cơ bản này để developers có thể tập trung coding các chức năng phức tạp hơn.
  • Tiết kiệm thời gian, công sức: Đối với các chức năng cơ bản, developers có thể sử dụng Framework để không phải coding lại từ đầu giúp tiết kiệm thời gian và công sức phát triển sản phẩm rất nhiều. Framework giúp chúng ta giảm thời gian đáng kể cho việc phát triển và triển khai phần mềm.
  • Dễ dàng mở rộng, tùy chỉnh: Người dùng có thể tùy ý phát triển, mở rộng các tính năng mới dựa trên những gì mà Framework đã cung cấp sao cho phù hợp và tuân thủ theo một số những tiêu chuẩn nhất định.

3.2. Nhược điểm

  • Học sử dụng Framework rất khó: Mất nhiều thời gian và công sức trong việc học cách làm chủ Framework.
  • Framework có kích thước lớn: Các ứng dụng, phần mềm sử dụng Framework đều có kích thước rất lớn và nặng. Nó có thể nặng lên tới hàng trăm Mb code mặc dù chưa chứa bất kỳ nội dung nào. Vì Framework có kích thước quá lớn nên nó không phù hợp cho việc phát triển các ứng dụng quá nhỏ. Để phát triển các phần mềm đơn giản, bạn vẫn nên tự viết code sẽ nhanh hơn.

4. Sự khác biệt giữa framework và library

  • Về định nghĩa:

Framework: Là nền tảng để các developer dựa vào đó phát triển website/ ứng dụng cụ thể

Library: Cung cấp cho developers các chức năng (function) và lớp (class) được xác định trước để họ dễ dàng thúc đẩy quá trình xây dựng website/ ứng dụng

  • Nguyên lý hoạt động:

Framework: Framework sẽ điều khiển luồng ứng dụng.

Các khối mã lệnh trong Framework sẽ gửi yêu cầu đến mã lệnh của lập trình viên

Library: Lập trình viên có thể kiểm soát luồng của ứng dụng.

Các khối mã của lập trình viên sẽ gửi yêu cầu đến mã lệnh của library

Framework và Library
  • Cấu trúc:

Framework: Bao gồm nhiều API, trình biên dịch, công cụ, các chương trình hỗ trợ, thư viện,…

Library: Tập hợp nhiều mô-đun trợ giúp, các đối tượng, lớp, chức năng, mã viết sẵn,…

  • Khả năng sửa đổi mã:

Framework: Những mã trong framework không thể thay đổi/ chính sửa.

Library: Các mã trong library hướng đến một chương trình cụ thể, vì thế library cho phép sửa đổi mã để đáp ứng nhu cầu đó.

  • Khả năng mở rộng: 

Framework: Framework có thể mở rộng

Library: Library không thể mở rộng. 

5. Cách lựa chọn framework phù hợp với dự án của bạn

  • Đánh giá những gì dự án cần trong tương lai

Hãy đánh giá dự án của bạn trong tương lai để lựa chọn một framework phù hợp có thể phục vụ cho dự án của bạn. Ví dụ, nếu bạn cần phải xây dựng một app cho một nền tảng cụ thể, bạn sẽ cần chắc rằng framework bạn chọn hỗ trợ nền tảng đó.

  • Bạn sẽ bắt đầu từ đầu hay chỉ cải tiến các components?

Nếu bạn muốn xây dựng tất cả từ đầu, bạn có thể chọn bất kì framework nào phù hợp. Dù sao, nếu bạn lựa chọn chỉ cải tiến các component đã có sẵn, bạn sẽ cần cân nhắc framework đó có hoạt động với các đoạn code cũ không. 

  • Hosting và deployment

Cân nhắc tới nơi mà dự án của bạn sẽ được hosted và nó sẽ được triển khai như thế nào. Ví dụ, nếu bạn lên kế hoạch để triển khai dự án trên server Windows, bạn sẽ cần chắc rằng framework bạn chọn có hỗ trợ server đó hay không. Cùng với đó, một vài ứng dụng có thể cần được triển khai ở nhiều server khác nhau. Bạn có thể tham khảo các gói Web Hosting của Tothost qua: https://tothost.vn/shared-web-hosting/

6. Một số Framework phổ biến mà bạn cần biết

  • Front-End Web Frameworks
Angular

Angular: Angular là một JavaScript framework dùng để viết giao diện web (Front-end), được phát triển bởi Google. Angular giúp lập trình viên xây dựng các ứng dụng trang đơn (single-page application) bằng cách sử dụng HTML và TypeScript một cách nhanh hơn.

jQuery

jQuery: jQuery là một Framework được xây dựng dựa trên các tính năng của JavaScript. Vì thế trong khi phát triển các ứng dụng sử dụng jQuery, bạn có thể sử dụng tất cả các hàm và các tính năng khác được bổ trợ trong JavaScript. jQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax.

React: ReactJS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript được dùng để để xây dựng các tương tác với các thành phần trên website. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng Server mà còn ở dưới Client nữa.

ReactJS
  • Back-End Web Frameworks
ASP.net

ASP.NET Core: ASP.NET Core là tập hợp thư viện như một Framework mới được xây dựng ứng dụng web khi có kết nối internet, nó là một sản phẩm của Microsoft khá nổi tiếng trong cộng đồng lập trình hiện nay khi có rất nhiều blogger, vblog về công nghệ thể hiện sự chú ý và quan tâm đến nó. Ngay khi vừa xuất hiện đã có hàng loạt các ASP.NET Core tutorial, bài viết so sánh, hướng dẫn, thảo luận được đưa ra mổ xẻ.

Django: Django là một Framework lập trình Web bậc cao, mã nguồn mở được viết bằng Ngôn ngữ lập trình Python.

djnago

Node.js: Node.js là một platform (nền tảng) độc lập được xây dựng trên môi trường Javascript Runtime – trình thông dịch ngôn ngữ Javascript cực nhanh trên trình duyệt Chrome

Nodejs

Ngoài ra còn có Lavarel, bạn có thể đọc thêm tại: Laravel là gì? Lý do nên lựa chọn Lavarel Framework

Kết luận

Tóm lại, với tất cả mọi người, Framework vẫn luôn là một tỏng những lựa chọn tuyệt vời được sử dụng để tối ưu hóa thời gian và công sức khi xây dựng một website. Qua bài viết này, Tothost mong rằng đã có thể mang lại cho bạn những kiến thức đầy đủ nhất về Framework.

TelegramCommunity
scroll top
Thông báo
Đóng