Có thể sử dụng Python để viết ứng dụng đa nền tảng cho cả iOS và Android không?


82

Có thể sử dụng Python để viết ứng dụng đa nền tảng cho cả iOS và Android không



@keyser Tôi không bị thuyết phục bởi câu trả lời đã chọn của câu hỏi đó, tôi nghĩ nó có thể được sử dụng và để xác nhận tôi đã hỏi câu hỏi đó
user1404932

Điều này có thay đổi gì không?
johnny

Sử dụng pyside , pyqtdeploy có phải là một lựa chọn khả thi trong năm 2018 không?
sa mạcSniper87

Câu trả lời:


28

Đối với Android, Google cung cấp một thứ gọi là ASE (Android Scripting Environment) cho phép các ngôn ngữ lập trình kịch bản (bao gồm Python) chạy trên Android. Thêm chi tiết tại đây

Đối với iOS, nó có thể phức tạp hơn một chút (và tôi khuyên bạn nên kiểm tra phiên bản mới nhất của thỏa thuận SDK iOS để kiểm tra trạng thái hiện tại của luật - apple có xu hướng cho phép và không cho phép các ứng dụng đó theo định kỳ). Đối với phần kỹ thuật, bạn có thể cần phải giao tiếp giữa Python & Objective C cũng như thực hiện một số thuật sĩ để liên kết tĩnh tất cả các thư viện mà Python yêu cầu; chi tiết đầy đủ có tại đây . Một cách tiếp cận khác để phát triển iOS Python là nhúng một trình thông dịch Python vào ứng dụng của bạn và phân phối tập lệnh Python của bạn với nó (vì vậy để chơi tốt với các quy tắc của Apple). Trong trường hợp này, ứng dụng Python của bạn sẽ là một trình thông dịch Python được đóng gói với tập lệnh của bạn và chạy nó tự động.

Tùy chọn thứ hai là sử dụng khung công tác Kivy (kivy.org) - đó là một khung công tác để viết các ứng dụng thân thiện với cảm ứng bằng Python và đóng gói chúng cho các nền tảng khác nhau. Nó đã có hỗ trợ Android trong một thời gian và gần đây đã thêm hỗ trợ iOS


31
đây cũng chính là mục đích của Kivy ( kivy.org ) - đó là một khuôn khổ để viết các ứng dụng thân thiện với cảm ứng bằng Python và đóng gói chúng cho các nền tảng khác nhau. Nó đã có hỗ trợ Android trong một thời gian và gần đây đã thêm hỗ trợ iOS
Raheel

Python 3.3+ cho iOS chưa được Kivy hỗ trợ.
Iorek

78

Một tùy chọn là kivy : một khung Python nền tảng chéo tuyệt vời hoạt động cho Android, Win7, Linux, MacOSX và iOS.

Cập nhật: dự án kivy đang phát triển hàng ngày, hiện hỗ trợ cả Raspberry Pi


4

Để viết một ứng dụng GUI, bạn có thể sử dụng thư viện Toga , sau đó gói nó bằng cặp tài liệu vào ứng dụng Android và / hoặc iOS (hoặc Windows, Linux, macOS, v.v.).

Lưu ý: dự án vẫn đang ở trạng thái alpha nhưng đang được phát triển nhanh chóng.


2

Bạn có thể thử và kết hợp . Brython wiki mô tả cách viết ứng dụng Android bằng Brython , có thể cung cấp thông tin cần thiết để thực hiện việc này cũng bằng Cordova. Tôi chưa thử nghiệm điều này, nhưng nó có vẻ đầy hứa hẹn. Tuy nhiên, bạn nên lưu ý rằng do bản chất của nó, Brython không thể hỗ trợ các gói được biên dịch x86 như OpenCV (xem ví dụ ở đây ). Mặt khác, nếu bạn biết một chút về JavaScript / HTML5, bạn có thể sử dụng các hàm gốc của WebView, ví dụ: http://www.brython.info/gallery/three.html .


1

Như @piertoni đã đề cập, BeeWare cho phép các ứng dụng iOS và Android gốc được viết bằng Python.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.