Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Appcelerator将基于web2py的web应用程序转换为本机应用程序,容易吗?可能的_Javascript_Python_Titanium_Appcelerator_Web2py - Fatal编程技术网

Javascript 使用Appcelerator将基于web2py的web应用程序转换为本机应用程序,容易吗?可能的

Javascript 使用Appcelerator将基于web2py的web应用程序转换为本机应用程序,容易吗?可能的,javascript,python,titanium,appcelerator,web2py,Javascript,Python,Titanium,Appcelerator,Web2py,我的问题是: 客户希望我的当前web应用程序作为桌面,可能是可执行的,但客户端部分没有浏览器 我研究了以下三个方面: Qooxdoo-需要浏览器 AdobeAIR-需要插件和运行时 Appcelerator-最有趣的,内置到本机客户端 以下是主要问题: 客户端: 我在appcelerator上读到的是它构建用html和javascript编写的东西 到本机可执行文件中,那么我已经编写的内容(HTML+Jquery+Jquery UI+CSS)可以构建到本机Windows/Linux/IOS可

我的问题是:

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

我研究了以下三个方面:

  • Qooxdoo-需要浏览器
  • AdobeAIR-需要插件和运行时
  • Appcelerator-最有趣的,内置到本机客户端
以下是主要问题:

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

服务器端:


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

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

我认为可能不可能直接把你的web2py应用程序放进去,然后得到最终产品。首先,Appcelerator如何知道给定的URL对应于给定的控制器和函数?它将如何对数据库中的对象执行搜索?您是否希望它读取
DAL(…)
连接字符串并直接连接

如果不进行任何服务器端处理,也不使用JSON以外的任何数据源,那么这可能会起作用。大概但我高度怀疑它是否会自动进行,或者是否会那么容易

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

话虽如此,Tianium确实可以处理php代码,但并不完美,我看到了使用框架而不是原始php时的问题

不管怎么说,它的效果并没有那么好。尽管Tianium Desktop仍然支持PHP,但开发一个带有服务器端框架(如CI)的应用程序基本上是行不通的

文档中还有一些关于处理python代码的内容,但我所看到的是,您可以使用脚本标记将python放在HTML的“客户端”端:

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

# ... python代码?
(参考号:)

但这对web2py应用程序没有帮助

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

对不起:(

但是,您可能会找到一种方法来创建一个Java应用程序,其中包括(a)rocket webserver、(b)python 2.5或更高版本的解释器(c)web2py框架、(d)web2py应用程序的副本,并以这样一种方式对所有这些应用程序进行打包,使其在Java应用程序内部运行(可在任何平台上运行)并向最终用户显示HTML视图。然后,您可以将其作为web2py应用程序进行维护,并将该应用程序复制到您的java捆绑包中。我不确定最终是否会更容易,但看起来您要么必须移植到Tianium,要么必须使用java(或另一种适合语言的平台无关语言)进行包装