在回应this question时,我确信很多人会反对PHP不是桌面编程的最佳选择,而是建议使用Ruby或Python。我认为讨论原因会很有趣。
除了关于PHP是否总体上是一门优秀语言的争论之外,您对良好的桌面编程语言(与Web开发相对)的标准是什么?
答案 0 :(得分:25)
你说“除了关于PHP是否总体上是一种好语言的争论” - 但我认为这是问题的症结所在。 PHP作为Web开发语言变得流行,因为它与现有的Web工具堆栈(内联HTML,良好的Apache集成,内置的MySQL支持等)很好地集成 - 不因为它很好 - 设计易于使用的语言。(顺便说一句,它不是。)
如果您将网络带走并使用PHP进行桌面开发,您还剩下什么?一种弱类型,不一致的语言,不支持桌面UI和标准库的可怕混乱。人们不会那样使用PHP,因为它只是没有意义。
答案 1 :(得分:20)
PHP专门用于创建Web应用程序。虽然从技术上来说可以使用它创建桌面应用程序,但是你真的要在角落里打磨以适应圆孔中的方形钉。
有很多编程语言是以桌面为目标而设计的,尝试将PHP软件推入一个不适合的世界是没有意义的。
透视:PHP是我的工作
答案 2 :(得分:11)
用于桌面应用程序的PHP:
具有Web应用程序性能的桌面应用程序的易于分发。
答案 3 :(得分:6)
这听起来像是一个陈腐的答案,但我认为大多数人不使用PHP作为桌面编程语言的原因是因为人们不使用PHP作为桌面编程语言。
意思是,围绕使用PHP的GUI桌面应用程序没有一个非常强大的社区 - 这将影响开发人员可用的工具,他可以寻求帮助的资源,以及公司或商业活动,程序员将拥有使用一套非常小的工具所必需的技能组合。
答案 4 :(得分:6)
$language_under_consideration
是否比$other_language
更容易完成我想要的工作?
例如,我发现mysql的php接口非常适合快速数据库工作。我不想在Windows上为GUI应用程序编写php ....
答案 5 :(得分:4)
因为它完全适用于网络编程,虽然它可能拥有桌面编程所需的工具,但还有其他语言功能更强大,更有效率。
就我个人而言,我不喜欢很多语言原则,所以我只是在被迫时才使用它。
答案 6 :(得分:2)
默认情况下是否在目标平台上安装?因为如果不是,那么采用会有更多的摩擦。
答案 7 :(得分:2)
我很惊讶没人说过这个。作为Web开发人员,我只使用PHP,因为这是客户通常要求的。他们希望在他们可以找到的任何主机上部署,并且所有Web主机共享一个共同点:PHP。此外,我们还进行了大量的救援任务样式编码,我们必须修复已经用PHP编写的站点。作为一个诚实的开发人员,不能推荐PHP作为一个良好的平台,用于严肃的Web开发。我绝不会为任何项目,网站或桌面选择PHP。 Python非常适合桌面应用。它比PHP更具动态性,更健全,更高效。
答案 8 :(得分:1)
<强>然而.. 强> 对于中小型桌面脚本或引擎,没有GUI (即自动化脚本等), PHP实际上非常强大。
使用PHP进行桌面脚本编写的主要原因:在脚本上培训IT部门是成功的一半。除非您也是IT部门(希望您不是),否则如果使用.NET等常用桌面语言,您将发现很难在任何Windows和Linux计算机上运行此脚本。其他语言所需的库和依赖项使得在具有不同操作系统的大量计算机中使用它们会产生问题。
这是主要的实际原因。这里有更多/细节:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
并找到未初始化的变量。 Python也是松散类型的,许多人都使用它(Dropbox是用Python制作的)所以我不会在这里看到这个论点。它更多的是PHP语言的不一致。除了关于PHP是否总体上是一种好语言的争论,还有什么 是您良好的桌面编程语言的标准(相反 到网络开发)? Spoiler:使用.NET / Mono(mono是.NET语言的跨平台版本)和MonoDevelop IDE中的代码,以确保您的应用程序从第1天起就保持跨平台。对于Mac,您通常需要调整一些东西,因为它和#39;略有不同,但您可以使用Xamarin Mac(基于Mono但允许MacOS接口组件)使用.NET: http://xamarin.com/mac
如果由于依赖性开销,Mono / C#不够精简,请使用PySide查看Python。如果Python太慢(虽然许多流行的应用程序,如Dropbox使用它),那么使用C ++和QT框架(Skype和许多其他人使用)。我记得Delphi可能是另一个不错的选择,如果它仍然存在的话。
要记住的事情:
我已经用所有这些语言制作了完整的应用程序,用于内部使用和大规模分发,这是我的2cents。
答案 9 :(得分:0)
性能是我在桌面软件上的标准。但我相信桌面软件有一天会死掉:)
答案 10 :(得分:0)
我非常支持使用PHP快速开发Web应用程序。它易于学习,拥有庞大的其他用户社区,已经解决了大多数问题。
然而,除了其他用户提到的内容之外,您可能还想考虑PHP已经存在的大量漏洞(http://www.securityfocus.com/vulnerabilities)。
如果其中一些问题得到解决,并且可能与我们在Adobe AIR中看到的类似,那么桌面应用程序的生成可能会有很好的基础。
答案 11 :(得分:0)
如果你要将它用作Web环境之外的编程语言,那么PHP就是新的perl。如果我要编写应用程序,我希望能够使用一个非常有用的环境。如果没有第三方应用程序,调试php程序会很麻烦。
答案 12 :(得分:0)
我认为将PHP用于网络或桌面应用程序,只是不同的库,没有任何区别。 Qt和GTK +都是PHP的可用产品,如果有人花时间编写这样的绑定,这意味着比有人将它用于桌面更多。
在我看来,PHP在网络上的成功是因为没有有效的选择:换句话说,PHP就更糟了。在桌面世界中,它不是那么幸运,它应该与更强大的竞争者竞争...我会在PHP之前亲自选择其他语言。