android - 使用 Python 进行移动应用程序开发时遇到的挑战

标签 android python ios mobile windows-phone

<分区>

在过去的几个月里,我一直在通过 Python 学习编程,我已经涵盖了几乎所有的基础知识,但没有深入了解任何一个概念。

我现在想知道从这里到哪里去,我主要对移动设备上的应用程序开发感兴趣。

所以:

  1. 迁移到 Python 的最佳语言是什么,或者是否有充分的理由继续使用 Python?

  2. 我已经尝试过 Kivy 和 Python-for-android,它们在我现在所处的基础水平上运行良好,但是那里有经验的人如何看待使用 python 开发应用程序的局限性,而不是使用其他语言,如 java 等..?

最佳答案

我认为对于使用 Python 的“生产级”移动应用程序和当前的移动生态系统(iOS、Android)来说,有两个问题不容易克服

  • 由于运行了很长的动态模块导入堆栈,Python 应用程序启动缓慢。当您的应用程序变得越来越复杂时,您基本上就会碰壁。

  • Python 不能很好地与现有的应用程序包模型集成,这使得它总是比“纯” native 应用程序开发更棘手。最终,您需要混合并掌握 native 开发和 Python 开发,从而增加处理堆栈的额外复杂性。

这是我很久以前写的一篇文章,但仍然适用http://opensourcehacker.com/2008/02/21/building-commercial-grade-mobile-applications-with-python-for-series-60/

不确定 Windows Phone 和 IronPython 如何协同工作。或带有 MonoTouch 或 MonoDroid 的 IronPython。

有基于 JavaScript 的应用程序开发的成功案例,例如 Appcelerator,但这些案例有大量资金支持以消除粗糙边缘 http://www.appcelerator.com/developers/

如果您不喜欢 Java 和 Objective-C,并且仍想从事专业级别的移动开发,我建议您看一下 C# 和 Xamarin 工具 http://xamarin.com/

关于android - 使用 Python 进行移动应用程序开发时遇到的挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082586/

相关文章:

android - 如何使用 UsbManager 检测连接的 USB 设备?

android - 如何确保我的 Android 应用程序始终在主要 Activity 上启动,即使它崩溃了?

java - 使用 Http-request 在单个请求中获取响应代码和响应正文

python - 为什么我的脚本在调用 .EXE 后停止执行命令?

ios - 可选类型 UILabel 的值未展开。

ios - 从第一个 UIAlertController 打开第二个 UIAlertController

java.lang.NullPointerException : Attempt to read from field 'android. widget.EditText

python - 在Linux中使用Ramdisk而不直接访问文件

python - 修正线性单元的反向传播

ios - 在我的应用程序中向左/向右滑动会触发将数据保存到我的数据库的操作。然而,快速滑动会导致许多保存失败