Сколько бы у вас ушло времени на написание подобного приложения?
Завершил работу над одним приложением, хотелось бы оценить свою медлительность и туговатость.
Сколько бы времени у вас ушло на реализацию данной задачи, и сколько бы это стоило?
Написать программу - генератор нативных портабельных приложений.
Сгенеренное приложение представляет из себя простой аудио проигрыватель интернет радиостанций с нестандартным оформлением окна (частичная прозрачность окна, нестандартная форма, тень).
Из контролов - уровень звука, выключатель звука, play/stop, эквалайзер.
В генераторе должна быть предусмотрена возможность возможность выбора адреса радиостанции, иконки конечного приложения, логотипа конечного приложения (располагается в центре окна запущенного приложения).
Доп требования - полная портабельность (все в одном exe и должно работать на голой винде без net фреймворков, джав и т. д.), лояльность антивирусов.
Финансов на покупку платных компонентов - 0р.
У меня ушла неделя.
УВАЖАЕМЫЕ АДМИНЫ, ЭТО НЕ ЗАКАЗ!!! ПОЖАЛУЙСТА НЕ УДАЛЯЙТЕ ЭТОТ ВОПРОС.
Да вообще пичалька, но мне из заказчиков выбирать не приходится. Изначальное ТЗ - мне нужен плеер + макет. Я описал примерно то, что получилось в итоге.
Профит, если судить по цене, действительно стремится к нулю.
Александр Таратин: если уж на то пошло, то я бы использовал Qt, немного не понимаю, что значит "генератор портабельных нативных приложений", но если что - меняем копирайты к qmake, качаем и упаковываем qt и c++ либы, а при распаковки - запускаем qmake; make; make install/checkinstall.
В итоге нам надо научить приложение управлять звуком (эквалайзер; громкость - это упрощённый эквалайзер, если "топорно") и.. всё. гг вп
Итого - QIODevice на фононовский MediaSource. И пара минут на настройку интерфейса.
Ещё вариант - Java. Здесь всё даже проще, правда от окружения потребуется инсталированная java. Настройки пусть берёт из xml рядом - быстро, удобно, надёжно. Интерфейс делаем на awt - получаем аккуратно-нативный интерфейс на всех платформах. Правда с прозрачностями проблема, в этом случае юзаем swing. В любом случае - на всё про всё не так много времени. Ещё немного на выбор библиотеки, которая будет звучать всеми цветами радуги, я как-то работал с javazoom. Ну и немного возимся с мутным look&feel. Вот на это вполне может уйти и неделя.
Deerenaros: Qt платный. Заказчику не нужен был плеер, ему был нужен генератор плееров. И заказчик не справился бы сам с qmake (с самим qmake может и справился бы, но с настройкой окружения - не думаю). Нужно было решение нажал на кнопочку - программа выплюнула новый exe.
>Интерфейс делаем на awt - получаем аккуратно-нативный
Нужен был нестандартный и вырвиглазный + с портабельностью готового готового exe были бы проблемы.
Deerenaros: Может я чего-то не знаю, но разве можно скомпилить awt c java и всеми зависимостями ( DirectSound? ) в единый exe, чтоб просто взял скопировал на древний XP и все работало?
>А в чём проблема сделать batch-скрипт?
У меня нет денег на qt. И представляете сколько времени будет длиться сборка qt программы со статической компоновкой всех библиотек? Минут 40?
Александр Таратин: да, вполне реально (и не нужны никакие directsound) упаковать JVM вместе со всеми зависимостями и самим приложениям.
И не надо статически линковать. Линкуйте динамически. И в принципе реально запихать зависимые библиотеки внутрь исполняемого, они всё таки вряд ли сильно мешаются. Единственная проблема - размер. Всё таки плеер размером в пару сотен мегабайт - странная штука.
xmoonlight
Велосипеда не изобреталось никакого, скажу лишь что использовалось enigmaprotector.com/ru/aboutvb.html
про остальные компоненты промолчу, так как не уверен действительно ли я поступил полностью легально (вроде бы да, кажется).
xmoonlight: Энигмавиртуалбокс бесплатен для использования в любых целях. + он нужен только на этапе заготовки болванки (назовем это постпредкомпиляция), которую использует сам генератор.
xmoonlight: https://yadi.sk/i/1-FhzsFSeBTQD
В финальной версии только as3(сам плеер) и с#(генератор)
+ куча кода на delphi которая успешно отправилась в помойку, так как изначально я плохо погуглил.
des1roer Какая разница? Есть задача. Нужно её решить. Способы и язык и либы можно выбрать любые. Изначально задачу заказчик описал вообще как - мне нужен плеер + макет в psd )