Framework là gì

Sau đây là những thông tin cơ bản nhất về Framework. Hy vọng sau bài viết này, bạn đã có thêm kiến thức để thiết kế web/phần mềm một cách tốt nhất. Chúc bạn thành công!

Mục lục

Framework là gì

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

Có tương đối nhiều những Framework. Tuy nhiên dưới đây là danh sách 6 Framework được sử dụng phổ biến nhất:

  • CodeIgniter
  • Laravel Framework
  • CakePHP
  • Node.js
  • Spring Framework
  • .NET Framework

Hãy cùng Mắt Bão tìm hiểu chi tiết về từng Framework nói trên.

.NET Framework

.NET Framework là một nền tảng lập trình đồng thời cũng là một nền tảng môi trường để thực thi ứng dụng. .NET Framework được phát triển bởi công ty Microsoft và dùng chủ yếu trên hệ điều hành Windows. Framework .NET cung cấp nhiều thư viện lập trình lớn giúp việc xây dựng chương trình phần mềm dễ dàng hơn. Nó có thể hỗ trợ lập trình viên lập trình giao diện, truy cập/kết nối với các cơ sở dữ liệu, tạo ứng dụng web, cung cấp các thuật toán, cấu trúc giữ liệu,…

.Net Framework đưa ra nhiều thành phần được thiết kế sẵn, giúp việc viết ứng dụng trở nên đơn giản và nhanh chóng hơn. Lập trình viên chỉ cần học cách sử dụng Framework và gắn kết các thành phần lại với nhau tùy theo ý muốn.

CodeIgniter

Đây là một Framework ứng dụng web mã nguồn mở có ngôn ngữ lập trình PHPCodeIgniter được xây dựng bởi Rick Ellis với phiên bản đầu tiên phát hành ngày 28/02/2006. Hiện nay, Framework này đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab Inc. Mô hình mà CodeIgniter sử dụng là mô hình MVC.

CakePHP

Đây là một Framework PHP cho web được xây dựng theo mô hình MVC. Mục đích chính của CakePHP là tạo ra một nền tảng phát triển miễn phí, giúp cộng đồng lập trình viên PHP xây dựng được những ứng dụng web nhanh, mạnh mẽ và có tính linh hoạt cao.

Node.js

Node.js là một Framework giúp tạo ra môi trường thích hợp để thực thi các câu lệnh viết bằng ngôn ngữ lập trình web javascript. 

Spring Framework

Spring là một Framework mã nguồn mở chứa Inversion of control (IoC) – đảo ngược điều khiển được dùng cho nền tảng Java. Các tính năng chính của Framework này có thể được áp dụng cho bất kỳ ứng dụng Java nào. Tuy nhiên, có nhiều phiên bản mở rộng của Spring phát triển trên nền tảng Java EE cũng được dùng cho việc xây dựng ứng dụng web. Hiện nay, Spring Framework đang ngày càng trở nên phổ biến trong cộng đồng lập trình viên Java như một giải pháp song hành/thay thế hoặc bổ sung cho mô hình Enterprise JavaBeans (EJB).

Laravel Framework

Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Hiện nay, Laravel đang là PHP framework phổ biến nhất và tốt nhất. 

Laravel là một Framework mã nguồn mở, viết bằng ngôn ngữ PHP và hiện đang được cung cấp miễn phí. Framework này được khởi tạo bởi Taylor Otwell vào năm 2011 như một giải pháp để thay thế cho Codeigniter. Tương tự như Codeigniter, Laravel cũng được xây dựng trên mô hình MVC. Các hệ thống mã code có trong Laravel rất linh động, mềm dẻo nhưng vẫn đảm bảo tính chặt chẽ cần thiết. Nhờ đó, các lập trình viên có thể xây dựng được những khối code đúng chuẩn, sạch sẽ và dễ dàng để nâng cấp trong tương lai.

Nhược điểm của Framework là gì?

Bên cạnh những lợi ích thiết thực, Framework cũng tồn tại một số nhược điểm nhất định:

  • Cần tốn khá nhiều thời gian và công sức để học cách làm chủ Framework
  • Khi dùng Framework, kích thước của ứng dụng/phần mềm sẽ rất lớn. Trong nhiều trường hợp, một trang web có thể nặng đến hàng trăm MB code dù chưa chứa bất kỳ nội dung nào.
  • Khi viết code, lập trình viên cần tuân thủ đúng các quy tắc mà Framework đã đề ra.
  • Framework thường có kích thước lớn nên sẽ không thích hợp với việc phát triển ứng dụng quá nhỏ. Ví dụ, nếu bạn muốn xây dựng một ứng dụng nhỏ cập nhật các thông tin của Festival hoa Đà Lạt 2019 thì việc sử dụng Framework là không cần thiết. Thay vào đó, tự viết code sẽ tiết kiệm thời gian hơn nhiều.

Ưu điểm của Framework là gì?

Framework là một phần quan trọng để tạo nên rất nhiều phần mềm/ứng dụng hiện nay. Nó mang đến rất nhiều ưu điểm như:

  • Framework có sẵn các tính năng chung cho ứng dụng/phần mềm. Ví dụ đa số tất cả các web thương mại điện tử đều cần có phần đăng ký, đăng nhập, quản lý dữ liệu người dùng,… Framework đã xây dựng sẵn các tính năng này và người lập trình chỉ cần đưa vào sử dụng khi xây dựng website.
  • Giúp lập trình viên tiết kiệm được tối đa thời gian, công sức khi phát triển phần mềm/ứng dụng.
  • Cho phép sản phẩm ứng dụng kế thừa các tính năng, cấu trúc đã được tiêu chuẩn hóa. Điều này giúp cho quá trình vận hành và bảo trì/khắc phục sự cố ứng dụng dễ dàng hơn.
  • Cho phép người dùng mở rộng tùy ý dựa trên những gì mà Framework đã cung cấp. Lập trình viên có thể mở rộng các tính năng bằng cách ghi đè có chọn lọc lên các lớp có sẵn hoặc viết thêm chức năng mới trên nền tảng Framework, miễn là tuân thủ theo một số tiêu chuẩn nhất định.

CMS là gì?

CMS viết tắt của Content Management System là hệ quản trị nội dung của trang web, có chức năng điều khiển tất cả hoạt động về nội dung, thông tin của website. Những nội dung này bao gồm tin tức, hình ảnh, video, danh mục, thông liên hệ,… trên trang web. Đặc biệt, với các CMS nâng cao, người dùng còn có thể chỉnh sửa, phân loại danh mục, thậm chí thay đổi hiển thị giao diện và nhiều thao tác phức tạp khác trên website.

Sự khác nhau giữa CMS và Framework là gì?

Điểm khác nhau lớn nhất giữa hai khái niệm này đó là:

  • CMS là một ứng dụng/phần mềm người dùng có thể sử dụng ngay. Không cần phải thực hiện các lệnh code phức tạp.
  • Framework, lập trình viên chỉ được cung cấp một loạt các API, thư viện để xây dựng ứng dụng/phần mềm.

Trong thực tế, thường thì các CMS sẽ được phát triển dựa trên nền tảng của một Framework nào đó. Ví dụ,CMS Drupal được xây dựng dựa trên nền tảng Web Framework Symfony. Còn CMS October thì được phát triển từ Framework Laravel.

Web Framework là gì?

Web Framework là một dạng Framework được xây dựng để hỗ trợ phát triển các ứng dụng web. Các nguyên liệu mà Web Framework bao gồm: tài nguyên web, dịch vụ web, API web, các functions,…

Bootstrap

Bootstrap là Framework design web có nền tảng cấu trúc CSS/Javascript. Framework này được phát triển bởi Twitter. Điều tuyệt vời khi sử dụng Bootstrap đó là giao diện web design tạo ra có thể tương thích với nhiều kích thước màn hình khác nhau, từ PC, laptop cho đến tablet, smartphone,… 

Template của Framework này rất phong phú với nhiều sự lựa chọn miễn phí và trả phí. Do đó, dù không giỏi về thiết kế thì bạn vẫn có thể tạo được giao diện đẹp mắt một cách dễ dàng với Bootstrap.

Spring

Spring là một Java Platform mã nguồn mở. Spring Framework được phát triển nhằm mục đích:

  • Giảm tải công việc phát triển của lập trình viên bằng cách sử dụng các đối tượng Java đơn giản.
  • Kéo giãn sự ràng buộc giữa các thành phần bằng cách sử dụng Dependency Injection và viết interface.
  • Giảm số lượng các mã nghi thức và soạn sẵn bằng cách sử dụng các mẫu (template).

Thông thường, Spring Framework được dùng để xây dựng ứng dụng web có quy mô lớn.

Ruby on Rails

Ruby on Rails là một Web Framework mạnh mẽ. Nó được xây dựng dựa trên ngôn ngữ Ruby với mã nguồn mở, miễn phí. Phiên bản đầu tiên của Ruby on Rails được phát triển bởi David Heinemeier Hansson và phát hành vào năm 2015. Framework Ruby on Rails chỉ có thể dùng để xây dựng ứng dụng web mà thôi.

Có nhiều lý do mà Ruby on Rails được yêu thích:

  • Ngôn ngữ lập trình Ruby khá đơn giản, dễ học.
  • Framework Ruby on Rails họa chỉnh (full-stack) với các định nghĩa hàm thông minh.
  • Ruby on Rails sử dụng tương đối ít lệnh code hơn so với các Framework khác, tốc độ tạo ra Prototype (ứng dụng mẫu) khá nhanh.
  • Ít tốn chi phí để bảo trì/sửa chữa.
  • Nếu học được Ruby on Rails, lập trình viên sẽ dễ dàng nắm bắt các Framework phổ biến khác của PHP, Python,…

Hiện nay, có khá nhiều website nổi tiếng trên thế giới đã xây dựng nền tảng dựa trên Framework Ruby on Rails như: CookPad, Retty, Wantedly,….

CakePHP

CakePHP là một Web Framework giúp phát triển ứng dụng web mạnh mẽ, nhanh chóng và linh hoạt. CakePHP khá đơn giản nên việc xây dựng môi trường lập trình cũng tương đối dễ dàng.

Nếu là một lập trình viên mới và muốn phát triển website với quy mô nhỏ thì CakePHP chính là một trong những sự lựa chọn tốt nhất dành cho bạn. Showcase của Framework này thật sự rất đáng chú ý. Nó đã góp phần tạo nên sức mạnh cho các trang thương mại điện tử nổi tiếng như: BMW, Hyundai, Express,… CakePHP là nền tảng tuyệt vời với nhiều tính năng bảo mật cao như: xác nhận đầu vào, XSS, CSRF, phòng chống SQL injection,…

Angular JS

AngularJS là một Javascript Framework dùng để tạo ra ứng dụng web động (dynamic web app). AngularJS sử dụng mô hình MVC rất mạnh mẽ và thường được áp dụng trong các project Single Page Application (SPA). Framework này có mã nguồn mở, hoàn toàn miễn phí và được phát triển bởi hàng ngàn lập trình viên trên thế giới.

Tuấn Graphic designer
Tuấn Graphic designer
Tuấn Graphic designer (Thiết kế đồ họa) sáng tạo, phác thảo cho các sản phẩm như: website, logo, banner, bao bì sản phẩm và tất cả những thứ liên quan đến giao diện. Mục tiêu là truyền tải thông điệp của doanh nghiệp và sản phẩm của mình đến với khách hàng. Sản phẩm có hấp dẫn, bắt mắt thì mới thu hút được nhiều người quan tâm. Xem thêm
FollowAction (13410) - LikeAction (13610) - WriteAction (479)