Trang chủ Blog Các framework trong Python năm 2019 Các framework trong Python năm 201910 tháng 07, 2019 - 3993 lượt xem Các nhà phát triển Python cần những gì để giúp cuộc sống dễ dàng hơn? Câu trả lời là các framework. Bằng cách tự động hóa việc thực hiện các tác vụ dư thừa, các framework cắt ngắn thời gian phát triển và cho phép các nhà phát triển tập trung nhiều vào logic ứng dụng hơn các yếu tố thông thường. Show Bởi vì đây là một trong những ngôn ngữ lập trình hàng đầu nên không thiếu framework dành cho Python. Các framework khác nhau có những lợi ích và những vấn đề riêng của chúng. Vì vậy việc lựa chọn cần phải dựa vào cơ sở các yêu cầu của project và ưu tiên của nhà phát triển. Có ba framework Python chính là full-stack, microframework và asynchronous. Trước khi chuyển sang thảo luận về các framework tốt nhất của Python sẽ ra mắt vào năm 2019, đầu tiên hãy tìm hiểu sơ lược về các loại framework khác nhau của Python nhé. Các loại framework của PythonA. Full-stack framework Các framework này là giải pháp cho tất cả các yêu cầu của nhà phát triển. Các trình tạo biểu mẫu, xác thực biểu mẫu và các template layout thường có sẵn với một full-stack framework điển hình. B. Microframework Đây là những framework nhẹ không cung cấp các chức năng và tính năng bổ sung nhưdatabase abstraction layer, xác thực biểu mẫu, các công cụ và các thư viện cụ thể. Các nhà phát triển sử dụng microframework cần thêm rất nhiều code và những yêu cầu bôbổ sung thủ công. C. Asynchronous framework Gần đây đã trở nên phổ biến hơn, bất kỳ một asynchronous framework nào cũng đều là một microframework cho phép xử lý một tập hợp lớn các kết nối đồng thời. Thông thường, một asynchronous franework được xây dựng cho Python sử dụng thư viện asyncio của ngôn ngữ lập trình.
Các framework tốt nhất cho năm 20191. AIOHTTP Loại: Asynchronous framework AIOHTTP là một framework Python phụ thuộc rất nhiều vào các tính năng của Python 3.5+ như async và awaits. Framework Python dùng thư viện asyncio của Python và là một framework asynchronous. Bên cạnh việc là một framework web máy chủ, AIOHTTP còn có thẻ là một framework máy khách. Nó cung cấp một đối tượng yêu cầu và một bộ định tuyến cho phép chuyển hướng truy vấn đến các chức năng được phát triển để xử lý tương tự. Các điểm nổi bật chính: Cho phép xây dựng amework cắt ngắn thời gian phát triển và cho phép các nhà phát triển tập trung nhiều vào logic ứng dụng hơn các yếu tố thông thường. Bởi vì đây là một trong những ngôn ngữ lập trình hàng đầu nên không thiếu framework dành cho Python. Các framework khác nhau có những lợi ích và những vấn đề riêng của chúng. Vì vậy việc lựa chọn cần phải dựa vào cơ sở các yêu cầu của project và ưu tiên của nhà phát triển. Có ba framework Python chính là full-stack, microframework và asynchronous. Trước khi chuyển sang thảo luận về các framework tốt nhất của Python sẽ ra mắt vào năm 2019, đầu tiên hãy tìm hiểu sơ lược về các loại framework khác nhau của Python nhé. 2. Bottle Loại: Microframework Bottle tạo một tệp nguồn đơn cho mọi ứng dụng được phát triển bằng cách sử dụng nó. Microframework cho Python ban đầu được phát triển để xây dựng API. Khác với Python Standard Library, Bottle không có các phụ thuộc cần thiết để tạo nên các ứng dụng web nhỏ . Một trong những ưu điểm quan trọng của việc sử dụng Bottle là nó cho phép các nhà phát triển làm việc gần hơn với hardware. Bên cạnh việc xây dựng các ứng dụng cá nhân đơn giản, Botte còn phù hợp để học cách tổ chức các web framework và webprototyping. Các điểm nổi bật chính:
3. CherryPy Loại: Microframework CherryPy là một framework Python mã nguồn mở phổ biến và định hướng đối tượng cho phép tiếp cận tối giản. Micro-framework là một trong những framework Python lâu đời nhất ra mắt vào tháng 6 năm 2002. Bất cứ ứng dụng web nào được CherryPy cung cấp cũng là đều là một ứng dụng Python độc lạo với máy chủ web đa luồng được nhúng riêng và chạy được trên bất cứ hệ điều hành nào có hỗ trợ Python. Một ứng dụng như thế có thể được hiển thị ở bất cứ đâu mà một ứng dụng Python thông thường có thể chạy. Người ta không cần một máy chủ Apache để chạy các ứng dụng được phát triển bằng CherryPy. Micro-framework cho phép các nhà phát triển sử dụng bất kỳ loại công nghệ nào để truy cập dữ liệu, tạo mẫu, vân vân... Các điểm nổi bật chính:
4. CubicWeb Loại: Full-stack framework Được phát triển và quản lý bởi Logilab, CubicWeb là một web framework mã nguồn mở sử dụng miễn phí trên nềnPython. Dựa trên mô hình dữ liệu, CubicWeb yêu cầu phải cùng định nghĩa để phát triển ứng dụng chức năng. Không giống như các framweork phổ biến khác của Python dùng các view và mô hình riêng, CubicWeb sử dụng các hình lập phương. Nhiều hình lập phương được nối với nhau để tạo một liên kết với trợ giúp của cơ sở dữ liệu, máy chủ web và một số tệp cấu hình. Các điểm nổi bật chính:
5. Dash Loại: Microframework Dash là một framework mã nguồn mở trên nền Python dùng để xây dựng các ứng dụng phân tích web. Đây là framework lý tưởng cho các nhà khoa học dữ liệu không có nhiều kinh nghiệm trong vấn đề cơ chế phát triển web. Các ứng dụng được thiết kế từ DasDash là các máy chủ web chạy Flask và giao tiếp với các gói JSON thông qua các yêu cầu HTTP. Phần frontend của nó trả lại các thành phần sử dụng Reactjs.Các plugin Flask có thể được sử dụng để mở rộng khả năng của Dash. Vì các ứng dụng Dash được hiển thị trong trình duyệt web và có thể được triển khai cho các máy chủ nên chúng sẵn sàng cho nhiều nền tảng và di động. Các nhà phát triển Dash được cung cấp quyền truy cập Flaskcũng như tất cả các thuộc tính cấu hình của nó. Các điểm nổi bật chính:
6. Django Loại: Full-stack framework Django là một trong những framework phát triển web được yêu thích nhất cho việc phát triển các ứng dụng Python. Thực tế, nó đã không còn là một trong top 10 framework phát triển web năm 2018 nữa. Framework Django cho phép nguyên lý DRY (Don't RepeatYourself) Không như các framework khácc, framework full-stack sử dụng miễn phí và mã nguồn mở của Python bao gồmmột số lượng lớn các tính năng tích hợp thay vì cung cấp chúng dưới dạng các thư viện riêng lẻ. Django sử dụng ORM của nó để ánh xạ các đối tượng vào các bảng cơ sở dữ liệu.Điều nàycho phép codehoạt động trên các cơ sở dữ liệu khác nhau cũng như giúp việc di chuyển từ cơ sở dữ liệu này sang cơ sở dữ liệu khác dễ dàng hơn. Mặc dù Django có hỗ trợcho MySQL, PostgreSQL, SQLite và Oracle Database, nhưng nó vẫn có thể hỗ trợ các cơ sở dữ liệu khác thông qua trình điều khiển của bên thứ ba. Các điểm nổi bật chính:
7. Falcon Loại: Microframework Nhằm mục đích xây dựng API web nhanh chóng, Falcon là một frameworkPython khác được sử dụng rộng rãi. Không giống như các framework Python khác yêu cầu tải nhiều dependency để xây dựng API HTTP, Falcon cho phép các nhà phát triển xây dựngthiết kế gọn gàng hơn cho dùngcác cấutrúc HTTP và REST. Theo thử nghiệm điểm chuẩn được thực hiện bởi Sanic, Falcon có thể xử lý hầu hết các yêu cầu có cùng phần cứng so với tất cả các đối thủ cùng thời. FrameworkPython có100% code trung bình. Falcon được người dùng lớn như LinkedIn, OpenStack và RackSpace sử dụng. Các điểm nổi bật chính:
8. Flask Loại: Microframework Có sẵn theo giấy phép BSD, Flask là frameworkPython phổ biến khác. Lấy cảm hứng từ framework Sinatra Ruby, microframework yêu cầu mẫu Jinja2 và bộ công cụ Werkzeug WSGI. Nhờ thiết kế gọn nhẹ và mô-đun, Flask có thể dễ dàng thích nghi. Flask cho phép các nhà phát triển xây dựng một nền tảng ứng dụng web vững chắc từ đó có thể sử dụng bất kỳ loại tiện ích mở rộng nào cần thiết. Micro-frameworktương thích với Google App Engine. Các điểm nổi bật chính:
9. Giotto Loại: Full-stack framework Giotto là một framework ứng dụng của Python dựa dựa trên pattern Model View Controller.Để cho phép các nhà thiết kế web, nhà phát triển web và quản trị viên hệ thống hoạt động độc lập, Giotto tách các thành phần Mô hình, Chế độ xem và Trình điều khiển theo thứ tự. Giotto bao gồm các mô-đun bộ điều khiển cho phép người dùng tạo ứng dụng trên đầu trang web, IRC (Internet Repay Chat) và dòng lệnh. Các điểm nổi bật chính:
10.Growler Loại: Asynchronous framework Lấy cảm hứng từNodeJS và các framework Express / Connect, Growler là một micro web framework được viết trên đầuthư viện asyncio của Python. Không giống như các khung Python thông thường khác, các yêu cầu trong Growler không đượcxử lý trong framework nhưng bằng cách chuyển qua công nghệ phần mềm trung gian. Là lựa chọn hàng đầu trong số các frameworkPython để thực hiện dễ dàng và nhanh chóng các ứng dụng phức tạp, Growler ban đầu được tác giảphát triển để học cách sử dụng thư viện asyncio ở mức thấp nhất. Các điểm nổi bật chính:
Hug Loại: Microframework Hug được thiết kế để cho phép các nhà phát triển Python phát triển API một lầnsau đó sử dụng nó ở bất cứ đâu họ muốn. FrameworkPython đơn giản hóa việc phát triển API bằng cách cung cấp nhiều giao diện. Nó được gắn nhãn là frameworkweb nhanh nhất cho Python 3. Cho dù bạn đang thực hiện phát triển cục bộ,qua HTTP hoặc thông qua CLI, Hug cho phép hoàn thành phát triển ứng dụng một cách nhanh chóng và dễ dàng. Để đưa hiệu suất lên cấp độ tiếp theo, Hug chỉ tiêu thụ tài nguyên khi được yêu cầu và sử dụng Cython để biên dịch. Các điểm nổi bật chính:
11. MorePath Loại: Microframework Được đặt là "Framework web Python siêu mạnh mẽ",More MorePath đảm bảo thiết lập tối thiểu. Nó được thiết kế đặc biệt để nhận hầu hết các trường hợp sử dụng thông thường và chạy ASAP, bao gồm các cấu trúc dữ liệu Python phổ biến được tạo ra trong RESTful Web Services. Microframework, MorePath, là một frameworkweb điều khiển mô hình rất linh hoạt. Một tính năng độc đáo có sẵn cho framework Python là nó tự động biến các đường dẫn được xác định trong khung thành các liên kết trong việc tạo các ứng dụng có URL gọn gàng nhất. Các điểm nổi bật chính:
12. Pyramid Loại: Full-stack framework Pyramid là một framework Python hàng đầu khác. Mục đích chính của framework phát triển web nền Python mã nguồn mở này là đạt được nhiều nhất so với sự phức tạp tối giản. Khía cạnh đáng mong đợi nhất của Pyramidlà khả năng hoạt động tốt như nhau với các ứng dụng quy mô nhỏ cũng như các ứng dụng full-scale.Hơn nữa, có vô số tài nguyên có sẵn để mở rộng khả năngtheo lần gọi yêu cầu. Các điểm nổi bật chính:
13. Sanic Loại: Asynchronous framework Được xây dựng trên cơ sởcủa uvloop, Sanic là một framework Python đơn giảnmã nguồn mở được phát triển đặc biệt để cung cấp các phản hồi HTTP nhanh thông qua xử lý yêu cầu không đồng bộ. Do đó, nó là một asynchronous framework cho Python. Sanic hỗ trợ các trình xử lý yêu cầu không đồng bộ, làm cho nó tương thích với các hàm async / await của Python 3.5. Dẫn đến việc tăng cường tốc độ cũng như cung cấp khả năng không chặn. Trong quá trình kiểm tra điểm chuẩn với một quy trình và 100 kết nối, Sanic có thể xử lý tới 33.342 yêu cầu trong một giây. Các điểm nổi bật:
14. Tornado Loại: Asynchronous framework Tornado là một framework Python mã nguồn mở và một thư viện mạng lưới asynchronous. Ngoài việc giải quyết vấn đề C10k (có nghĩa là xử lý các kết nối 10k tại bất kỳ thời điểm nào), asynchronous framework sử dụng I / O mạng không chặn. Framework Python ban đầu được phát triển cho một công ty có tên FriendFeed, được Facebook mua lại vào năm 2009. Tornado là một công cụ lý tưởng để xây dựng các ứng dụng yêu cầu hiệu suất cao và có hàng nghìn người dùng đồng thời. Các điểm nổi bật:
15. TurboGears Loại: Full-stack TurboGears là một framework full-stack ứng dụng web đầy đủ dựa trên dữ liệu, mã nguồn mở cho Python. Frameworkcho phép các nhà phát triển nhanh chóng phát triển các ứng dụng web dựa trên dữ liệu mở rộng. Ngoài việc hỗ trợ ORM linh hoạt và mạnh mẽ, TurboGears còn đi kèm với việc tạo khuôn mẫu dễ hiểu. Full-stack framework sử dụng các thành phần như Genshi, Repoze, SQLAlchemy và WebOb để dễ dàng và nhanh chóng phát triển các ứng dụng yêu cầu kết nối cơ sở dữ liệu. Các điểm nổi bật:
16. Web2Py Loại: Full-stack framework Web2Py có thể là câu trả lời đối với các nhà phát triển Python đang tìm kiếm full-stackcó thể mở rộng. FrameworkPython nguồn mở đi kèm với IDE dựa trên web của riêng nó, bao gồm trình soạn thảo code, trình gỡ lỗi và triển khai bằng một cú nhấp chuột. Mặc dù Web2Py cho phép người dùng tạo nội dung web động trong Python, nhưng nó không cung cấp hỗ trợ cho Python 3. Hệ thống bán vé là một trong những tính năng quan trọng nhất của khung Python. Hệ thống phát hành một vé cho người dùng bất cứ khi nào xảy ra lỗi. Các điểm nổi bật:
Kết luậnĐể đánh giá cao tất cả (hoặc hầu hết) các frameworkPython đã đề cập ở trên, bạn cần có ít nhất trình độtrung bình trong ngôn ngữ lập trình được giải thích ở cấp độ cao. Nếu không, thì đây là 10 cuốn sách Python tốt nhất để đẩy mạnh trò chơi của bạn. 0 |