Ứng dụng di động phụ trợ Python
Ngày nay, các nhà phát triển có nhiều khả năng đang làm việc trên một ứng dụng di động hoặc web. Python không có khả năng phát triển di động tích hợp, nhưng có những gói bạn có thể sử dụng để tạo ứng dụng di động, như Kivy, PyQt hoặc thậm chí là thư viện Toga của Beeware Show
Các thư viện này đều là những người chơi chính trong không gian di động Python. Tuy nhiên, có một số lợi ích bạn sẽ thấy nếu chọn tạo ứng dụng di động với Kivy. Ứng dụng của bạn không chỉ trông giống nhau trên tất cả các nền tảng mà còn không cần phải biên dịch mã của mình sau mỗi thay đổi. Hơn nữa, bạn sẽ có thể sử dụng cú pháp rõ ràng của Python để xây dựng các ứng dụng của mình Trong hướng dẫn này, bạn sẽ học cách
Hướng dẫn này giả định rằng bạn đã quen thuộc với lập trình hướng đối tượng. Nếu chưa, hãy xem Lập trình hướng đối tượng (OOP) trong Python 3 Bắt đầu nào Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn Hiểu về Kivy FrameworkKivy được phát hành lần đầu tiên vào đầu năm 2011. Khung Python đa nền tảng này có thể được triển khai cho Windows, Mac, Linux và Raspberry Pi. Nó hỗ trợ các sự kiện cảm ứng đa điểm ngoài các đầu vào bàn phím và chuột thông thường. Kivy thậm chí còn hỗ trợ tăng tốc GPU cho đồ họa của nó, vì chúng được xây dựng bằng OpenGL ES2. Dự án sử dụng giấy phép MIT, vì vậy bạn có thể sử dụng thư viện này cho phần mềm thương mại và miễn phí Khi bạn tạo ứng dụng với Kivy, bạn đang tạo Giao diện người dùng tự nhiên hoặc NUI. Ý tưởng đằng sau Giao diện người dùng tự nhiên là người dùng có thể dễ dàng học cách sử dụng phần mềm của bạn mà không cần hướng dẫn Kivy không cố gắng sử dụng các công cụ hoặc điều khiển gốc. Tất cả các vật dụng của nó được vẽ tùy chỉnh. Điều này có nghĩa là các ứng dụng Kivy sẽ giống nhau trên tất cả các nền tảng. Tuy nhiên, điều đó cũng có nghĩa là giao diện ứng dụng của bạn sẽ khác với ứng dụng gốc của người dùng. Đây có thể là một lợi ích hoặc một nhược điểm, tùy thuộc vào đối tượng của bạn Loại bỏ các quảng cáoCài đặt KivyKivy có nhiều phụ thuộc, vì vậy bạn nên cài đặt nó vào môi trường ảo Python. Bạn có thể sử dụng thư viện 5 tích hợp sẵn của Python hoặc gói 6. Nếu bạn chưa từng sử dụng môi trường ảo Python trước đây, thì hãy xem Môi trường ảo Python. sơn lótĐây là cách bạn có thể tạo môi trường ảo Python
Điều này sẽ sao chép tệp thực thi Python 3 của bạn vào một thư mục có tên là 7 và thêm một vài thư mục con khác vào thư mục đóĐể sử dụng môi trường ảo của bạn, bạn cần kích hoạt nó. Trên Mac và Linux, bạn có thể làm điều đó bằng cách thực hiện thao tác sau trong thư mục 7
Lệnh cho Windows cũng tương tự, nhưng vị trí của tập lệnh kích hoạt nằm trong thư mục 9 thay vì 0Bây giờ bạn đã kích hoạt môi trường ảo Python, bạn có thể chạy 1 để cài đặt Kivy. Trên Linux và Mac, bạn sẽ chạy lệnh sau
Trên Windows, cài đặt phức tạp hơn một chút. Kiểm tra tài liệu chính thức để biết cách cài đặt. (Người dùng Mac cũng có thể tải xuống tệp 2 và cài đặt Kivy theo cách đó. )Nếu bạn gặp bất kỳ sự cố nào khi cài đặt Kivy trên nền tảng của mình, hãy xem trang tải xuống Kivy để biết thêm Làm việc với Widget KivyTiện ích là một điều khiển trên màn hình mà người dùng sẽ tương tác với. Tất cả các bộ công cụ giao diện người dùng đồ họa đều đi kèm với một bộ tiện ích. Một số tiện ích phổ biến mà bạn có thể đã sử dụng bao gồm các nút, hộp tổ hợp và tab. Kivy có nhiều tiện ích được tích hợp trong khuôn khổ của nó Chạy chương trình “Xin chào, Kivy. " Chương trìnhĐể xem Kivy hoạt động như thế nào, hãy xem phần sau “Xin chào, Thế giới. " đăng kí
Mỗi ứng dụng Kivy cần phải phân lớp 3 và ghi đè lên 4. Đây là nơi bạn sẽ đặt mã giao diện người dùng của mình hoặc thực hiện lệnh gọi đến các chức năng khác xác định mã giao diện người dùng của bạn. Trong trường hợp này, bạn tạo một tiện ích con 5 và chuyển vào nó 6, 7 và 8. Hai đối số cuối cùng này không bắt buộc 7 cho Kivy biết tỷ lệ sử dụng khi tạo tiện ích. Phải mất hai số
Cả hai số này có thể nằm trong khoảng từ 0 đến 1. Giá trị mặc định cho cả hai gợi ý là 1. Bạn cũng có thể sử dụng 8 để định vị tiện ích con. Trong khối mã ở trên, bạn yêu cầu Kivy căn giữa tiện ích trên trục x và yĐể làm cho ứng dụng chạy, bạn khởi tạo lớp 3 của mình và sau đó gọi 4. Khi bạn làm như vậy, bạn sẽ thấy như sau trên màn hình của bạnKivy cũng xuất ra rất nhiều văn bản tới 5
Điều này rất hữu ích để gỡ lỗi ứng dụng của bạn Tiếp theo, bạn sẽ thử thêm tiện ích 6 và xem tiện ích đó khác với tiện ích 5 như thế nàoLoại bỏ các quảng cáoHiển thị một hình ảnhKivy có một vài tiện ích liên quan đến hình ảnh khác nhau để lựa chọn. Bạn có thể sử dụng 6 để tải hình ảnh cục bộ từ ổ cứng của mình hoặc 9 để tải hình ảnh từ URL. Đối với ví dụ này, bạn sẽ gắn bó với lớp 6 tiêu chuẩn
Trong mã này, bạn nhập 6 từ gói phụ 2. Lớp 6 có rất nhiều tham số khác nhau, nhưng tham số mà bạn muốn sử dụng là 4. Điều này cho Kivy biết hình ảnh nào sẽ tải. Tại đây, bạn chuyển một đường dẫn đủ điều kiện tới hình ảnh. Phần còn lại của mã giống như những gì bạn đã thấy trong ví dụ trướcKhi bạn chạy mã này, bạn sẽ thấy một cái gì đó như sau Văn bản từ ví dụ trước đã được thay thế bằng một hình ảnh Bây giờ bạn sẽ học cách thêm và sắp xếp nhiều widget trong ứng dụng của mình Bố trí giao diện người dùngMỗi khung GUI mà bạn sử dụng có phương pháp sắp xếp các widget riêng. Ví dụ: trong wxPython, bạn sẽ sử dụng bộ định cỡ, trong khi ở Tkinter, bạn sử dụng trình quản lý bố cục hoặc hình học. Với Kivy, bạn sẽ sử dụng Bố cục. Có một số loại Bố cục khác nhau mà bạn có thể sử dụng. Dưới đây là một số trong những cái phổ biến nhất
Bạn có thể tìm kiếm tài liệu của Kivy để biết danh sách đầy đủ các Bố cục có sẵn. Bạn cũng có thể xem trong 8 để biết mã nguồn thực tếHãy dùng thử 5 với mã này
Tại đây, bạn nhập 5 từ 1 và khởi tạo nó. Sau đó, bạn tạo một danh sách các màu, chính chúng là danh sách các màu Đỏ-Xanh lam-Xanh lá cây (RGB). Cuối cùng, bạn lặp lại một 2 của 5, tạo một nút 3 cho mỗi lần lặp lại. Để khiến mọi thứ thú vị hơn một chút, bạn đặt 4 của nút thành màu ngẫu nhiên. Sau đó, bạn thêm nút vào bố cục của mình bằng 5Khi bạn chạy mã này, bạn sẽ thấy một cái gì đó như thế này Có 5 nút được tô màu ngẫu nhiên, một nút cho mỗi lần lặp của vòng lặp 6 của bạnKhi bạn tạo bố cục, có một vài đối số bạn nên biết
Thêm sự kiệnGiống như hầu hết các bộ công cụ GUI, Kivy chủ yếu dựa trên sự kiện. Khung phản hồi với các lần nhấn phím, sự kiện chuột và sự kiện chạm của người dùng. Kivy có khái niệm về Đồng hồ mà bạn có thể sử dụng để lên lịch các cuộc gọi chức năng trong một thời gian trong tương lai Kivy cũng có khái niệm về 0, hoạt động với. Thuộc tính giúp bạn kiểm tra xác thực. Chúng cũng cho phép bạn kích hoạt các sự kiện bất cứ khi nào một tiện ích thay đổi kích thước hoặc vị trí của nóHãy thêm một sự kiện nút vào mã nút của bạn từ trước đó
Trong mã này, bạn gọi 2 và liên kết sự kiện 3 với 4. Phương thức này ngầm nhận widget 5, chính là đối tượng 6. Cuối cùng, một tin nhắn sẽ được in tới 5 bất cứ khi nào người dùng nhấn nút của bạnSử dụng ngôn ngữ KVKivy cũng cung cấp một ngôn ngữ thiết kế gọi là KV mà bạn có thể sử dụng với các ứng dụng Kivy của mình. Ngôn ngữ KV cho phép bạn tách thiết kế giao diện của mình khỏi logic của ứng dụng. Điều này tuân theo nguyên tắc phân tách mối quan tâm và là một phần của mẫu kiến trúc Model-View-Controller. Bạn có thể cập nhật ví dụ trước để sử dụng ngôn ngữ KV
Thoạt nhìn, mã này có thể trông hơi kỳ quặc vì nó tạo một 8 mà không thiết lập bất kỳ thuộc tính nào của nó hoặc ràng buộc nó với bất kỳ sự kiện nào. Điều đang xảy ra ở đây là Kivy sẽ tự động tìm kiếm một tệp có cùng tên với lớp ở dạng chữ thường, không có phần 3 của tên lớpTrong trường hợp này, tên lớp là 0, vì vậy Kivy sẽ tìm tệp có tên 1. Nếu tệp đó tồn tại và được định dạng đúng thì Kivy sẽ sử dụng tệp đó để tải lên giao diện người dùng. Hãy tiếp tục và tạo tệp này và thêm đoạn mã sau
Đây là những gì mỗi dòng làm
Bạn có thể thiết lập tất cả các vật dụng và bố cục của mình bên trong một hoặc nhiều tệp ngôn ngữ KV. Ngôn ngữ KV cũng hỗ trợ nhập các mô-đun Python trong KV, tạo các lớp động, v.v. Để biết chi tiết đầy đủ, hãy xem hướng dẫn của Kivy về Ngôn ngữ KV Bây giờ bạn đã sẵn sàng để tạo một ứng dụng thực sự Tạo ứng dụng KivyMột trong những cách tốt nhất để học một kỹ năng mới là tạo ra thứ gì đó hữu ích. Với ý nghĩ đó, bạn sẽ sử dụng Kivy để xây dựng một máy tính hỗ trợ các hoạt động sau
Đối với ứng dụng này, bạn sẽ cần một loạt nút theo kiểu bố cục nào đó. Bạn cũng sẽ cần một hộp ở đầu ứng dụng của mình để hiển thị các phương trình và kết quả của chúng. Đây là một bản phác thảo của máy tính của bạn Bây giờ bạn đã có mục tiêu cho giao diện người dùng, bạn có thể tiếp tục và viết mã 0Đây là cách mã máy tính của bạn hoạt động
Bước tiếp theo là tạo trình xử lý sự kiện 14. Đây là mã đó trông như thế nào 1Hầu hết các widget trong ứng dụng của bạn sẽ gọi 14. Đây là cách nó hoạt động
Đoạn mã cuối cùng cần viết là 31 2Một lần nữa, bạn lấy văn bản hiện tại từ 17 và sử dụng 33 tích hợp sẵn của Python để thực thi nó. Nếu người dùng đã tạo một công thức như 34, thì 33 sẽ chạy mã của bạn và trả về kết quả. Cuối cùng, bạn đặt kết quả làm giá trị mới cho tiện ích 17Ghi chú. 33 hơi nguy hiểm vì nó có thể chạy mã tùy ý. Hầu hết các nhà phát triển tránh sử dụng nó vì thực tế đó. Tuy nhiên, vì bạn chỉ cho phép số nguyên, toán tử và dấu chấm làm đầu vào cho 33, nên sử dụng an toàn trong ngữ cảnh nàyKhi bạn chạy mã này, ứng dụng của bạn sẽ trông như thế này trên máy tính để bàn Để xem mã đầy đủ cho ví dụ này, hãy mở rộng khối mã bên dưới Ví dụ về mã hoàn chỉnhHiển thị/Ẩn Đây là mã đầy đủ cho máy tính 3Đã đến lúc triển khai ứng dụng của bạn Loại bỏ các quảng cáoĐóng gói ứng dụng của bạn cho AndroidBây giờ bạn đã hoàn thành mã cho ứng dụng của mình, bạn có thể chia sẻ nó với những người khác. Một cách tuyệt vời để làm điều đó là biến mã của bạn thành một ứng dụng có thể chạy trên điện thoại Android của bạn. Để thực hiện điều này, trước tiên, bạn cần cài đặt gói có tên 39 với 1 4Sau đó, tạo một thư mục mới và điều hướng đến nó trong thiết bị đầu cuối của bạn. Khi bạn ở đó, bạn sẽ cần chạy lệnh sau 5Thao tác này sẽ tạo tệp 41 mà bạn sẽ sử dụng để định cấu hình bản dựng của mình. Đối với ví dụ này, bạn có thể chỉnh sửa một vài dòng đầu tiên của tệp thông số kỹ thuật như sau 6Vui lòng duyệt qua phần còn lại của tệp để xem bạn có thể thay đổi những gì khác Tại thời điểm này, bạn gần như đã sẵn sàng để xây dựng ứng dụng của mình, nhưng trước tiên, bạn sẽ muốn cài đặt cho 39. Sau khi chúng được cài đặt, hãy sao chép ứng dụng máy tính của bạn vào thư mục mới và đổi tên nó thành 43. Điều này được yêu cầu bởi 39. Nếu bạn không đặt tên tệp chính xác thì quá trình xây dựng sẽ thất bạiBây giờ bạn có thể chạy lệnh sau 7Bước xây dựng mất nhiều thời gian. Trên máy của tôi, mất 15 đến 20 phút. Tùy thuộc vào phần cứng của bạn, quá trình này có thể mất nhiều thời gian hơn, vì vậy hãy thoải mái lấy một tách cà phê hoặc chạy bộ trong khi chờ đợi. 45 sẽ tải xuống bất kỳ phần SDK Android nào nó cần trong quá trình xây dựng. Nếu mọi thứ diễn ra theo đúng kế hoạch, thì bạn sẽ có một tệp có tên giống như 46 trong thư mục 0 của mìnhBước tiếp theo là kết nối điện thoại Android của bạn với máy tính và sao chép tệp 48 vào đó. Sau đó, bạn có thể mở trình duyệt tệp trên điện thoại của mình và nhấp vào tệp 48. Android sẽ hỏi bạn có muốn cài đặt ứng dụng không. Bạn có thể thấy cảnh báo do ứng dụng được tải xuống từ bên ngoài Google Play nhưng bạn vẫn có thể cài đặt ứng dụng đóĐây là máy tính chạy trên Samsung S9 của tôi Công cụ 39 có một số lệnh khác mà bạn có thể sử dụng. Kiểm tra tài liệu để xem bạn có thể làm gì khácBạn cũng có thể đóng gói ứng dụng bằng cách sử dụng 51 nếu bạn cần kiểm soát chi tiết hơn. Bạn sẽ không trình bày vấn đề này ở đây, nhưng nếu bạn quan tâm, hãy xem phần bắt đầu nhanh của dự ánĐóng gói ứng dụng của bạn cho iOSHướng dẫn xây dựng ứng dụng cho iOS phức tạp hơn Android một chút. Để có thông tin cập nhật nhất, bạn phải luôn sử dụng tài liệu đóng gói chính thức của Kivy. Bạn sẽ cần chạy các lệnh sau trước khi có thể đóng gói ứng dụng cho iOS trên máy Mac của mình 8Khi tất cả những thứ đó đã được cài đặt thành công, bạn sẽ cần biên dịch bản phân phối bằng các lệnh sau 9Nếu bạn gặp lỗi cho biết không thể tìm thấy 52, thì hãy xem câu trả lời StackOverflow này để biết cách giải quyết vấn đề đó. Sau đó thử chạy lại các lệnh trênNếu bạn gặp phải lỗi SSL, thì có thể bạn chưa thiết lập OpenSSL của Python. Lệnh này sẽ khắc phục điều đó 0Bây giờ hãy quay lại và thử chạy lại lệnh 53Khi bạn đã chạy thành công tất cả các lệnh trước đó, bạn có thể tạo dự án Xcode của mình bằng cách sử dụng tập lệnh 53. Điểm đầu vào của ứng dụng chính của bạn phải được đặt tên là 43 trước khi bạn tạo dự án Xcode. Đây là lệnh bạn sẽ chạy 1Cần có một thư mục có tên 56 với dự án Xcode của bạn trong đó. Bây giờ bạn có thể mở dự án đó trong Xcode và làm việc với nó từ đó. Lưu ý rằng nếu bạn muốn gửi ứng dụng của mình lên App Store, thì bạn sẽ phải tạo tài khoản nhà phát triển tại nhà phát triển. quả táo. com và trả phí hàng năm của họLoại bỏ các quảng cáoĐóng gói ứng dụng của bạn cho WindowsBạn có thể đóng gói ứng dụng Kivy của mình cho Windows bằng PyInstaller. Nếu bạn chưa từng sử dụng nó trước đây, thì hãy xem Sử dụng PyInstaller để dễ dàng phân phối các ứng dụng Python Bạn có thể cài đặt PyInstaller bằng cách sử dụng 1 2Lệnh sau sẽ đóng gói ứng dụng của bạn 3Lệnh này sẽ tạo một tệp thực thi Windows và một số tệp khác. Đối số 58 cho PyInstaller biết rằng đây là ứng dụng có cửa sổ, chứ không phải ứng dụng dòng lệnh. Nếu bạn muốn PyInstaller tạo một tệp thực thi duy nhất, thì bạn có thể chuyển vào đối số 59 ngoài 58Đóng gói ứng dụng của bạn cho macOSBạn có thể sử dụng PyInstaller để tạo tệp thực thi Mac giống như bạn đã làm cho Windows. Yêu cầu duy nhất là bạn chạy lệnh này trên máy Mac 4Thao tác này sẽ tạo một tệp duy nhất có thể thực thi được trong thư mục 61. Tệp thực thi sẽ có cùng tên với tệp Python mà bạn đã chuyển đến PyInstaller. Nếu bạn muốn giảm kích thước tệp của tệp thực thi hoặc bạn đang sử dụng GStreamer trong ứng dụng của mình, thì hãy xem trang đóng gói của Kivy dành cho macOS để biết thêm thông tinPhần kết luậnKivy là một khung GUI thực sự thú vị mà bạn có thể sử dụng để tạo giao diện người dùng trên máy tính để bàn và ứng dụng di động trên cả iOS và Android. Các ứng dụng Kivy sẽ không giống như các ứng dụng gốc trên bất kỳ nền tảng nào. Đây có thể là một lợi thế nếu bạn muốn ứng dụng của mình có giao diện khác với đối thủ cạnh tranh Trong hướng dẫn này, bạn đã học những kiến thức cơ bản về Kivy, bao gồm cách thêm tiện ích, kết nối sự kiện, bố trí nhiều tiện ích và sử dụng ngôn ngữ KV. Sau đó, bạn đã tạo ứng dụng Kivy đầu tiên của mình và học cách phân phối nó trên các nền tảng khác, bao gồm cả thiết bị di động Có nhiều tiện ích và khái niệm về Kivy mà bạn chưa trình bày ở đây, vì vậy hãy nhớ xem trang web của Kivy để biết hướng dẫn, ứng dụng mẫu, v.v. Đọc thêmĐể tìm hiểu thêm về Kivy, hãy xem các tài nguyên này
Để xem cách bạn có thể tạo ứng dụng máy tính để bàn với khung GUI Python khác, hãy xem Cách xây dựng ứng dụng GUI Python với wxPython Đánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Xây dựng ứng dụng GUI đa nền tảng với Kivy 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python Gửi cho tôi thủ thuật Python » Giới thiệu về Mike Driscoll Mike đã lập trình bằng Python hơn một thập kỷ và thích viết về Python » Thông tin thêm về MikeMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Aldren Geir Arne Jaya Joanna Kyle Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Tôi có thể sử dụng Python làm phần phụ trợ cho ứng dụng dành cho thiết bị di động không?Python là một trong những ngôn ngữ lập trình được sử dụng nhiều nhất và có cơ sở nhà phát triển mạnh mẽ. 48% nhà phát triển sử dụng Python để phát triển phần phụ trợ chắc chắn, mạnh mẽ cho các ứng dụng . Nó được ưa thích nhờ tính dễ đọc, đơn giản và nhiều thư viện Python miễn phí giúp nhà phát triển làm việc hiệu quả và năng suất.
Tôi có thể sử dụng Python làm chương trình phụ trợ cho ứng dụng Android không?Câu trả lời của tôi cho câu hỏi này là Có. Bạn chắc chắn có thể phát triển ứng dụng Android bằng Python . Và điều này không chỉ giới hạn ở python, trên thực tế, bạn có thể phát triển các ứng dụng Android bằng nhiều ngôn ngữ khác ngoài Java.
Ứng dụng di động có thể chạy Python không?Python có thể được sử dụng trên nhiều nền tảng khác nhau như iOS, Android, điện thoại Windows và máy tính để bàn . Nhiều framework Python giúp xây dựng ứng dụng di động trong thời gian ngắn hơn. Một số trong số đó là Kivy, BeeWare hoặc PyQT. Ngoài ra, Python là một ngôn ngữ tuyệt vời để tạo nguyên mẫu và có thể thử nghiệm các ý tưởng mới khi đang di chuyển bằng một ứng dụng. |