Какую платформу разработки следует использовать для настольных приложений Windows? - PullRequest
3 голосов
/ 23 мая 2009

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

Он совершенно непреклонен в использовании продуктов Microsoft. «Мы не хотим никаких открытых источников», - такова была его позиция.

Прошло довольно много времени с тех пор, как я действительно занимался разработкой десктопов, и большинство моих инструментов устарели, не имеют лицензии или просто утрачены. В последнее время я концентрируюсь на Л.А.М.П. приложения, но это не совсем переносится обратно в среду рабочего стола.

Некоторые опции:

database:  MySql (my fav), Access, MSSql
language:  C++, VB, PHP, Java, C#

Я тяготею к Access / VisualBasic не потому, что мне это очень нравится, а потому, что его легко установить и развернуть. Сервер базы данных (MySql, MsSql), вероятно, будет слишком сложным для развертывания / обслуживания для начинающего пользователя компьютера. Несмотря на то, что с точки зрения пуризма, C ++ - лучший язык, для запуска приложения (IMHO) потребуется слишком много усилий. Java слишком громоздка (опять же ИМХО).

Другое соображение - это стоимость. Хотя я могу убедить его приобрести надлежащие лицензии на программное обеспечение, но я, вероятно, не смогу заставить его приобрести необходимые инструменты разработки, и, конечно, проект не платит достаточно, чтобы оправдать значительные покупки, которые, вероятно, не будут использоваться снова. 1012 *

Буду очень признателен за ваш вклад в выбор платформы, инструменты разработки и платформы приложений.

Изменить 23 мая-09

Спасибо всем за ваш отличный совет.

Я остановился на C # Express. До сих пор я избегал изучения C #, но какой еще язык ?; и у меня есть целая неделя, чтобы набрать скорость.

Я сомневаюсь, использовать ли базу данных Access или MSSql (Express). С помощью Access я могу развернуть базу данных как отдельный файл, но MSSql требует, чтобы был установлен сервер базы данных. (AFAIK)

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

Ответы [ 10 ]

7 голосов
/ 23 мая 2009

Я бы пошел с Экспресс-версиями C # и MSSQL. Бесплатный и простой в использовании / настройке / развертывании. Вот более глубокая ссылка на некоторые общие материалы , в частности, об использовании редакций VS Express для приложений Windows.

2 голосов
/ 23 мая 2009

Я предлагаю: Просто используйте Access. Работает для небольших, простых, однопользовательских баз данных. Это не просто база данных, это также приложение базы данных и среда разработки приложений базы данных сами по себе. То есть: смешно быстро и легко собрать вместе БД, формы CRUD и простые отчеты; а встроенный VBA обрабатывает большую часть бизнес-логики, и вы всегда можете вызывать C # dll, если вам нужно сделать что-нибудь «интересное».

Просто скажите клиенту, что ему нужно одолжить вам производственную коробку на срок разработки (достаточно справедливо), и этот Access (не нужно упоминать, какая версия) стоит около 200,00 долларов.

Клиенты, которые не платят, получают то, что просят, а не то, что им нужно.

2 голосов
/ 23 мая 2009

C # + MSAccess / MSSql (экспресс) = прибыль.

Я точно не знаю ваших требований, но я бы предложил следующее:

Если у вас был бюджет:

  • Visual Studio Professional
  • MS SQL или Access
  • DevExpress Компоненты для форм и постоянство базы данных.

Если у вас нет бюджета

  • Visual Studio Express
  • MySql
  • NHibernate или Linq2Entities
  • WPF или Windows Forms
1 голос
/ 23 мая 2009

Рассматривали ли вы Delphi или C ++ Builder Есть бесплатных версий .

1 голос
/ 23 мая 2009

Я бы предпочел C # с MSSQL Express. Вы можете использовать Visual Studio Express Edition для вашей среды разработки.

1 голос
/ 23 мая 2009

Я не знаю, почему вы думаете, что другой механизм базы данных будет проще администрировать, чем MS SQL. Существует бесплатная версия MS SQL под названием «Express», которая может подойти. Он поддерживает все те же функции DDL и SQL, что и полный движок базы данных: в случае необходимости; он просто ограничен в размере и количестве процессоров.

Аналогичным образом, существует бесплатная / экспресс-версия инструментов разработчика, в которой не пропущена большая функциональность (в первую очередь, возможно, возможность написать программу установки, но есть и другие бесплатные способы сделать это). Я не знаю PHP или Java, но если бы мне дали выбор между C ++ и C # (я знаком с обоими), я бы сказал, что C # практически так же способен для большинства приложений, за исключением, возможно, программного реального времени немного проще и приятнее.

1 голос
/ 23 мая 2009

Microsoft Visual Studio имеет экспресс-выпуски, которые являются либо дешевыми, либо бесплатными. Тем не менее, выбор очевиден: Winforms с C # или Visual Basic .Net (это просто вопрос синтаксиса) разговаривают с бэкэндом MySql (для вопросов стоимости).

Microsoft Winforms великолепна, но ограничена Windows (несмотря на Mono). Наслаждайтесь проектом. На мой взгляд, это намного веселее, чем LAMP, но не настолько универсально.

Редактировать: Если у вас есть дополнительное время и терпение (конечно, вам придется съесть часы и не тратить время на обучение), хотя C # блестящий и очень зрелый (даже в .Net 1.1 это было :), вы можете написать приложение в одном из вариантов Python для .Net. Это то, что я бы сделал ... У Python огромное количество поклонников, и, вероятно, он появится когда-нибудь в будущем, не принадлежащем Microsoft. C # с другой стороны ... ну, если вы, Mono, можете это сделать, но в остальном это все равно, что учить итальянский: хорошо в Италии, но бесполезно в противном случае. (Я должен знать, я пишу это из своего места в Венеции ...)

0 голосов
/ 23 мая 2009

Если вам нужна локальная база данных, один файл (.dat) или рекомендуемый из IDE (berkeleydb) или Sphinxsearch (). Порядок сортировки по релевантности с помощью сводных таблиц - это часто то, что нужно пользователям, и база данных не требует только ввода-вывода в соответствии с тип документа или графики.

0 голосов
/ 23 мая 2009

Если вы разрабатываете приложение на рабочем столе. Я бы сказал

  • Язык сценариев: ASP.NET (C #)
  • База данных: MS SQL 2005
  • Сервер: Windows Server 2003 с IIS 6
0 голосов
/ 23 мая 2009

C # или VB.Net с SQLite.Net для базы данных. В значительной степени кросс-платформенный через доску.

...