如何用PHP、Ruby或Python编写程序,并使其易于下载和安装,如Win32应用程序?

如何用PHP、Ruby或Python编写程序,并使其易于下载和安装,如Win32应用程序?,php,windows,ruby,user-interface,Php,Windows,Ruby,User Interface,我想知道,当我们用PHP、Ruby或Python编写一个程序时,我们如何使它像Win32应用程序一样易于被普通用户下载和安装 有没有可能让它也成为一个Mac应用程序?我想你的问题应该是,“如何编写PHP/Ruby/Python应用程序,以便在Windows机器上轻松下载和安装?” 如果我编写一个PHP应用程序来利用MySQL数据库,我现在必须考虑(打包应用程序时)用户是否自己安装和设置数据库。也许我会使用SQLite数据库来避免用户自己运行数据库 因此,我认为重要的是不要理解如何打包你的应用程序

我想知道,当我们用PHP、Ruby或Python编写一个程序时,我们如何使它像Win32应用程序一样易于被普通用户下载和安装


有没有可能让它也成为一个Mac应用程序?

我想你的问题应该是,“如何编写PHP/Ruby/Python应用程序,以便在Windows机器上轻松下载和安装?”

如果我编写一个PHP应用程序来利用MySQL数据库,我现在必须考虑(打包应用程序时)用户是否自己安装和设置数据库。也许我会使用SQLite数据库来避免用户自己运行数据库


因此,我认为重要的是不要理解如何打包你的应用程序,以便用户可以轻松下载。这是如何创建应用程序以使其尽可能可移植。

至少对于PHP和Python,我知道Windows()有GTK绑定(,)。将应用程序打包到一个易于分发的包中变得有点棘手,但这肯定是可以做到的。如果您在Web应用程序的意义上谈论PHP,通常情况下,用户将有自己的环境设置,他们所需要做的就是解包脚本

这些语言还有其他小部件绑定,我只是将GTK列为一个相当常见的绑定

一旦应用程序设置正确,为应用程序生成安装程序就相对简单了。有多种解决方案,其中一种是NSIS(),它使创建安装程序变得非常容易。它是可编写脚本的,因此有很多定制。

Ruby

RubyScript 2Exe将您的Ruby应用程序转换为独立的、压缩的Windows、Linux或Mac OS X(Darwin)可执行文件

还有一个像样的

另一个可能的选项是,它可以从应用程序中创建Widows、Linux和OS X可执行文件

python

py2exe是一个Python Distutils扩展,它将Python脚本转换为可执行的Windows程序,无需安装Python即可运行

BitTorrent、SpamBayes和成千上万的用户使用py2exe

PHP

Bambalam PHP EXE编译器/嵌入器是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows.EXE应用程序。生成的exe文件是完全独立的,不需要php DLL等

有没有可能让它也成为一款Mac应用呢?

py2app是一个pythonsetuptools命令,它允许您从Python脚本生成独立的应用程序包和插件。py2app在用途和设计上与py2exe for Windows相似

此外,开发人员工具中还包含一个实用程序“Build Applet”。。将一个Python脚本拖放到它上,它将成为一个
.app
。该实用程序位于
/Developer/Applications/Utilities/MacPython 2.5/


请注意,以上所有内容基本上都是使用脚本,将其与Python解释器和任何依赖项一起打包,然后在启动时运行脚本。如果您使用的GUI平台在Windows上不工作,那么通过Py2EXE运行它将无法使其工作


同样如前所述,您需要注意依赖性-如果您的应用程序需要MySQL数据库,您的用户将必须单独安装该数据库才能使用您的应用程序,并且您使用的每个库都会增加可执行文件的大小。

我不确定您在问什么,因此我将抛出一些一般性的想法

我是一名ruby程序员,JRuby是跨平台运行ruby的好方法。您可以用与打包任何java程序相同的方式来打包它,并且有很多针对windowxs的java应用程序示例

您可能还想查看adobe。
“Adobe®AIR™ 运行时允许开发人员使用经验证的web技术来构建在浏览器之外、在多个操作系统上运行的富Internet应用程序。”

您是在问如何在.MSI中打包Python(或PHP或Ruby)吗?是的。。。我想差不多吧。。。如何让用户在不安装Ruby或Python解释器的情况下进行下载和安装。Ruby绝不是“为web设计”的语言。铁轨!=鲁比,我闻到一个鲁比粉丝的味道。我想知道大多数人使用Ruby的目的是什么?顺便说一句,因为你的个人观点而否决我的答案是错误的。“个人观点”?这是事实;Ruby根本不是一种web语言。没有Rails或其他框架,它就没有工具。它在web环境中的流行程度与为web设计的流行程度大不相同。嘿,Apache是用C写的。C必须是一种web语言,对吗?Ruby是一种语言。RubyonRails是它最常用的用法。这一事实并没有以任何方式、形状或形式使Ruby成为“为web设计的语言”。RubyScript2exe需要注意的一点是,它仍然包含您的源代码(尽管是压缩的),这可能无法满足您的需要。