2009-07-07 2 views
1

Скажите, если вам нужно было разработать приложение для настольных компьютеров с большими окнами, какой язык/технология, по вашему мнению, будет поддерживаться дольше MS (или производителем, если не MS-продуктом)?Desktop Application Longevity

Какой язык/каркас предоставит приложение большую долговечность без необходимости его адаптации или перезаписи, чтобы работать в новых версиях окон по мере их выпуска?

C++ Win32 API? (Будет MS когда-либо переписать те?)

C# .NET? WPF?

Delphi, wxWidgets, Qt или какая-либо другая сумасшедшая вещь?

Пожалуйста, ради аргумента не останавливайтесь на других аспектах вопроса. Что даст приложение больше жизни, это вопрос здесь.

+1

Visual FoxPro (извините, не смог удержаться) – Evan

+0

Это зависит от того, какой тип приложения вы планировали. вам нужен низкоуровневый доступ win32 или ваше приложение имеет огромный доступ к БД, опишите его. –

ответ

2

Там действительно нет безопасной ставки. Просто выберите один из основных и надейтесь на лучшее.

Мой работодатель делает приложение с окнами на 2 миллиона строк, первоначально начатое в 1995 году. В то время, когда они знали, что это станет большой долгоживущей базой кода, они столкнулись с таким же выбором. В то время java ничего не было, .NET не существовало, qt и wxwidgets были бессмысленными пятнами на горизонте. Выбор был C++/MFC, Delphi и VB. Они выбрали Delphi, потому что VB не казался достаточно мощным, и C++ казался слишком сложным, чтобы переучивать существующих разработчиков.

Delphi была и является самой маленькой платформой на рынке этих трех, но на удивление она оказалась лучшим выбором. Не было серьезных усилий по переносу, которые произошли в мире VB с .NET-переходом. В то же время Delphi продолжает работать с новыми окнами api, поскольку они были введены. Реально, потому что это более высокий уровень, чем C++, кодовая база оказалась вполне управляемой для небольшой команды.

Все это означает, что вы никогда не знаете, делаете ли вы правильный выбор. Если вы выберете одну из основных платформ, вполне вероятно, что у вас будут разумные пути обновления. Скорее всего, но не данный.

+0

, если бы вы сделали этот выбор сегодня, что бы вы выбрали? – OldJim

0

Большая часть .NET работает поверх Win32. Прошло много времени, и, вероятно, он будет хорошо поддержан в будущем.

+1

Microsoft активно пытается убить Win32. Я не вижу, чтобы они преуспевали очень быстро, но им нужно продолжать попытки. –

0

Я поеду на Java + SWT, который даст вам абсолютное естественное чувство. Я думаю, что SWT - это как-то реинкарнация wxWidget в Java-мире. Однако вы можете запускать его на другой платформе.

+0

К сожалению, у меня уже не было приложений Java при обновлении моей версии JRE. Я не уверен в том, что он работает «долгосрочно» без необходимости вносить изменения и изменения со временем в будущем. – scwagner

+0

Это очень печально, что слышать. У меня создалось впечатление, что Sun прилагает много усилий для поддержания обратной совместимости для каждой версии. – janetsmith

+0

Даже при написании родной программы c может возникнуть проблема с каждым обновлением Windows. Вам очень сложно вернуть обратно ОС, чтобы запустить вашу проблему. Однако в случае Java, что вам нужно сделать, просто установите еще одну JRE на свой компьютер и переключитесь на нее. Вы даже можете установить несколько версий JRE на одном компьютере. :) – janetsmith

0

Win32 - это безопасная ставка для таргетинга, если вы заинтересованы в работе в Windows с прицелом на то, когда она станет устаревшей. Это подразумевает, что на Win32 есть несколько библиотек, которые будут соответствовать вашей цели.

Помня о том, что, хотя Windows имеет прочную потребительскую базу в течение самого долгого времени, мы видим изменения, когда они пытаются отойти от Win32. Они обладают значительно меньшей производительностью для создания кода низкого уровня (Vista, Windows 7) и улучшений своих операционных систем, вместо этого полагаясь на одно и то же ядро ​​кода ядра и реализации пользовательского пространства. Для меня это знак компании, которая не всегда может быть самым мудрым инвестированием.

Итак, может быть хорошей новостью знать, что проекты, подобные WINE, скорее всего, продолжит реализацию «бесплатной» версии Win32 долго после ее отказа от Microsoft. Как бы то ни было, как люди получают эмуляторы Commodore 64 или NES;) Либо компания, занимающая совершенно новое направление, либо размываемая конкуренцией (Linux).

Итак, если это сейчас Windows, любая библиотека, которая, как сообщается, хорошо работает поверх WINE. Если вы можете дать представление о платформе, не основанной на Windows, вы сможете воспользоваться преимуществами бесплатного программного обеспечения с открытым исходным кодом! Программное обеспечение, которое чаще всего может работать в Windows и бесчисленных других платформах.

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

Я нахожу, что приложения Java имеют самый длинный срок службы, и когда закодированные права работают на всех платформах таким образом, который просто дает мне шум!

Но опять же, не пытаясь отвезти вас в любом направлении. Это просто пейзаж вещей :)

+0

Лично я ожидаю, что Великое Воссоединение по дороге кусок для Java и .Net, хотя культура вокруг каждого, а также давление со стороны Уолл-стрит не позволят этому скоро случиться. Но если Oracle покупает Sun, тогда Microsoft покупает Oracle .. – Bob77

0

Я уверен, что .net будет поддерживаться в течение длительного времени.

+1

Может быть. но какие рамки? : P –

+0

;-) Это хороший вопрос. Я бы пошел на самую последнюю доступную, а затем, если потребуется, обновить. приложения .net 2.0 все еще работают. – Shoban

+1

Я думаю, что способ кодирования выполняется в одной структуре, резко меняющейся в следующих рамках. кроме того, MS может отказаться от поддержки старых фреймворков. даже не уверен, что будущие рамки будут совместимы со старыми. например (1.1 и 2.0) –

0

Если вы создаете большое приложение, оно все равно будет нуждаться в техническом обслуживании. Время от времени это потребует изменений для поддержки новой ОС.Подойдите к этому :)

Я не думаю, что Microsoft собирается что-то убрать, но иногда они могут несовместимо менять.

Мы запускаем наши приложения в «облаке», предоставляя SaaS людям, и даже нам нужно менять материал для новых ОС, поскольку старые перестают поддерживаться поставщиками оборудования.