现在,桌面应用程序 self 更新是非常标准的做法。在 Mac 上,每个使用 Sparkle 的非 Apple 程序在我的书中是一个即时的胜利。对于 Windows 开发人员,this has already been discussed at length .我还没有找到关于 self 更新网络应用程序的信息,希望您能提供帮助。
我正在构建一个旨在像 Wordpress 或 Drupal 一样安装的 Web 应用程序 - 将其解压缩到一个目录中,点击某个安装页面,然后就可以使用了。为了获得广泛的服务器兼容性,我被要求使用 PHP 和 MySQL —— 那是 **MP 吗?无论如何,它必须是广泛的跨平台。就上下文而言,这基本上是针对小型企业的统一 Web 消息传递应用程序。这不是另一个 CMS 平台,想想 webmail。
我想了解自更新网络应用程序。首先,(1)这是一个坏主意吗?从 Wordpress 2.7 开始,自动更新是一个按钮,这看起来很简单,但我可以想象有很多方法可能会变得非常非常错误。此外,Web 文件可被 Web 进程写入的想法不是安全漏洞吗?
(2) 值得开发时间吗?世界上可能有数百万个 WP 安装,因此 WP 团队花费时间来简化它可能是值得的,在全局范围内节省了数百万工时。我只能想象我的软件安装了几千次 - 构建 self 升级值得时间投资,还是我可以假设足够成熟以首先下载和安装 Web 软件的用户可以通过升级 list ?
如果这不是安全灾难或浪费时间,那么 (3) 我正在寻找以前做过的任何人的建议。您是否在数据库中保留版本表?您如何管理数据库升级?在自更新 Web 应用程序的上下文中,您使用什么方法来回滚部分升级?使用 ORM 层是否更容易或更难?您是保留版本更改的增量,还是每次都把整个事情搞砸?
感谢您对此的看法。
最佳答案
坦率地说,这确实取决于您的用户群。有大量的 PHP 应用程序不会自动升级。他们的用户要么有足够的技术来处理升级过程,要么就是不升级。
我打算分两步:
1) 认真问问自己,您的用户可能真正需要什么。 self 更新是否会为采用提供足够的插入力来证明额外工作的合理性?如果你确信答案是肯定的,那就去做吧。
既然你在这里问,我猜你还不知道。在这种情况下,我打算执行第 2 步:
2) 发布不带该功能的 1.0 版。等待用户反馈。您的用户可能会立即要求更简单的升级过程,在这种情况下,您应该优先考虑它。或者,您可能会发现您的用户更关心其他一些功能。
在不询问用户的情况下猜测用户想要什么是一种将大量开发时间浪费在人们实际上并不需要的东西上的好方法。
关于php - self 更新 PHP+MySQL 应用程序的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/723791/