Лёгкая проверка обновлений своей программы со своего сайта

  • CanSeeCanSee 05.06.2012
    Сделал программу, предназначенную для автоматической проверки обновлений других программ. Сделал для использования в своих проектах, но, может быть, кому-нибудь ещё пригодится :)
    Актуальна будет для тех, кто пишет свои программы и распространяет их с собственного сайта (ну или сайта, на котором можно поменять какую-нибудь страничку). То есть, как раз для тех, у кого есть какой-нибудь свой проект :)
    Принцип работы простой - программа принимает в командной строке текущую версию той программы, наличие обновлений для которой надо проверить, адрес сайта, на котором можно посмотреть номер последней версии программы, и адрес странички, с которой юзер сможет скачать новую версию. Если новая версия есть - выдаёт пользователю сообщение и предлагает перейти на сайт для загрузки новой версии. Если нет - может тихо завершить работу, а может выдать сообщение о том, что установлена последняя версия (это регулируется также параметром командной строки).
    Сделано всё на Qt 4.
    Может работать через прокси.
    Для многих дистрибутивов, конечно, такая вещь не нужна - программы обновляются автоматически из репозиториев. Но может подойти для кроссплатформенных программ, у которых есть версии для Windows (как, например, мои программы). Также может быть полезной для программ, распространяемых в виде самостоятельных пакетов в форматах deb, rpm или ещё каком-нибудь - без включения в репозиторий какого-то дистрибутива.
    Может, кому-нибудь ещё пригодится просто как пример кода, на основе которого можно сделать свою программу, работающую с информацией, получаемой через интернет. Код под лицензией BSD, так что можно использовать и в коммерческих проектах.
    Посмотреть, скачать можно на сайте: http://life-warrior.org/programs/lwupchecker.html (http://life-warrior.org/programs/lwupchecker.html)
    Исходный код скачать можно в виде архива там же на сайте, или получить через контроль версий fossil из online-репозитория:
    http://chiselapp.com/user/cansee/repository/LWUpChecker/index (http://chiselapp.com/user/cansee/repository/LWUpChecker/index)
  • tom47tom47 24.03.2013
    Dobrii den, menia zovut tom,
    mojno neskolko voprosov :)
    1)obnovleniya kakih imenno programm(esli u usera windows ili drugaya os)?:)
    2)obnovlenia kakie imenno? :)
    Ya pereshel na linuks mesyac nazad
    est li dlya linuksa yazik programmirovaniya, analogichniy C#? :)
  • CanSeeCanSee 24.03.2013
    Привет.
    Ну, сначала про язык. Под Linux можно программировать на C#. Есть среда выполнения Mono и оболочка для разработки MonoDevelop. Они кроссплатформенные, под Linux тоже работают. Но, конечно, есть своя специфика.
    Теперь про мою программу-"обновлялку". Она предназначена не для пользователей. Она предназначена для разработчиков, которые желают встроить проверку обновлений в свою программу. Обновления можно проверять любые. Программе-"обновлялке" параметрами командной строки передаются адреса (URL) файла с версией обновляемой программы на сайте разработчика, страницы загрузки новой версии и текущая версия обновляемой программы. Дальше программа лезет на сайт, берёт оттуда версию и сравнивает с текущей. Если на сайте версия более новая - тогда "обновлялка" предлагает пользователю перейти по второму адресу для загрузки новой версии. Если нет новой версии - тогда просто тихо завершает свою работу. Ещё есть графический интерфейс для настройки прокси. Можно, конечно, попробовать приспособить её и для проверки наличия обновлений какой-нибудь сторонней программы, разработчиком которой вы не являетесь. Но, думаю, без модификации исходного кода "обновлялки" будет трудно добиться пользы.
  • tom47tom47 24.03.2013
    spasibo;
    est tut ideyka startapa.. nuzno navernoe mnogo it-shnikov dlya takogo startapa
  • CanSeeCanSee 25.03.2013
    Ну, пока не узнаешь, что за идея - не скажешь, много ли надо специалистов для её реализации :) Что касается лично меня - от C# я в последнее время ухожу. Мои программы пишутся на C++ и Qt. С Qt значительно меньше проблем при обеспечении кроссплатформенности, да и других преимуществ у него много.
  • tom47tom47 26.03.2013
    Привет :) Есть идея сервиса(продажи)картин.
    Сайт, на котором художники общаются и продают картины,
    покупатели общаются и покупают картины.
    Фишка - компонент общения. обычные интернет порталы предоставляют только функцию покупки для
    конечного пользователя. Здесь будет покупка+общение (с другими пользователями-покупателями и с художниками). Я PHP-программист :)
  • tom47tom47 26.03.2013
    est voprosik: kakaya kodirovka linuksa analogicna ANSI1251 na Windows? :)zarannee sps
  • VolandVoland 26.03.2013
    А зачем много IT-шников для этого? Написать движок хватит и одного-двух.
  • VolandVoland 26.03.2013
    tom47:
    est voprosik: kakaya kodirovka linuksa analogicna ANSI1251 na Windows? :)zarannee sps
    Так Windows-1251 (она же cp1251) поддерживается в Linux. А зачем? Куда проще с utf-8 работать.
  • tom47tom47 27.03.2013
    спс воланду
  • CanSeeCanSee 27.03.2013
    tom47:
    Привет :) Есть идея сервиса(продажи)картин.
    Сайт, на котором художники общаются и продают картины,
    [...] Я PHP-программист :)
    Так на PHP как раз лучше всего такую штуку и будет делать :) Зачем тогда C#? Если только для какого-то другого проекта. Для сайта я бы взяли либо какую-нибудь CMS, а если чего-нибудь не хватает - доделывал бы свои модули. Например, на моём сайте Drupal. Либо на фреймворке (например, как здесь, на Пингвинусе - Yii).