В настоящее время довольно стандартная практика для самообновления настольных приложений. На Mac каждая программа, не использующая Apple, которая использует Sparkle в моей книге, является мгновенной победой. Для разработчиков Windows это уже обсуждалось подробно. Я еще не нашел информацию о самообновляющихся веб-приложениях, и надеюсь, что вы сможете помочь.
Я создаю веб-приложение, предназначенное для установки как Wordpress или Drupal - разархивируйте его в каталог, нажму на какую-то страницу установки и он готов к работе. Чтобы иметь широкую совместимость с сервером, меня попросили использовать PHP и MySQL - это MP? В любом случае он должен быть широко-кросс-платформенным. Для контекста это в основном унифицированное приложение для веб-сообщений для малого бизнеса. Это не другая платформа CMS, подумайте о веб-почте.
Я хочу знать о самообновляющихся веб-приложениях. Прежде всего, (1) это плохая идея? Начиная с Wordpress 2.7, автоматическое обновление - это единственная кнопка, которая кажется легкой, и все же я могу представить себе так много способов, которые это могло бы пойти ужасно, ужасно неправильно. Кроме того, не является ли идея, что веб файлы могут быть записаны в веб-процессе в виде дыры в безопасности?
(2) Стоит ли время разработки? В мире, вероятно, есть миллионы установок WP, поэтому, вероятно, стоит потратить время, чтобы команда WP упростилась, сохранив миллионы человеко-часов по всему миру. Я могу только представить несколько тысяч установок моего программного обеспечения - это создание самообновления, которое стоит времени на инвестиции, или я могу предположить, что пользователи, достаточно усложненные для загрузки и установки веб-программного обеспечения, в первую очередь могут пройти контрольный список обновлений?
Если это не катастрофа безопасности или трата времени, то (3) я ищу предложения от всех, кто это сделал раньше. Вы сохраняете таблицу версий в своей базе данных? Как вы управляете обновлениями БД? Какой метод вы используете для отката частичного обновления в контексте самообновляющегося веб-приложения? С помощью слоя ORM стало проще или сложнее? Вы сохраняете дельту изменений в версии или вы просто каждый раз взрываете все это?
Я ценю ваши мысли об этом.