Будет разрабатываться десктопное приложение средней сложности по работе с графикой "для домохозяек" с поддержкой 32/64. Последний раз разрабатывал приложение на VS2008 и сильно отстал от времени. Что сейчас актуально выбрать с перспективой не отстать от времени на несколько лет?
Кстати в VS2008 по работе с графикой использовал GDI+. Есть ли сейчас что-то лучше? (GDI+ устраивал полностью)
Здравствуйте, Submitter, Вы писали:
S>Будет разрабатываться десктопное приложение средней сложности по работе с графикой "для домохозяек" с поддержкой 32/64. Последний раз разрабатывал приложение на VS2008 и сильно отстал от времени. Что сейчас актуально выбрать с перспективой не отстать от времени на несколько лет?
vs 2013 update 3, update 4 в RC стадии
S>Кстати в VS2008 по работе с графикой использовал GDI+. Есть ли сейчас что-то лучше? (GDI+ устраивал полностью)
ну дак и юзай дальше какойто там страшный баг нашли были в 2014 но уже закрыли
Здравствуйте, Submitter, Вы писали:
S>Будет разрабатываться десктопное приложение средней сложности по работе с графикой "для домохозяек" с поддержкой 32/64. Последний раз разрабатывал приложение на VS2008 и сильно отстал от времени. Что сейчас актуально выбрать с перспективой не отстать от времени на несколько лет? S>Кстати в VS2008 по работе с графикой использовал GDI+. Есть ли сейчас что-то лучше? (GDI+ устраивал полностью)
Если приложение только под винду будет, то нет особого смысла переходить. Если кроссплатформенное, то я бы задумался об отказе от gdi и переходе на сборку на cmake + gui на Qt/wxwidgets.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали: V>Если приложение только под винду будет, то нет особого смысла переходить. Если кроссплатформенное, то я бы задумался об отказе от gdi и переходе на сборку на cmake + gui на Qt/wxwidgets.
Микрософт для некорпоративного использования 13 студию бесплатно распространяет, почему бы не перейти на нее. В случае MFC там добавили много интерфейсных фич типа риббона и пр. И сам редактор по подсветке кода гораздо приятнее чем 2008.
Здравствуйте, Serpuh, Вы писали:
V>>Если приложение только под винду будет, то нет особого смысла переходить. Если кроссплатформенное, то я бы задумался об отказе от gdi и переходе на сборку на cmake + gui на Qt/wxwidgets. S>Микрософт для некорпоративного использования 13 студию бесплатно распространяет, почему бы не перейти на нее. В случае MFC там добавили много интерфейсных фич типа риббона и пр. И сам редактор по подсветке кода гораздо приятнее чем 2008.
скорее всего автору придётся код перводить и приложения, и библиотек на неё, это не всегда возможно и нужно
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали: V>скорее всего автору придётся код перводить и приложения, и библиотек на неё, это не всегда возможно и нужно
Как говориться попытка не пытка. Я переводил MFC приложение с 2008 на 2010. Да, там повылазили ошибки, но ничего сложного. К тому же 2013 поддерживает новый стандарт С++, что полезно для изучения.
Здравствуйте, Submitter, Вы писали:
S>Будет разрабатываться десктопное приложение средней сложности по работе с графикой "для домохозяек" с поддержкой 32/64. Последний раз разрабатывал приложение на VS2008 и сильно отстал от времени. Что сейчас актуально выбрать с перспективой не отстать от времени на несколько лет?
S>Кстати в VS2008 по работе с графикой использовал GDI+. Есть ли сейчас что-то лучше? (GDI+ устраивал полностью)
Зависит от того какая минимальная версия Windows будет поддерживаться. Если минимальная версия это XP то VS2010 и GDI+
Если минимальная версия будет W7 то последняя VS + Direct2D/DirectWrite.
GDI+ умерла концептуально. Ибо это сугубо CPU based rendering. Да еще и криво написанное.
Если приложение допускает full screen, да на retina grade monitors, то единственная опция это Direct2D ибо это GPU рисование.
15" retina monitor это 2880×1800 = 5,184,000 pixels
15" standard monitor это 1280×800 = 1,024,000 pixels
Т.е. CPU должен быть в 5 раз мощнее чтобы заполнить retina экран. Но CPU настолько не улучшились в последнее время.
Единственная опция это GPU drawing.
Это если закладываться хотя бы на завтрашний день.
Если это кому-то интересно то у меня в Sciter используется abstract class graphics; у которого две имплементации: GDI+ (на XP) и Direct2D на других Windows. В зависимости от версии Windows выбирается та или иная.
Здравствуйте, SaZ, Вы писали:
SaZ>Здравствуйте, Submitter, Вы писали:
S>>Что сейчас актуально выбрать с перспективой не отстать от времени на несколько лет?
SaZ>Qt
А за что человеку минусов наставили? Совет то не плохой. Если приложение только только начинает разрабатываться, можно без сложностей перевода начать ее писать на Qt. Я сам был перед таким выбором 5 месяцев назад. Сейчас же я уверен на 100% в правильности выбора библиотеки. Я забыл что такое качать куски кода из кодепрожекта какого нибудь, что бы добавить новый функционал. Qt не просто GUI библиотека, она перекрывает процентов на 90 потребностей. В итоге я еще получил бесплатный бонус кроссплатформенности.
Здравствуйте, Denwer, Вы писали:
Если приложение только только начинает разрабатываться, можно без сложностей перевода начать ее писать на Qt. Я сам был перед таким выбором 5 месяцев назад. Сейчас же я уверен на 100% в правильности выбора библиотеки.
Здравствуйте, о_О, Вы писали:
о_О>Здравствуйте, Denwer, Вы писали:
D>>А за что человеку минусов наставили? о_О>это далеко не бесплатно, нужно лицензировать.
Во-первых, лицензировать нужно и студию от МС. А во-вторых, можно использовать опенсорсную Qt, просто билдеть тогда придется с динамической линковкой, лично я минусов не вижу в этом. Ну и не забываем что у Qt есть очень не плохая среда разработки, которая заточена под саму же либу. Так что с Qt можно вообще ничего не покупать.
Здравствуйте, Serpuh, Вы писали:
S>Здравствуйте, Denwer, Вы писали: S>Если приложение только только начинает разрабатываться, можно без сложностей перевода начать ее писать на Qt. Я сам был перед таким выбором 5 месяцев назад. Сейчас же я уверен на 100% в правильности выбора библиотеки.
S>На чем пишешь, обычный GUI или QML?
Без использования QML, в моем случае он никак бы не упростил реализацию.
Здравствуйте, о_О, Вы писали: о_О>Правда? За каждый месяц? Сам-то будешь платить 15000руб. месяц?
Проглядел, я почему-то подумал, что у них саппорт месяц за эту цену. Интересно, а сколько у них стоит бессрочная лицензия? До кризиса где-то проскакивала цена 120 тыс.руб.
Здравствуйте, c-smile, Вы писали:
CS>Если это кому-то интересно то у меня в Sciter используется abstract class graphics; у которого две имплементации: GDI+ (на XP) и Direct2D на других Windows. В зависимости от версии Windows выбирается та или иная.
Это все на самом деле зависит от того, что нужно нарисовать. В большинстве приложений GDI/GDI+ вполне хватает. Вон, например Visio 2010 (и более ранние Visio) — все без проблем и под XP без direct2D работает. И на Retina в том числе. А вот если (как тут у некоторых бывает) нужно нарисовать 8 миллиардов квадратов на экране одновременно, то ни что не спасет даже на 800*600
D>>>А за что человеку минусов наставили? о_О>>это далеко не бесплатно, нужно лицензировать.
D>Во-первых, лицензировать нужно и студию от МС. А во-вторых, можно использовать опенсорсную Qt, просто билдеть тогда придется с динамической линковкой, лично я минусов не вижу в этом. Ну и не забываем что у Qt есть очень не плохая среда разработки, которая заточена под саму же либу. Так что с Qt можно вообще ничего не покупать.
Согласен, не вижу проблем совсем. Собрал динамически и вперёд.
Можно даже нигде не упоминать что используется Qt (но я в About линку оставил, не жалко)
+ к QtCreator есть плагин к студии который сделать по pro, vcxproj.
Я вообще большую часть разработки под Win веду в студии 2010-й еще, всё-таки студия очень удобная IDE + плагины.
А вот релиз собираю в QtCreator под всеми платформами.
Здравствуйте, nen777w, Вы писали: N>Согласен, не вижу проблем совсем. Собрал динамически и вперёд. N>Можно даже нигде не упоминать что используется Qt (но я в About линку оставил, не жалко)
А разве с бесплатной лицензией ты не обязан представлять свои исходники?
S>Здравствуйте, nen777w, Вы писали: N>>Согласен, не вижу проблем совсем. Собрал динамически и вперёд. N>>Можно даже нигде не упоминать что используется Qt (но я в About линку оставил, не жалко)
S>А разве с бесплатной лицензией ты не обязан представлять свои исходники?
LGPL-жеж. Если ты что то правил в Qt то обязан предоставить что правил.
Но я вот qmake каждый раз правлю с выходном нового релиза либы, я им предоставлял, и даже объяснял
Здравствуйте, aloch, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
CS>>Если это кому-то интересно то у меня в Sciter используется abstract class graphics; у которого две имплементации: GDI+ (на XP) и Direct2D на других Windows. В зависимости от версии Windows выбирается та или иная.
A>Это все на самом деле зависит от того, что нужно нарисовать. В большинстве приложений GDI/GDI+ вполне хватает. Вон, например Visio 2010 (и более ранние Visio) — все без проблем и под XP без direct2D работает. И на Retina в том числе. А вот если (как тут у некоторых бывает) нужно нарисовать 8 миллиардов квадратов на экране одновременно, то ни что не спасет даже на 800*600
Я не знаю чем рисует Visio. Под рукой нет. Но вот Sciter можно запустить в GDI+ моде в т.ч. на W7/W8 — там всё видно:
{sciter-sdk}/bin/sciter.exe -sciter-gfx=gdi
window resize тривиальный хотя бы. Ну и примеры из
{sciter-sdk}/samples/animations/
CPU(a.k.a. battery) consumption тоже полезно глянуть.