0

并不是一个真正的编码问题,也不确定要在哪个堆栈站点上抛出这个问题,所以就这样吧。

我想知道是否有任何类似于 appmobi/phonegap 的框架,因为一切都被沙盒化并编译成适用于 iphone 和 droids 的应用程序格式。在沙盒服务器具有在其上运行 PHP 的能力的地方,我整天都在尝试搜索,但除了关于 appmobi/phonegap 的大量文章之外,我什么也没找到。这可以是免费或付费的框架(最好是免费/开源)。

如果没有这样的框架,那么是否有一种方法可以采用像 apache 本身这样的东西,它像一个网络服务器一样运行和运行,我可以将 php 加载到其中,并在我的项目结束时将它编译成一个最终包以在移动设备中使用市场?

4

2 回答 2

2

不会。尝试在移动应用程序中包含 Web 服务器和 PHP 运行时会产生严重的性能影响。

PhoneGap 工作的原因是因为 Javascript 可以通过使用内置 Web 浏览器的渲染引擎在移动应用程序中本地执行。

于 2012-07-13T03:12:45.727 回答
2

问题是iOS一般使用Objective-C,Android使用Java,但两者都可以使用javascript,这就是phonegap工作的原因。

因此,除非您可以编写两个网络服务器,一个用于 iOS,一个用于 Android,并移植 PHP 以在您的网络服务器下运行,或者更有可能编写一个解释器,将 PHP 转换为在您的网络服务器上运行,那么它会工作。

但是,如果您编写一个移动 Web 应用程序并使用 PHP 作为服务器上的代码,那么您可以发送 javascript 并让它在两个设备上的浏览器中运行。

最好的选择是将大部分业务逻辑放在用 PHP 编写的 REST 服务中。您可以按照以下博客在 PhoneGap 中执行此操作:

http://share.ez.no/blogs/thiago-campos-viana/rest-api-basic-http-auth-and-phonegap-using-jquery

这是本文的主要部分,因此您可以看到它是多么容易。

 //10.0.2.2:80 is the localhost in android emulator, app needs internet access
    $.get("http://10.0.2.2:80/ez_site/api/ezp/content/node/2",
               function(data) {
                 //code goes here

   });

通过这样做,您可以在 PHP 中拥有大部分业务逻辑,并且只有 UI 是 javascript,能够利用手机上的硬件。

于 2012-07-13T03:26:56.070 回答