与Django后端的PhoneGap

时间:2013-09-04 17:56:27

标签: ios django cordova

我正在使用django的Web应用程序。

我想使用手机间隙为ios / android创建网站的本机应用程序。

这可能吗?据我所知,本机设备无法解释python代码。

这是项目的早期阶段,如果证明太困难,我可能会采用不同的框架I.ebone.js。

任何想法/经历?

1 个答案:

答案 0 :(得分:19)

没错,你不能使用PhoneGap在iOS或Android上运行python代码,但是没有必要这样做。是的,您可以使用PhoneGap构建网站的原生移动应用程序。

我将尝试解释这些技术如何相互比较:

  • Django是一个在Web服务器上运行的python Web框架
  • PhoneGap是使用网络技术(HTML5 + CSS + Javascript)构建本机移动应用程序的框架,该应用程序将在移动设备上运行

一种常见的方法是使用ie jQuery Mobile构建移动UI,并使用Django Web应用程序提供RESTful API以获取应用程序的数据。

请查看this another question了解详情。


编辑:在第一条评论中回答问题

是的,可以使用这些框架构建一个快速且运行良好的应用程序。今天的智能手机的性能更多地取决于实现的质量,而不是jQuery mobile和Django本身。

基本上使用PhoneGap,有三种不同的方式向用户显示内容:

  • 服务器端生成的页面
  • 客户端使用Javascript从服务器生成数据生成的页面,使用例如JSON
  • 以预定义格式传输
  • 前两个的组合

This answer很好地阐明了服务器 - 客户端通信和页面呈现。

您可以使用PhoneGap,有点像受限制的Web浏览器,并且基本上直接从您的服务器显示内容,就像用户使用普通Web浏览器访问网站时一样。 但我不推荐这个。这种方法有许多缺点(即当用户从您的网站打开链接到另一个网站时会发生什么?)

准确地说,至少在我看来,使用Javascript编写并在使用PhoneGap构建的应用程序内运行的UI不是原生的。比较本机应用程序和PhoneGap应用程序是另一回事,这里有一个take on explaining the differences

我不知道您正在构建什么样的服务,但总的来说,我建议在开始构建应用程序之前评估不同的方法。响应式移动优化网站是否真的需要应用程序可以提供什么?

如果您决定使用PhoneGap构建应用程序,我建议您使用客户端Javascript进行,并使用JSON格式的XHR请求从Django后端获取数据。互联网上有很多examples