Эволюция портабельности

February 10th, 2010 Begemot Posted in Шаровароварение

Давно собирался написать про свой опыт с выпуском портабельных версий? Сегодня прочел пост ночного программиста – Portable-версия – легко и непринужденно и вижу, что народ повторяет мои ошибки, а значит откладывать дальше нельзя – пора писать 🙂 Причем технические детали реализации я опущу (банально же), а опишу только грабли в подходе к решению проблемы, на которые я натыкался. Для того, чтобы вы могли сразу переходить на пятый уровень:)

Итак у меня было пять ступеней эволюции:

0. Просто программа, без поддержки переносной версии. Народ жаловался и требовал гибкости. Ведь действительно всегда иметь с собой свои быстрые заметки весьма удобно…

1. Параметр командной строки, который переключал приложение в портабельный режим. Я написал об этом в хелпе, а потом, всем кто спрашивал отвечал как использовать параметры командной строки в саппорте – благо быстрая вставка готовых ответов, весьма облегчает это занятие. Народ жаловался, на неудобство.

2. Я сообразил, что можно сделать и положить в дистрибутив батник – который будет запускать программу с параметром, что-то типа _RUN_Clipdiary_Portable.bat. На неудобство стали жаловаться меньше, на мелькающее черное (консольное) окно и периодические ошибки (народ постоянно запускал exe вместо батника). Продвинутые даже компилили батник в ехешник.

rem instruction for user

start clipdiary.exe –portable

3. Кто-то меня надоумил что избежать последней проблемы можно положив все файлы программы в подпапку APP, а рядом с ней батник который будет запускать ехе. И так типа поступают многие портабельные программы. Правильный текст бат файла

rem instruction for user

@echo off
cls
title Clipdiary Portable launcher
start /D"%~p0App" App\clipdiary.exe –portable

4. Через месяц, после того как я перевел все свои портабельные дистрибутивы на использование этого механизма, я вдруг придумал более лучший подход. Который позволяет избавится как от случайного запуска exe вместо бат файла, так и от мелькания консольного окна, которое раздражает пользователя. Теперь достаточно просто добавить –portable в имя программы – и все будет в шоколаде. Разумеется я при старте анализирую имя ехе и перехожу в портабельный режим если что. Пользователи пока что довольны.

Видите, все гениальное просто 🙂

 

Кстати, у нас тут недавно разгорелся спор с одним человеком какой термин использовать – переносимая, портабельная или портативная. Имхо, все они звучат криво по-русски, но ведь что-то использовать надо. Вот что говорит гугл

Results 1 – 10 of about 52,600 for "портативная версия".
Results 1 – 10 of about 30,600 for "портабельная версия"
Results 1 – 10 of about 1,870 for "Переносимая версия"

Причем в выдаче по каждому варианту – присутствуют программы с мировым именем 🙂 В общем, бардак полный – что писать не ясно. А вы как ее называете?

Related:

52 Responses to “Эволюция портабельности”

  1. Carc: Бегемот прав! Портабельность нужна далеко не всем (это сильно зависит от софта к тому же).

    и не факт, что кому это надо будет платить деньги за это 😉

  2. Carc: А я считаю, что мы – разработчики – все-таки должны… Но только вот завсегда нужен в этом случае один предикат: утром деньги – днем стулья, днем деньги – вечером стулья, вечером деньги – утром стулья

    🙂 не спорю, но все зависит от количества денег и размеров стульев