【TG_duoteJG】多特工作室杰哥duotee.com版权所有,禁止转载
您将学习如何飞鸟新圣扫码H5使用 Python 框架飞鸟创建 iOS 应用旗舰奔驰程序。获取全开发加入防封我们公众号机器人的“移动开发”构建旗舰飞鸟扫码版本,以获得开发搭建包含本文中描述的旗舰奔驰移动开发框架的 Python 3.7 版本。
Python 应用程序开发生态系统中有许多库,几乎涵盖了软件开发的所有方面。特别有趣的是,其中许多库都包含将 Python 编译为特定移动平台(如 iOS 和 Android)的本机代码的工具。你没听错!您可以使用 Python 构建原生移动应用程序。
为什么是 Python?Python 的易用性和可读性是移动开发的主要优势,在移动开发中,上市速度对于维持和获得市场份额至关重要。但是,iOS 和 Android 不支持解释型语言,因此它们无法原生运行 Python 应用程序。存在许多框架来弥补这一差距,并允许 Python 应用程序在具有原生外观的移动设备上运行。
本教程将向您展示如何:
• 查找最常用的 Python跨平台移动应用程序
开发
框架 • 使用 Python 框架创建简单的 iOS 应用程序• 了解使用 Python 框架而不是 原生 iOS 或 Android 工具
的优缺点
让我们开始吧。
Python 的跨平台移动框架
对于可以使用 Python 在 Android 和 iOS 上使用的跨平台移动应用程序,有两种选择:Kivy 或 BeeWare。
基维
Kivy 是一个开源 Python 库,允许快速开发跨平台 UI 应用程序。它使用 OpenGL 图形引擎,可以处理 GPU 绑定的工作负载。您还可以使用 Python-to-Android 项目将 Python 应用程序移植到 Android。尽管可以使用 Python 2.7 创建包,但它有一个类似的工具包。
蜂器
BeeWare 是另一个流行的工具,它允许您编写 Python 应用程序并在包括 macOS 和 Windows、Linux GTK 和 macOS 在内的各种操作系统上交叉编译它们。它也可以用于Android应用开发和iOS应用开发等移动平台。
公文包是允许您为本地应用程序创建样板的工具示例。Rubicon C 和 Rubicon Java 提供了桥接接口,允许您使用 Python 分别调用 Objective C 和 Java 绑定。
BeeWare 似乎有一个经常更新的主存储库。他们还提供商业支持,包括咨询、培训和技术支持。
带有 BeeWare 的 Python 移动应用程序
让我们制作一个简单的移动应用程序来测试 BeeWare 工具包。它将从预先填充的列表中随机选择今天的自助餐厅特价。
我们首先为 python3 创建一个新的开发环境。
$ python3 -m venv .env
安装公文包软件,以便我们为项目创建样板代码。
$ pip3 安装公文包
我们将使用公文包创建一个全新的项目。
$公文包新
公文包是一种交互式工具,可让您创建项目。它会提示您输入关键信息。
正式名称 [Hello World]:FoodTracker
应用程序名称 [foodtracker]:
Bundle Identifier [com.example]:com.thdespou.foodtracker
项目名称 [FoodTracker]:
作者 [Jane Developer]:
作者的电子邮件:
应用程序 URL:
选择以下选项之一:
[1] Toga[2] PySide2[3] PursuedPyBear[4] None
GUI框架[1]:1
完成项目后,您可以启动它以查看本机应用程序(Mac 和 Windows)表示。在此实例中将显示一个空的模式窗口。
$ cd foodTracker
$ 公文包开发
我们希望我们的应用程序在 iOS 设备上运行,因此我们必须在项目中使用以下命令:
$公文包创建iOS
要继续,我们需要安装 Apple 的应用程序开发工具 (Xcode)。
一旦 Xcode 就位,我们可以编辑文件 src/foodtracker/app.py 并用实现我们的“每日特别”应用程序的代码替换样板:
"""
保留我最喜欢的饭菜
"""
import toga
import random
from toga.style import Pack
from toga.style.pack import COLUMN, ROW, LEFT
类FoodTracker(toga.App):
recipes = ["Baked chocolate orange cheesecake", "Baked Brie", "Chicken Tikka Masala", "Grilled Chicken Salad"]def startup(self):
"""
Construct and show the Toga application.
Usually, you would add your application to a main content box.
We then create a main window (with a name matching the app), and
show the main window.
"""
main_box = toga.Box()
message_box = toga.Box()
message_input = toga.TextInput(readonly=True)
message_label = toga.Label('Todays special: ', style=Pack(text_align=LEFT))
def button_handler(widget):
message_input.value = random.choice(self.recipes)
button = toga.Button('Get Recipe', on_press=button_handler)
button.style.padding = 50
button.style.flex = 1
message_box.add(message_label)
message_box.add(message_input)
main_box.add(button)
main_box.add(message_box)
main_box.style.update(direction=COLUMN, padding=20)
message_input.style.update(flex=1)
message_label.style.update(width=150)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = main_box
self.main_window.show()
def main():
返回 FoodTracker()
您可以看到窗口的元素是使用命令式代码构造的。为了容纳所有子元素,我们添加了一个主元素。我们通过添加一个按钮和一个包含只读文本字段的消息框来创建组合。单击该按钮将显示一个随机配方。
在启动过程的最后 3 行中,我们定义了主窗口及其属性。
我们现在准备构建我们的项目。
$公文包构建iOS
我们可以使用 Xcode 查看我们的应用在桌面上的外观。这将打开项目并允许我们在 iOS 模拟器中运行它。
你只需要告诉它使用哪个文件夹:
./foodtracker/IOS
这是运行模拟器时您将看到的内容:
图片说明
要查看我们代码中的更改,您需要每次都运行这些命令。
$公文包更新iOS
$公文包构建iOS
$公文包运行iOS
Python 移动工具与原生工具
我们现在已经看到了正在构建的简单 Python 移动应用程序的示例。现在,让我们问一个重要的问题:
为什么不投资 Python 移动应用程序而不是 Java 或 Swift 等标准移动语言?
我们将通过讨论使用 Python 进行移动开发的利弊来回答这个问题。
优点:
• Python 的力量:我们可以通过 Kivi 或 BeeWare 框架来利用 Python 的力量。这对于那些熟悉 Python 并有能力将现有应用程序移植到移动平台的人来说是一个很大的优势。
•跨平台支持:这意味着我们创建应用程序一次,然后在不同平台上编译它。这促进了可重用性。
缺点:
•编译速度较慢:这可能是由于我们在更改代码时需要额外的工具。这可以通过自动化脚本和工具集成来纠正。
•支持较少的功能: Google 将始终偏爱其原生工具而不是其他任何工具。非本地框架用户将受到最新版本的 Kivy/BeeWare 的限制。要解决您看到的任何问题,您需要及时了解问题列表以及当前版本的限制。
•不一致:由于并非所有功能都适用于每个平台,因此可能存在一些不一致之处。iOS 上的布局可能与 Android 上的布局不同。您可能需要找到许多方法来保持设计的一致性。
一般来说,使用命令式代码来描述用户界面需要更多的努力。这些工作流程通常更容易在 Apple 的 Xcode 和 Android Studio 的内置编辑器中实现。
有许多 Python 应用程序可以用作示例,并且您有机会重用代码。
在您决定编写Python 应用程序并将它们交叉编译到 iOS 或 Android 等原生平台之前,您的组织必须仔细考虑利弊。
下一步
创建一个免费的 ActiveState 平台帐户以开始我们的“移动应用程序开发”构建。此构建包含Python 3.7和本文中提到的所有框架,因此您可以自己尝试一下。
注意:安装环境最简单的方法是首先安装 ActiveState 平台的命令行界面 (CLI) 或状态工具。
如果您在 Linux 或 Mac 上,您可以使用 curl 安装状态工具:
sh <(curl -q https://platform.activestate.com/dl/cli/install.sh )
安装状态工具后,您可以运行以下命令,它会自动将构建安装到虚拟环境中。
状态激活 Pizza-Team/Mobile-Development



