
Framework là một thuật ngữ quen thuộc đối với các nhà lập trình web. Tuy nhiên, đây lại là một từ không phải ai cũng hiểu, nhất là những người ngoài ngành IT hoặc người mới bắt đầu.
Vậy Framework là gì? Sự khác biệt giữa CMS và Framework là gì? Lợi ích của Framework là gì? Có những loại Framework nào dành cho web và app điện thoại? Tất cả câu trả lời sẽ có trong bài viết này bạn nhé!
NỘI DUNG TÓM TẮT
1. Framework là gì?
Trong tiếng Anh, Framework có nghĩa là khung. Do vậy, Framework trong lập trình web được hiểu là “bộ khung” được cấu thành từ các đoạn code, library nhằm tối giản công sức phát triển ứng dụng.
Khái niệm Framework là gì?
Bộ khung Framework cung cấp các tính năng có sẵn như mô hình, API. 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à Mobile Framework.
Có thể nói, các Framework như có khung nhà của web hoặc ứng dụng đã được làm sẵn các nền móng cơ bản. Bạn chỉ cần vào xây dựng và trang trí nội thất theo ý mình.
2. Sự khác biệt giữa CMS và Framework là gì?
Để phân biệt được 2 thuật ngữ này, chúng ta cần hiểu CMS là gì?
2.1 CMS là gì?
CMS là viết tắt của “Content Management System” có nghĩa là “hệ quản trị nội dung”.
CMS được dùng để chỉ các nội dung được phân phối trên môi trường internet WCM (Web Content Management) và các hệ thống hoặc ứng dụng quản lý nội dung kỹ thuật số trong môi trường doanh nghiệp ECM (Enterprise Content Management).
Các nền tảng CMS tiêu biểu được dùng để xây dựng các trang web hiện nay là: WordPress, Joomla, Drupal, WIX,… Trong đó, WordPress là một nền tảng phổ biến.
2.2 Điểm khác giữa CMS và Framework là gì?
CMS |
FRAMEWORK |
|
|
Có thể nói, Framework ra đời để làm “khung nền” viết nên các ứng dụng CMS. 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.
3. Các loại Framework là gì?
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.
3.1 Các framework ứng dụng web là gì?
Đây 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). Thông thường, để lập trình một website, nhà lập trình cần 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… để hoàn thiện. Tương ứng với mỗi thành phần này chúng ta có các framework khác nhau.
3.2 Framework cho ứng dụng di động là gì?
Mobile Framework 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. Các Framework nổi bật có thể kể đến như là Flutter dùng ngôn ngữ Dart của Google, React Native của Facebook, ngoài ra còn có Xamarin của Microsoft dùng C#.
4. Bộ khung Web Framework bao gồm những 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. 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. (Bạn có thể đọc thêm RESTful API là gì để hiểu rõ hơn 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.
5. Top 5 Web Framework được đánh giá cao
5.1 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.
5.2 Spring Framework là gì?
Spring là một Java Platform mã nguồn mở. Thông thường, Spring Framework được dùng để xây dựng ứng dụng web có quy mô lớn.
Spring Framework là gì?
5.3 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.
5.4 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.
Bootstrap Framework là gì?
Đ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,…
5.5 AngularJS
AngularJS 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. Đây là một Javascript Framework dùng để tạo ra ứng dụng web động (dynamic web app).
6. Top 4 Framework dành cho ứng dụng điện thoại là gì?
Hiện nay, các user sử dụng nhiều platform khác nhau. Do đó, việc ra đời các multi-platform apps (ứng dụng đa nền tảng) với code reuse là điều cần thiết.
Slogan mạnh mẽ của Framework đa nền tảng là “Viết một nơi, chạy muôn nơi”, tức code được viết một lần duy nhất trên một platform, nhưng có thể chạy trên nhiều platform khác nhau. Bên dưới là TOP mobile framework đa nền tảng tốt nhất hiện nay, có thể làm việc trên nhiều hệ điều hành thông dụng như Android và IOS.
6.1 React Native
React Native là một framework cho phép các lập trình viên phát triển ứng dụng di động thiết kế các ứng dụng di động đa nền tảng với sự trợ giúp của javascript.
React native Framework là gì?
Với React – Native, lập trình viên có thể sử dụng một bộ mã duy nhất cho cả nền tảng iOS và Android.
6.2 Xamarin
Là 1 nền tảng lập trình ứng dụng di động cross-platform (có nghĩa là code một lúc có thể chạy trên được cả iOS lẫn Android).
Xarami Framework là gì?
Xamarin có những đặc điểm riêng biệt, hiếm có so với các framework hiện tại trên thị trường. Tuy nhiên, khả năng native access và trải nghiệm người dùng native vẫn đang bị đặt nghi vấn.
6.3 PhoneGap
PhoneGap cũng là một framework ứng dụng di động đa nền tảng nguồn mở cho phép các lập trình viên xây dựng các ứng dụng di động bằng HTML, CSS và Javascript.
PhoneGap Framework là gì?
Nó tập trung một kiến trúc có khả năng bổ trợ để giúp các lập trình viên bằng cách tạo các ứng dụng nổi bật với việc sử dụng các khả năng của thiết bị qua các API.
6.4 Flutter
Flutter là mobile UI framework của Google để tạo ra các giao diện native chất lượng cao trên iOS và Android trong khoảng thời gian ngắn sử dụng ngôn ngữ Dart.
Flutter Framework là gì?
Flutter hoạt động với source code có sẵn, được sử dụng bởi các nhà phát triển và các tổ chức trên khắp thế giới, đồng thời nó open-source và miễn phí.
Kết luận
Nhờ vào Framework mà việc lập trình web và ứng dụng trở nên đơn giản hơn nhiều. Các nhà phát triển không cần phải tự mình code tất cả mọi thứ. Song, có rất nhiều Framework trên thị trường, một lập trình giỏi là người biết lựa chọn Framework phù hợp với mục đích của mình để phát triển web.
>>> Xem thêm: Front End là gì? Góc nhìn mới về Front End hiện đại 2020
Như vậy, chúng ta đã tìm hiểu Framework là gì? Biết cách phân biệt CMS với Framework và tìm hiểu về các loại Framework khác nhau. Hy vọng thông tin trên hữu ích với bạn. Chúc bạn lựa chọn được Framework phù hợp để phát triển web thành công!