目录
wikipedia
>根据“入门指南”安装,一旦我们拥有Tidesdk Developer App(一个帮助我们将应用程序捆绑到可分布的软件包)的助手应用程序),我们就可以开始开发。您使用潮汐构建的应用程序(通过辅助应用程序或通过命令行)既可以纯粹可执行,也可以作为可安装的软件包分发,这些软件包可获得整个“应用程序”处理,包括嵌入的安装过程,使其无法安装,使其无法安装通过Windows或其他操作系统上的软件包管理器上的添加/删除程序。
>经常询问的问题(常见问题解答)与PHP
我可以使用PHP来开发复杂的桌面应用程序吗?用于开发复杂的桌面应用程序。尽管传统上是用于网络开发的PHP,但多年来它已经发展出来,现在包含了可以开发复杂桌面应用程序的功能。这些包括面向对象的编程,异常处理和名称空间。此外,还有几种PHP框架和工具,例如PHP桌面和PHP-GTK,可以帮助构建复杂的桌面应用程序。
>
首页 后端开发 php教程 使用PHP开发跨平台桌面应用程序的3种方法

使用PHP开发跨平台桌面应用程序的3种方法

Feb 19, 2025 am 09:26 AM

使用PHP开发跨平台桌面应用程序的3种方法

php作为跨平台桌面应用程序开发语言?亵渎!尽管如此,这是可能的。

几年前,那些有兴趣将PHP带到台式机的人都是现在已长期被废弃的GTK PHP。从那以后,新玩家出现了,尽管让我们首先回答“为什么”。

>

钥匙要点

尽管它主要用于Web开发,但PHP仍可用于开发跨平台桌面应用程序。本文讨论了三个主要工具:nightrain,wxphp和tidesdk。 Nightrain是一套预包装的PHP托管先决条件,非常适合基本应用。但是,它具有局限性,包括在Windows上启动命令提示符,该提示符可能会混淆非技术用户,并且无法同时运行多个应用程序而无需更改设置。
    >
  • > wxphp是包装WXWIDGETS库的PHP扩展名,允许创建多平台桌面应用程序。它提供了更简单的用户体验,应用程序仅是可以双击的文件,但缺少HTML5功能并且具有学习曲线。
  • >
  • tidesdk是一个开源项目,它使用HTML,CSS,JS和其他脚本语言(如PHP)来渲染应用程序。但是,它有几个弊端,包括过时的PHP版本,不同的DOM API,并且需要多个环境为不同平台构建应用程序。
  • >
  • 其他选项,例如PHPDESKTOP,Webinder和PHP GTK,要么过时,Windows-contryustrusive或两者兼而有之,因此它们对多平台解决方案的可行性降低了。 在为桌面开发PHP应用程序时,可能并非总是合理的,因为知道该选项的存在对于某些方案可能很有用。
  • 为什么?
  • >为什么有人会为桌面开发跨平台PHP应用程序?为什么不选择可以真正可以将操作系统低级API(例如Adobe Air)绑定到的东西呢?为什么不喜欢过时,过时的东西,但是像爪哇一样可靠?为什么不将其制作为Chrome应用程序,如果您需要本机支持,请使用本机客户端?地狱,如果您想要脚本语言,为什么不和Python一起去呢?一切都在进行,只要我们避免必须将服务器与整个Shebang捆绑在一起,对
  • >
>我的头顶,我可以想到几个遥远的场景:

  1. >您需要在简单的语法和良好的结构(即PHP)之间进行良好的中间立场,并且您不愿意学习新语言,例如ActionScript
  2. >您正在与高度计算机文盲的公司一起运行它,而迫使他们为您的公司应用程序使用良好的浏览器的唯一方法是将其嵌入您提供的应用程序中。它仍然是一个网络应用程序,但在无头的Chrome中打开!
  3. >
  4. >您想避免为自己的个人申请支付托管费用,并且想在USB棒上随身携带。您只需将其插入,运行它,然后您的应用就在那里 - 从前使用相同的SQLite DB。如果您需要在线同步,请单击按钮,将整个DB导出发送到Dropbox或某些此类服务,从而确保您实际上即使没有计算机也可以访问您的“ Web应用程序”。 >您不需要低级OS API访问 - 您只想制作基于浏览器的游戏,辅助应用程序,或类似简单的内容。 php对此很好,您已经知道了语言。
  5. >
这些情况看起来可能像抓住稻草,的确,我真的想不出一个真正的,实用的理由,想要做到这一点没有可行的选择。不过,很高兴知道这是可能的。让我们看看如何。

1。 nightrain

Nightrain是一组预包装的PHP托管先决条件,目前由PHP 5.5.x提供动力。这是用Python编写的包装器,它使用PHP的内部服务器托管您的应用程序,从而避免了Apache和nginx并最大程度地减少配置Shenanigans。但是,这也意味着一些更高级的方面不可用,您只能真正将其用于非常基本的应用程序。

>另一个很大的骗局是,在Windows上,首先启动命令提示符,然后启动“应用程序”。如果您想使用该应用程序,则必须保持命令窗口的打开状态,这可能会使方案的技术文盲的人有点混乱。

>更重要的是,您默认情况下只能运行一个ngrain应用程序,因为它实际上在端口8000上启动了一台服务器,然后使打开“秘密”的无头浏览器访问localhost:8000。如果要启动几个不同的nightrain应用程序,则需要更改设置中的端口。这也意味着简单地访问Localhost:8000在主机机器的浏览器中会向您显示同一应用。

Nightrain与开箱即用的大多数PHP应用程序/框架兼容,只要您将数据库更改为SQLite(即使用的),并调整捆绑的php.ini,以使某些缺失的扩展名(如果有)。 MySQL没有捆绑,并与常规堆栈一起安装它并不简单。无论如何,使该应用程序上游将SQLite数据发送到您用于集中式数据库的服务器非常简单,因此仅在系统运行的系统上仅使用SQLITE有些逻辑。 到目前为止,该应用程序的最大缺点是它使用WX小部件为无头浏览器供电,并且在Windows上,这似乎归功于IE7。如上所述,通过WXPYTHON进行更改,似乎有可能,但尚未尝试。一个人只能希望浏览器对象很快就会更新到更可用的东西 - 直到那时,直到所有其他关键缺点都固定了,我什至无法开始想象nightrain的用途。

>

2。 wxphp

WXPHP代表“ PHP的WXWIDGETS”,是包装WXWIDGETS库的PHP扩展程序,该库允许编写多个平台桌面应用程序,该应用程序使用可用于不同平台可用的本机图形组件。 -

wikipedia

>您将WXPHP安装为一个单独的程序,然后通过简单地对其进行双重键入来支持执行.wxphp文件。

这意味着您的应用程序仅仅是文件,您可以轻松地将它们分发。您可以像往常一样将代码整理到文件和类中,并分发文件夹。主.wxphp文件然后可以包含这些其他资源。

>

>该安装带有几个示例,其中包括一个初始化WebView并在WX框架中加载WXPHP网站的示例。要注意的一件事是,使用WXPHP,您不会像网络上那样开发网站。换句话说,您不会开发离线网站,而是将各种WX小部件串在一起。因此,库有一些学习曲线,您将缺乏可能习惯的HTML5功能,或者网络开发的简单性。有一些概念证明了运行和服务请求的内部PHP服务器的概念,但这是实验性和复杂的,并且再次公开了Local主机,就像Nightrain一样。 WXPHP还带有一个可爱的表单构建工具,该工具将帮助您通过Wysiwyg编辑器自动生成WXPHP应用程序所需的PHP代码。使用PHP开发跨平台桌面应用程序的3种方法>

在您将WX视为琐碎之前,人们已经开发了更多的基本应用程序。例如,这是一个带有远程调试和插件API的PHP编辑器。

如果您认真对待PHP桌面开发,那么与夜间卫星相比,WXPHP是迄今为止更好的选择,即使Nightrain允许您为GUI编写良好的旧HTML。 WX的最大优势之一是,一旦安装,可以在鼠标的单击时运行所有.wxphp文件。没有其他安装,没有尴尬的控制台窗口。对于技术文盲的人来说,这是天哪 - 您可以通过简单的电子邮件轻松地在公司内部分发该应用程序,并且更新过程与覆盖文件一样简单。

3。 tidesdk

tidesdk的方法与上述两个方法有些不同。 您安装了SDK以能够开发应用程序,并且每个平台都有某些先决条件。 Tidesdk实际上是重命名的钛桌面项目。钛仍然专注于移动设备,并放弃了桌面版本,该版本由一些开源并称为Tidesdk的人接管。

>根据“入门指南”安装,一旦我们拥有Tidesdk Developer App(一个帮助我们将应用程序捆绑到可分布的软件包)的助手应用程序),我们就可以开始开发。您使用潮汐构建的应用程序(通过辅助应用程序或通过命令行)既可以纯粹可执行,也可以作为可安装的软件包分发,这些软件包可获得整个“应用程序”处理,包括嵌入的安装过程,使其无法安装,使其无法安装通过Windows或其他操作系统上的软件包管理器上的添加/删除程序。

>

应用程序资源与WebKit客户端和熟悉且广泛的API结合使用。 API具有特权,提供文件系统访问,使您可以读取和管理文件。还提供了API来创建和与本地数据库进行交互。网络API允许创建客户端和服务器或在低得多的级别与HTTP接口。也可以打开与其他服务的套接字连接。

通常,Tidesdk使用HTML,CSS和JS来渲染应用程序,但它也支持Python,Ruby和PHP等脚本语言。渲染背后的引擎是WebKit,这意味着它的启动会很慢,但是它将支持最新的Web技术。

>

通过向清单文件添加模块语句来激活>

请注意,使用脚本模块进行脚本语言将对您的应用程序的安装和运行时间产生重大的性能惩罚。

>有趣的是,Tidesdk具有一个对象桥,该对象桥可让您在应用程序中使用PHP时,将数据从JS无缝转换为PHP和Back。您可以在这里阅读更多信息,但是详细的Tidesdk教程即将推出。

使用Tidesdk进行PHP桌面应用程序开发有几个主要缺点:>

PHP开发工作流程严重记录不足,并且非常容易受到错误的影响,但几乎不可能进行调试。 捆绑的PHP版本已过时 - 在撰写本文时版本5.3.x版本。虽然通过SDK安装目录中的 /模块文件夹,用最新的模块文件夹替换它相对容易,但这是一个额外的滋扰,缺少许多现代PHP功能,这些功能可能会在桌面应用程序开发中使用,更不用说内置的服务器也可能在此处获得深奥的用例。

    有一个学习曲线。 DOM API与您在Web开发中可能使用的不同。要在屏幕上回声,您需要调用$ document-> write()而不是回声。这是一个较小的区别,但没有充分记录,可以绊倒您。
  1. > 到目前为止,最大的缺点是汇编。通过构建应用程序获得的包装与您构建的平台绑定。要为多个环境构建应用程序,您需要拥有这些多个环境。 Windows/linux差异很容易通过虚拟机解决(尽管主机是Windows,并且您的Linux VM都比相反的方式更容易解决),但是除非您有OS X设备,否则祝您好运,除非您有OS X ,也是。
  2. tidesdk是一个整洁的选择,但它远非可用。它对HTML/CSS/JS的交付非常有用,但是当涉及PHP时,我相信WXPHP仍然是您最好的选择。
  3. 其他选项
  4. 也有其他选项可用,但至少可以说。

phpdesktop类似于夜间,但仅是窗口。另一方面,它与Mongoose服务器捆绑在一起,因此可以执行并行请求。它还运行Chrome,这意味着渲染/打开的速度很慢,但支持最新的Web技术。它的Windows-Exexclusitive从此多平台解决方案列表中取消了资格。

>韦伯德和PHP GTK都过时了,可能不应该使用。除此之外,Webinder仅是Windows。

结论

    虽然为台式机构建PHP应用程序的原因因用例而有所不同,而且通常不容易证明是合理的,但我相信如果您需要该选项,这是很好的。
  • 您是否在PHP中开发了桌面应用程序?如果是这样,请让我知道为什么和您使用了哪种技术 - 我绝对希望您写自己的经验。知道还有其他选择吗?在评论中让我知道!

    >

    >经常询问的问题(常见问题解答)与PHP

    开发跨平台桌面应用程序

    >将PHP用于桌面应用程序开发有什么好处?

    php是一种通用的脚本语言,主要用于Web开发。但是,由于其众多好处,它也可以用于桌面应用程序开发。首先,PHP是跨平台,这意味着它可以在Windows,Linux和MacOS等各种操作系统上运行。这使得它非常适合开发可以在任何平台上运行的桌面应用程序。其次,PHP拥有庞大的开发人员社区,这意味着您可以在遇到问题时轻松找到资源和帮助。最后,PHP易于学习和使用,这对于桌面应用程序开发的初学者来说是一个不错的选择。

    我可以使用PHP来开发复杂的桌面应用程序吗?用于开发复杂的桌面应用程序。尽管传统上是用于网络开发的PHP,但多年来它已经发展出来,现在包含了可以开发复杂桌面应用程序的功能。这些包括面向对象的编程,异常处理和名称空间。此外,还有几种PHP框架和工具,例如PHP桌面和PHP-GTK,可以帮助构建复杂的桌面应用程序。

    PHP桌面如何工作?

    >

    php桌面是一种工具,是一种允许的工具您可以使用PHP开发跨平台桌面应用程序。它将Web服务器,PHP解释器,浏览器和JavaScript引擎嵌入到一个软件包中。这意味着您可以使用PHP编写应用程序,并且它将作为独立的桌面应用程序运行。 PHP桌面处理所有后端流程,因此您不必担心设置服务器或配置PHP环境。

    >

    什么是PHP-GTK,如何将其用于桌面应用程序开发?>我可以使用PHP桌面应用程序访问系统资源吗? PHP具有几个内置功能,可让您与文件系统,网络和其他系统资源进行交互。但是,请记住,访问系统资源可以构成安全风险,因此,在开发应用程序时遵循最佳实践非常重要。>

    >将使用PHP用于桌面应用程序开发的局限性是什么? 🎜>虽然可以将PHP用于桌面应用程序开发,但确实有一些局限性。 PHP的速度不如C或Java等编译语言,因此它可能不适合需要高性能的应用。此外,PHP不是为桌面应用程序开发而设计的,因此它缺少其他桌面应用程序开发语言中常见的功能。但是,诸如PHP桌面和PHP-GTK之类的工具可以帮助克服其中的某些限制。

    >

    我可以将现有的PHP代码用于桌面应用程序开发吗?

    是的,您可以为您使用现有的PHP代码作为现有的PHP代码。桌面应用程序开发。如果您有PHP Web应用程序,则可以使用PHP桌面之类的工具将其转换为桌面应用程序。这可以节省大量的时间和精力,因为您无需从头开始重写您的应用程序。

    >

    >我如何调试我的PHP桌面应用程序?

    >

    >调试PHP桌面应用程序类似于调试PHP Web应用程序。您可以使用PHP的内置错误报告功能显示错误。此外,您可以使用Xdebug之类的PHP调试器来浏览您的代码并查找错误。某些PHP桌面开发工具还提供调试功能。

    >我可以使用带有PHP桌面应用程序的数据库吗?

    是的,您可以使用带有PHP桌面应用程序的数据库。 PHP支持广泛的数据库,包括MySQL,PostgreSQL和SQLite。您可以使用PHP的内置数据库功能或PDO(例如PDO)的数据库抽象层来与数据库进行交互。就像在PHP Web应用程序中一样,您可以存储和检索数据。

以上是使用PHP开发跨平台桌面应用程序的3种方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? 说明PHP中的安全密码散列(例如,password_hash,password_verify)。为什么不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型? PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型? Apr 17, 2025 am 12:25 AM

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP的持久相关性:它还活着吗? PHP的持久相关性:它还活着吗? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP与其他语言:比较 PHP与其他语言:比较 Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python:解释了不同的范例 PHP和Python:解释了不同的范例 Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

See all articles