使用Appcelerator将基于web2py的webapp转换为原生应用,容易吗?可能吗?

2024-06-16 10:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是:

客户希望我当前的web应用程序作为桌面,可能是可执行的,但客户端部分没有浏览器。在

我调查了以下三项:

  • Qooxdoo-需要浏览器
  • Adobe Air-需要插件和运行时
  • Appcelerator-最有趣的是,内置到本机客户端

以下是主要问题:

客户端: 我在appcelerator上读到的是它构建了用html和javascript编写的东西 在本机可执行文件中,那么我已经编写的(HTML+Jquery+jqueryui+CSS)可以构建到本地Windows/Linux/IOS可执行文件中,而不需要更改当前代码?在

服务器端:

没有问题,因为它重新返回html和json,并决定继续在服务器上运行。但是想知道离线内容是如何工作的。在


Tags: 插件web应用程序可执行文件客户端客户html浏览器
1条回答
网友
1楼 · 发布于 2024-06-16 10:32:45

我不确定这是否真的有用。据我所知,Tianium appcelerator提供了一个框架,主要用于在iOS和Android平台上创建应用程序。我确实看到了一些关于桌面应用程序的东西,但是没有看到当你的后端代码是python(和web2py启动)时,应用程序是从源代码自动创建的。在

我想这可能是不可能的,只是放弃你的web2py应用程序和最终产品。首先,Appcelerator如何知道给定的URL对应于给定的控制器和函数?它将如何对数据库中的对象执行搜索?您希望它读取DAL(...)连接字符串并直接连接吗?在

如果您不做任何服务器端处理,也不使用JSON之外的任何数据源,那么这可能会起作用。也许 吧。但我很怀疑这会是自动的,甚至不会那么容易。在

在我看来,你必须点击每个页面并将页面保存为html到光盘,然后将输出的html/CSS/JS标记放入Titanium。但这意味着,如果您正在处理表单或搜索,或者在控制器中执行任何有趣的操作,titanium应用程序将没有任何东西来处理服务器端的后端内容。在

这就是说,tianium确实可以使用php代码,但不是完美的,我看到了使用框架而不是原始php时的问题。在

http://www.flickr.com/photos/funkatron/4011561849/

It didn't work that great, regardless. Titanium Desktop does still support PHP though, but developing an app with a server-side framework like CI is basically not going to work.

文档中也有关于处理python代码的内容,但我看到的是,您可以使用script标记将python放在HTML的“client”端:

<script type='text/python'>
   # ... python code ? 
</script>

(参考号:http://developer.appcelerator.com/doc/desktop/python

但这对web2py应用没有帮助。在

简而言之,我建议你下载该应用程序并创建一个hello world项目。然后按照关于将应用程序迁移或转换为Titanium的教程进行操作。您可能需要重新编写很多东西,而且我不确定如何获得web2py所需的执行环境,因此您可能需要重新编写web2py所基于的一些基本GLUON代码。在

对不起:(

但是,您可能会找到一种方法来创建一个Java应用程序,该应用程序包含(a)rocket webserver,(b)python2.5或更高版本的解释器(c)web2py框架,(d)web2py应用程序,并将所有这些打包,使其在Java应用程序(将在任何平台上运行)中运行,并向最终用户显示HTML视图。然后,您可以将其维护为web2py应用程序,并将其复制到java捆绑包中。我不确定最终是否会更简单,但看起来您要么必须移植到钛合金,要么用Java(或其他适合于语言的平台无关语言)包装。在

相关问题 更多 >