На чем лучше всего писать Windows приложение?

Есть задача, написать приложение для гос. нужд по Windows.
И думаю, на чем писать.

.NET всем хорош, но framework нужно будет заставлять устанавливать (не везде он стоит еще по дефолту, поверьте мне).

А вы бы на чем предложили написать небольшое отдельное приложение для мат. расчетов?
  • Вопрос задан
  • 29887 просмотров
Пригласить эксперта
Ответы на вопрос 15
deactivatedtheelephant
@deactivatedtheelephant
Мда напомнило:

XXX: Если бы компьютер был стройкой, то на просьбу посоветовать инструмент для забивания гвоздя большинство окружающих посоветовали бы использовать различные модели пизженых со склада микроскопов, поливая говном микроскопы других производителей, и только пара человек молча протянули бы молоток.

YYY: Причем из этих двух молотков, один был бы самодельной киянкой!

XXX: Точно. А еще кто-нибудь заявил бы, что все ламеры, а вместо гвоздя нужно использовать шуруп.

YYY: И предложил бы свой вариант самореза с правой резьбой под шестигранную отвертку с логотипом Sun…

XXX: А потом кто-нибудь прийдет и скажет, что посадил все на суперклей и вроде стоит.

YYY: А кто то будет причитать про то, что раньше вообще без гвоздей строили и стояло века…
Ответ написан
S_talker
@S_talker
Боюсь напороться на лютоминусующих антидельфистов, но…
Если ситуация такова, что не везде даже .NET установлен (что значит максимум XP с ранними SP или вообще без них), то железо должно быть не особо мощное. Почему бы не попробовать Delphi? Как по мне — фреймворка лучше для разработки Win32-приложений, не требующих .NET, не найти. На выходе будет native виндовое приложение, которое (при нужных навыках) быстро разрабатывается и легко расширяется. Кроме того, последние Delphi IDE (версии 2007+) относительно пригодны для комфортного девелопинга.
Ответ написан
@v1z
Вот тут я задавал подобный вопрос — habrahabr.ru/qa/1894/

Остановился на C# + winforms, хоть и не имел опыта кодинга (только веб), разобрался довольно быстро. В инете куча документации, проблемы решаются быстро, и больше половины задуманных фич можно реализовать интуитивно.

Да, придётся заставлять установить фреймворк, это минус. Но в моем случае это не особо критично т.к. я сам являюсь сисадмином, и на нужные компы сам могу его установить.
Ответ написан
Atrax
@Atrax
Приложение для «гос.нужд» потребует еще и документации по внедрению, в котором можно прописать искомый фреймворк. Так что не тушуйтесь :) ставить его — задача системного администратора, если программа нужна, то его этим озадачат.
Ответ написан
kosmonaFFFt
@kosmonaFFFt
Senior Java Developer.
Или просто С++ c Qt — ИМХО довольно удобная штука для разработки…
Ответ написан
@asArtem
если .net хотя бы 2.0 не стоит, то его немедленно стоит ставить. По под windows + 2010 без dotNet не имеет смысла и не актуальности.
Ответ написан
@si14
Чем плох Python + PyQt/wx, запакованный в один .exe? На нём же можно и математику написать, взяв тот же PyPy и какую-нибудь либу для математики (numpy тот же).
Ответ написан
Kalantyr
@Kalantyr
В последнее время стало модно писать для Windows на Silverlight. Поставить плагин к браузеру всё-таки проще, чем целый фрэймворк, и исчезает проблема автоматического обновления приложения.
Начиная с 4- версии Silverlight позиционируется не только как веб-клиент, но и как Windows-приложение (про это много говорил товарищ Черномордиков).
Однако нужно учесть, что Silverlight-приложения по задумке должны общаться с внешним миром в основном через веб-сервисы (хотя есть возможность работать с файлами в личной папке и взаимодействовать с MS-Офисом и пр.).

Если приложение сложное, требуется прямой доступ к БД, требовательно к аппаратным ресурсам или должно получать доступ к системным файлам — тогда WPF.

Сам сейчас разрабатываю большую корпоративную систему документооборота, весь интерфейс на Silverlight. В 99% случаев для бизнес-задач этого достаточно.
Ответ написан
@metanol
> А вы бы на чем предложили написать небольшое отдельное приложение для мат. расчетов?
Ответ написан
Bright
@Bright
Попробуйте wxWidgets. Получите native приложение для Windows + возможность относительно легко перенести приложение на другие платформы (на случай перехода упомянутого гос. учреждения на Linux).

В целом, wxWidgets — довольно приятный в работе фреймворк. Недостатком можно считать скромное (по сравнению с другими) количество документации, но могу сказать, что официальных доков, книги Джулиана Смарта, нескольких статей на русском и примеров с официального сайта вполне достаточно, чтобы решить большую часть вопросов, возникающих в процессе работы.
Ответ написан
pietrovich
@pietrovich
.net всем хорош, требование установить фреймворк за минус не считаю. однако для математики есть Fortran и иже с ним, вот их я в .net и не припомню. хотя нет, нашел кое что — www.lahey.com/
если их скрутить, в сети есть примеры, то должно быть удобно — формочки-фигормочки на C#, вычисления на Fortran ;)
Ответ написан
@redsh
вообще-то не стоит отказываться от .NET при разработке «стационарного» приложения только из-за необходимости установки фреймворка. C# вполне хороший выбор для написание приложения чисто под Windows.

если нужно написать именно небольшую, портабельную программку, можно воспользоваться C или C++

также можно написать на Java. но придётся немало помучится тупо с настройкой среды, и JRE всё равно придётся ставить на клиентские машины. зато будет кроссплатформенно. если кросплатформенность не нужна, лучше C#.
Ответ написан
@metanol
> .NET всем хорош, но framework нужно будет заставлять устанавливать

Можно использовать Xenocode Virtual Application Studio или аналоги, которые завернут вашу прогу в один бинарник с .Net Framework (т.е. не зависят от установленного и не ставят его в систему). Основной недостаток — заметное время запуска.
Вроде бы есть бесплатный вариант приготовления этого же самого на основе mono mkbundle (в т.ч. для windows) но не пробовал.
Ответ написан
Shirixae
@Shirixae
Для GUI — QT, который и кроссплатформенный, и не требует за собой тащить фреймворк, все в либах. А уж что внутри — выбирайте сами.
Ответ написан
В Excel на VBA - для расчётов самое оно.

Microsoft Office стоит на всех компьютерах, поэтому такое приложение можно будет запустить везде и всегда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы