- vừa được xem lúc

Nên học Python Web Framework nào trong năm 2021?

0 0 39

Người đăng: Tu Nguyen

Theo Viblo Asia

Web Framework nhìn chung chia làm 2 loại là full-feature framework và micro framework. Trong Python, tiêu biểu cho full-feature framework là Django, micro framework là Flask.

Full-feature framework và micro framework đơn giản chỉ khác nhau về số lượng feature được đóng gói kèm theo trong framework.

Full-feature framework sẽ bao gồm tất tần tật từ routing, template engine, session, persistence, authentication & authorization... đến các advanced feature hơn như caching, scheduler, worker…

Micro framework thông thường chỉ có routing và filter/middleware kèm theo. Các thành phần khác muốn sử dụng thì tự thêm vào thông qua extension/plugin/module...

Nếu phân loại theo server thì Python Web Framework có hai nhóm. Một nhóm sử dụng WSGI, nhóm còn lại sử dụng ASGI. WSGI ra đời trước, sử dụng cơ chế blocking I/O truyền thống như Apache Httpd, Java Servlet... ASGI có sau này, sử dụng cơ chế non-blocking I/O tương tự như đám Nginx, Nodejs, Vertx...

WSGI có các framework hỗ trợ: Django, Flask, Pyramid, TurboGears…

ASGI có các framework hỗ trợ: FastAPI, Falcon, Sanic, Hug...

Hiện tại có một số framework cho phép bạn lựa chọn giữa WSGI và ASGI khi bootstrap new project. Tùy theo sở thích và yêu cầu mà bạn nên cân nhắc lựa chọn server cho phù hợp.

Quay trở lại với câu hỏi ban đầu là nên học Python Web Framework nào trong năm 2021? Ngắn gọn thôi: full-feature thì Django, micro thì FastAPI. Đơn giản là hai anh chàng này xịn xò nhất hiện nay, cộng đồng mạnh, tính năng hiện đại.

Django thì quá đỉnh rồi, đã được thử lửa mấy chục năm rồi. Làm web, làm REST API đều ổn. Write model, write chút routing rồi generate code phát một là có cả admin dashboard, rất phù hợp với những thứ cần làm MVP thật nhanh. Tất nhiên là muốn customize sâu thì cũng phức tạp đấy không đơn giản như nhập môn đâu! ?

FastAPI - anh chàng này là lính mới, mới có tầm 2–3 năm trở lại đây thôi nhưng phát triển rất nhanh. Bản chất anh này cũng dựa trên các project có sẵn như Starlette, Pydantic, Swagger... nhưng đóng gói lại, viết thêm một số high-level API cho dễ dùng. FastAPI rất phù hợp để làm REST API và microservices vì lightweight và tương đối dễ customize. Meete đã sử dụng trên production gần 2 năm qua và đánh giá resource usage và performance rất ổn.

À thêm cái nữa là anh tác giả FastAPI rất nice nhé, có vấn đề bạn có thể phản hồi trực tiếp với anh trên Twitter.

Ok nhé! Giờ thì học thôi! ?

Source

Bình luận

Bài viết tương tự

- vừa được xem lúc

Lập Trình Hướng Đối Tượng trong Python

Chào các bạn Trong bài này, bạn sẽ tìm hiểu về Lập trình hướng đối tượng (OOP) bằng Python và khái niệm cơ bản của nó và một số các ví dụ. Các bạn cùng tìm hiểu trong bài viết của mình nhé.

0 0 45

- vừa được xem lúc

Lớp trong Python

. Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại hoặc dịch lại theo ngôn ngữ của mình).

0 0 27

- vừa được xem lúc

Tìm hiểu về thư viện Numpy trong Python(Phần 3)

Trong bài viết trước tôi đã giới thiệu cho bạn về NumPy, tìm hiểu về Mảng trong NumPy. Trong bài viết này chúng ta sẽ tiếp tục tìm hiểu về các kiểu dữ liệu khác trong NumPy.

0 0 136

- vừa được xem lúc

Hướng dẫn cài đặt Anaconda trên Ubuntu

Anaconda là một nền tảng mã nguồn mở về Data Science và Machine Learning trên Python thông dụng nhất hiện nay, Anaconda có vai trò đơn giản hóa việc triển khai và quản lí các gói cài đặt khi làm việc với Python. Anaconda được cài đặt dễ dàng trên 3 nền tảng hệ điều hành thông dụng hiện nay là Ubuntu

0 0 40

- vừa được xem lúc

Tùy chỉnh Exceptions trong Python

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về cách tùy chỉnh các Exceptions trong Python.Mình sẽ giải thích cho các bạn hiểu và cách xử dụng chúng.

0 0 33

- vừa được xem lúc

Không gian tên(namspace) và phạm vi(scope) trong Python

. Khi mình ngồi học và dịch bài "Class trong Python" cho sê-ri "Khám Phá Đại Bản Doanh Python", mình đã đụng hai bạn này, và các bạn thật là trừu tượng và khó gặm. Thế là mình tìm kiếm và viết bài này để hiểu rõ hơn về hai bạn ấy, hi vọng bạn đọc thêm để hiểu về Python nhé.

0 0 45