这是我的问题:
客户希望将我当前的Web应用程序用作桌面,可能是可执行文件,但客户端部分没有浏览器。
我查看了以下3个内容:
以下是主要问题:
客户方: 我在appcelerator上读到的是它用html和javascript编写的东西 到原生可执行文件,所以我已编写的内容(HTML + Jquery + Jquery UI + CSS)可以构建到Native Windows / Linux / IOS可执行文件中而无需更改当前代码吗?
服务器端:
没问题,因为它返回html和json并决定继续在服务器上运行。但想知道离线内容是如何工作的。
答案 0 :(得分:0)
我不确定这实际上是否有效。根据我的理解,钛appcelerator主要为您提供在iOS和Android平台上创建应用程序的框架。我确实看到了有关桌面应用程序的一些内容,但是当你的后端代码是python(以及web2py引导)时,没有关于从源自动创建的应用程序。
我认为可能无法放弃您的web2py应用并获得最终产品。首先,Appcelerator如何知道给定的URL对应于给定的控制器和函数?它将如何对数据库中的对象执行搜索?您是否希望它读取DAL(...)
连接字符串并且只是连接?
如果您不进行任何服务器端处理,并且不使用除JSON之外的任何数据源,那么这可能会起作用。也许。但我非常怀疑它会是自动的,甚至是那么简单。
在我看来,您必须点击每个页面并将页面保存为html到光盘,然后将输出的HTML / CSS / JS标记放入Titanium。但这意味着,如果您正在处理表单或搜索,或者在控制器中执行任何有趣的操作,那么钛应用程序将无法处理服务器端后端的任何内容。
话虽如此,钛确实可以使用PHP代码,但并不完美,而且我在使用框架而不是原始php时会看到问题。
http://www.flickr.com/photos/funkatron/4011561849/
无论如何,它都没有那么好用。 Titanium Desktop仍然支持PHP,但开发一个像CI这样的服务器端框架的应用程序基本上无法运行。
文档中还有一些关于处理python代码的内容,但我看到的是你可以使用脚本标记将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)python 2.5或更高版本的解释器(c)web2py框架,(d)web2py应用程序和包的副本这样就可以在java应用程序中运行(可以在任何平台上运行),并向最终用户显示HTML视图。然后,您可以将其维护为web2py应用程序,只需将应用程序复制到您的Java包中即可。我不确定最后是否更容易,但看起来你要么必须移植到Titanium或Wrap with Java(或其他语言适合平台无关的语言)。