我正在使用django的Web应用程序.
我想使用手机差距为ios/android创建一个本机应用程序.
这可能吗?据我所知,本机设备无法解释python代码.
它在项目的早期阶段,如果证明太困难,我可能会使用不同的框架,即backbone.js.
有什么想法/经历吗?
没错,你不能使用PhoneGap在iOS或Android上运行python代码,但是没有必要这样做.是的,您可以使用PhoneGap构建站点的本机移动应用程序.
我将尝试解释一下这些技术如何相互比较:
Django是一个在Web服务器上运行的python Web框架
PhoneGap是一个使用Web技术(HTML5 + CSS + Javascript)构建本机移动应用程序的框架,该应用程序将在移动设备上运行
一种常见的方法是使用jQuery Mobile构建移动UI,并使用Django Web应用程序提供RESTful API以将数据提供给应用程序.
有关详细信息,请查看另一个问题.
编辑:回答第一条评论中的问题
是的,可以使用这些框架构建一个快速且运行良好的应用程序.今天的智能手机的性能更多地取决于实现的质量,而不是jQuery mobile和Django本身.
基本上使用PhoneGap,有三种不同的方式向用户显示内容:
服务器端生成的页面
使用Javascript从客户端生成的页面使用来自服务器的数据,使用例如JSON以预定义格式传输
前两者的组合
这个答案很好地阐明了服务器 - 客户端通信和页面呈现.
您可以使用PhoneGap有点像受限制的Web浏览器,并且基本上直接从您的服务器显示内容,就像用户使用普通Web浏览器访问网站时一样.但我不建议这样做.这种方法有许多缺点(即当用户从您的网站打开链接到另一个网站时会发生什么?)
准确地说,至少在我看来,使用Javascript编写并在使用PhoneGap构建的应用程序内运行的UI不是原生的.比较本机应用程序和PhoneGap应用程序是另一回事,这里有一个解释差异的方法.
我不知道你正在构建什么样的服务,但总的来说,我建议在开始构建应用程序之前评估不同的方法.响应式移动优化网站是否真的需要应用程序可以提供什么?
如果您决定使用PhoneGap构建应用程序,我建议您使用客户端Javascript执行此操作,并使用JSON格式的XHR请求从Django后端获取数据.互联网上有很多例子.