Flask Python Là Gì? So Sánh Flask và Django

Flask Python là gì?

Cũng giống như Django, Flask Python là một micro-framework được viết bằng ngôn ngữ lập trình Python dùng cho các nhà phát triển web. Nó được phát triển bởi Armin Ronacher, người dẫn đầu một nhóm những người đam mê Python quốc tế có tên là Poocco. Flask dựa trên bộ công cụ Werkzeg WSGI và template engine Jinja2. Cả hai đều là các dự án của Pocco.

Micro ở đây không có nghĩa là framework này thiếu các chức năng mà thể hiện ở việc nó sẽ cung cấp những chức năng “cốt lõi” nhất cho các ứng dụng web và có khả năng mở rộng, người dùng cũng có thể mở rộng bất cứ lúc nào vì Flask hỗ trợ rất nhiều các tiện ích mở rộng như tích hợp CSDL, hệ thống upload, xác thực, template, email…

Việc là một micro-framework cũng giúp cho flask có một môi trường xử lý độc lập và ít phải sử dụng các thư viện bên ngoài, điều này giúp nó nhẹ và ít gặp phải các lỗi hơn, việc phát hiện và xử lý các lỗi cũng dễ dàng và đơn giản hơn.

Tại sao nên sử dụng Flask? Ưu điểm và nhược điểm của Flask là gì?

Không giống như các framework khác, Flask Python rất đơn giản để bắt đầu phát triển web, vì framework này không có quá nhiều kiến thức mà các lập trình viên cần phải học, ví dụ để phát triển một chương trình Hello World chỉ cần một vài dòng code như dưới đây:

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello_world():

    return 'Hello World!'

if __name__ == '__main__':

    app.run()

Nếu muốn phát triển ứng dụng từ local computer, bạn cũng có thể thực hiện một cách dễ dàng với Flask. Bạn sẽ lưu chương trình này thành server.py và chạy nó cùng với python server.py

$ python server.py

 * Serving Flask app "hello"

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Sau đó chương trình sẽ khởi động một máy chủ web chỉ khả dụng trên máy tính của bạn. Trong trình duyệt web, mở localhost trên cổng 5000(urk) và bạn sẽ thấy “Hello World” được hiển thị.

Để lưu và tiếp tục phát triển chương trình hay ứng dụng của mình một cách trực tuyến, bạn có thể sử dụng PythonAnyWhere

Flask Python cũng có những ưu điểm và nhược điểm riêng mà các lập trình viên cần cân nhắc để có thể lựa chọn framework phù hợp nhất cho dự án của mình.

Ưu điểm của Flask Python

  • Siêu nhỏ nhẹ, là một công cụ tối giản
  • Tốc độ hoạt động cực nhanh
  • Có khả năng hỗ trợ NoQuery
  • Tương đối đơn giản (so với các framework có cùng chức năng khác)
  • Mang lại khả năng kết nối với các tiện ích mở rộng bởi không có ORM
  • Trình duyệt được nhúng sẵn trình gỡ rối
  • Sử dụng các mã ngắn, đơn giản trong những bộ xương Python
  • Ngăn chặn các rủi ro về bảo mật khi lập trình web do ít phụ thuộc vào bên thứ ba
  • Có khả năng kiểm soát mọi vấn đề khi dùng Flask.
  • Cho phép biên dịch mô-đun, thư viện, giúp việc lập trình nhanh chóng, dễ dàng hơn và không cần gõ code bậc thấp

Nhược điểm của Flask Python

Chính vì siêu nhỏ nhẹ và tối giản, Flask không phải là một lựa chọn tốt nếu lập trình viên muốn một framework có đầy đủ các tính năng. Thay vào đó, lập trình viên sẽ phải tự gọi các tiện ích mà mình có nhu cầu sử dụng vì nó không được tích hợp sẵn trong framework, và đôi khi việc này trở nên bất tiện và khiến cho khối lượng công việc phải làm tăng lên đáng kể.

Sự khác biệt giữa Flask và Django

Sự khác biệt giữa Flask và Django
Sự khác biệt giữa Flask và Django

Flask và Django đều là 2 framework dùng cho các nhà phát triển web nhưng chúng có những điểm khác nhau cơ bản và vì vậy phù hợp với những đối tượng người dùng cũng khác nhau:

  • Flask cung cấp hỗ trợ cho API, Django thì không có bất kỳ hỗ trợ nào cho API.
  • Flask không hỗ trợ các trang HTML động còn Django cung cấp các trang HTML động.
  • Flask là một khung công tác web Python được xây dựng để phát triển nhanh chóng còn Django được xây dựng cho các dự án dễ dàng và đơn giản.
  • Flask cung cấp một phong cách làm việc đa dạng hơn với khả năng mở rộng trong khi Django cung cấp một phong cách làm việc Nguyên khối.
  • Mặt khác, trình điều phối URL của khung công tác web Flask là một yêu cầu RESTful, trình điều phối URL của khung công tác Django dựa trên trình điều khiển-regex.
  • Flask là khung công tác WSGI trong khi Django là khung công tác web ngăn xếp đầy đủ.

Đặc điểm của Flask:

  • Hỗ trợ tích hợp cho thử nghiệm đơn vị.
  • RESTful gửi yêu cầu.
  • Sử dụng công cụ mẫu Ninja2.
  • Nó dựa trên bộ công cụ công cụ.
  • Hỗ trợ cho cookie an toàn (phiên phía máy khách).
  • Các API được định hình độc đáo và mạch lạc
  • Dễ dàng triển khai trong sản xuất
  • Tài liệu phong phú.
  • Khả năng tương thích của công cụ ứng dụng Google.

Đặc điểm của Django:

  • Cung cấp Kiến trúc Mô hình – Chế độ xem – Bộ điều khiển (MVC).
  • Các thư viện được xác định trước cho hình ảnh, đồ họa, tính toán khoa học, v.v.
  • Tối ưu hóa trang web trên các máy chủ chuyên dụng Hỗ trợ các công cụ front-end như Ajax, jQuery, Pajamas, v.v.
  • Hỗ trợ đa ngôn ngữ và nhiều ký tự.
  • Hỗ trợ cho nhiều cơ sở dữ liệu.
  • Hệ điều hành đa nền tảng.

Kết luận: nhìn chung, Django là một thứ viện rộng lớn hơn nơi bạn có thể tìm thấy gần như mọi thứ để xây dựng và phát triển trang web của mình ở mọi cấp độ từ bé đến lớn. Tuy nhiên, nó không thật sự phù hợp với các bạn Newbies mới tìm hiểu về phát triển web.

Còn Flask là bạn cần phải tự code khá nhiều, do vậy sản phẩm web có thể tuỳ chỉnh theo ý thích và mong muốn của bạn. Flask Python rất phù hợp với các bạn newbies và các dự án nhỏ. Còn nếu muốn phát triển các dự án web lớn với Flask thì sẽ khá “vất vả”.

Hướng dẫn cài đặt Flask Python

Để cài đặt Flask cho Python, bạn tốt nhất nên sử dụng Python phiên bản từ 3.5 trở nên, đây là những phiên bản mà Flask hỗ trợ tốt nhất.

Hướng dẫn cài đặt Python trên Windows, Ubuntu và MacOS

Kiểm tra xem đã cài Flask trên Python chưa

Đầu tiên chúng ta cần kiểm tra xem Flask đã được cài đặt trên python hay chưa, bạn mở hộp thoại command line cmd trên windows, terminal trên Linux và gõ vào lệnh sau:

python

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import flask

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ModuleNotFoundError: No module named 'flask'

Nếu kết quả trả về lỗi như trên, có nghĩa là bạn chưa cài thư viện Flask.

Cách cài thư viện Flask

Khi đã cài và thiết lập xong môi trường, bạn chỉ cần gõ lệnh sau vào command để cài Flask:

pip install Flask

Để kiểm tra cài đặt đã thành công chưa, bạn import thử đoạn code như bước kiểm tra đã cài hay chưa ở phía trên. Nếu không có thông báo lỗi, nghĩa là bạn đã cài thành công thư viện Flask Python.

Vậy là chúng ta đã cùng tìm hiểu về Flask cũng như sự khác biệt cơ bản giữa thư viện Flask và Django trong Python ứng dụng phát triển web cho lập trình viên.

Bạn cũng có thể tham khảo khoá học Python từ cơ bản đến nâng cao dành cho người mới học tại MCI để có cho mình một lộ trình học tập hiệu quả.

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *