Мне было интересно, какие преимущества/недостатки использования Microsoft Access можно сравнить с созданием собственного приложения C#. Время выполнения такое же? Его время уже прошло?

4
xmb6 2 Сен 2010 в 17:36

4 ответа

C# — это общая среда разработки, предназначенная для создания всех возможных приложений.

Access — это инструмент разработки, специально разработанный для одной цели, т. е. для создания внешних интерфейсов к базам данных.

Все компоненты в Access предварительно созданы, чтобы максимально упростить взаимодействие с данными.

Хотя для C#, безусловно, существуют библиотеки и элементы управления, предназначенные для взаимодействия с базами данных, общая среда разработки менее интегрирована с конкретной целью создания приложений баз данных.

Компоненты Access, связанные с базами данных, также являются более зрелыми, чем все, что можно было бы разработать для C#, поскольку Access существует примерно в два раза дольше. Это также имеет свой недостаток, поскольку некоторые предположения о том, как все должно работать в Access, не работают в современной среде (Access был создан до того, как Интернет появился где-либо за пределами академических кругов).

Я думаю, что можно выбрать C# в качестве платформы разработки для приложения базы данных, если:

  1. доступные разработчики уже являются знатоками C#, знакомыми с созданием интерфейсов баз данных, И

  2. у вас есть необходимость распространять свое приложение среди очень большого числа пользователей.

Развернуть Access несколько сложно, и в крупных организациях, когда вы амортизируете экономию на RAD по сравнению с большим количеством рабочих столов, она быстро становится ничтожной по сравнению с расходами, связанными с проблемами развертывания Access, по сравнению с автономным исполняемым файлом без зависимостей во время выполнения.

Но мы говорим о чем-то значительно выше 100 рабочих столов, где линия пересекается (и, возможно, ближе к 500 или 1000), на мой взгляд.

3
David-W-Fenton 2 Сен 2010 в 22:52

У Access есть много плюсов, если вы имеете дело с данными. Одним из ключевых моментов, который нужно сделать, является разделение в вашей голове «Access» (студия разработки RAD, где вы создаете код форм, отчетов и т. д.) и «Jet» механизма базы данных, который поставляется в комплекте с Access.

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

У вас также есть отличный встроенный пакет отчетов и легкий доступ к другим приложениям MS Office (например, отправка почты через Outlook)

Access приобрел несколько плохую репутацию в ИТ-кругах, поскольку ИТ-отделы и раньше были обожжены из-за необходимости поддерживать какое-то плохо составленное приложение, из которого первоначальный «разработчик» давно ушел. Дело в том, что любой язык может быть использован для создания плохого приложения, но поскольку больше людей имеют доступ к err access, это увеличивает шансы того, что кто-то, кто не является разработчиком, делает ошибки!

2
Kevin Ross 2 Сен 2010 в 18:41
Ситуация с Access аналогична ситуации с HTML. HTML, который вы найдете там в дикой природе, в основном ужасен и ужасен - он не будет проверяться, и это просто "суп из тегов". Но это легко, и люди могут заставить его работать, а браузеры очень снисходительны, так что в результате можно делать полезные вещи с помощью плохого HTML. Доступ очень похож - тот факт, что так много людей могут создавать кучу дерьма с его помощью, является ФУНКЦИЕЙ, а не ОШИБКОЙ.
 – 
David-W-Fenton
2 Сен 2010 в 22:39

По моему не столь скромному мнению, большими преимуществами MS Access являются низкая кривая обучения и то, что так много уже сделано для вас. Простые приложения могут быть созданы неподготовленным канцелярским работником.

Это тоже один из самых больших минусов. Приложения MS Access часто впервые запускаются полными новичками, и они могут доставить себе массу неприятностей. Довольно часто они доходят до того, что зависят от приложения, которое было создано для выполнения их работы, но его необходимо расширить, или оно стало неуправляемым из-за некоторых ранних «решений», которые они приняли, когда впервые начали его создавать ( например, используя какой-то удобочитаемый ключ для ссылки на другую таблицу, без ограничений целостности и т. д., и теперь у них намного больше данных, чем было в начале).

Обычно к тому времени, когда я это вижу, нужно проделать большую работу, чтобы отменить предыдущую работу «разработчика». И иногда это будет стоить больше времени, чтобы исправить это, чем начать сначала.

Оставленный в руках профессионала, он отлично подходит для создания быстрых простых приложений. Можно и более сложные, если ими занимается профессионал. Будь моя воля, мы бы просто раздали рабочую версию, а полную оставили ИТ-специалистам.

1
BIBD 2 Сен 2010 в 18:52
1
Ах, но те недостатки, о которых вы говорите, на самом деле хорошие вещи. Во-первых, они не использовали Excel. Тот факт, что эти базы данных выросли и стали критически важными, также означает, что ИТ-отдел должен проверять их и очищать. Профи.
 – 
Tony Toews
2 Сен 2010 в 21:08
Я никогда не обнаруживал, что одно из этих приложений настолько плохо, что его нужно выбросить и начать заново (и большая часть моей работы состоит в том, чтобы брать на себя такие приложения и приводить их в соответствие с новыми потребностями/требованиями). И, честно говоря, именно приложения, разработанные самопровозглашенными «профессиональными разработчиками Access», зачастую самые худшие! Те, что создаются регистратором или летним стажером, почти всегда представляют собой операции «укажи и щелкни» с кучей макросов и небольшим количеством кода, сгенерированного мастером. Они часто имеют денормализованные схемы, но приложения тривиальны.
 – 
David-W-Fenton
2 Сен 2010 в 22:42
...в отличие от созданных "профи", где зачастую все на порядок сложнее, чем нужно. С другой стороны, у них часто есть лучшие схемы, но это полностью компенсируется тем, сколько времени требуется, чтобы распутать беспорядок.
 – 
David-W-Fenton
2 Сен 2010 в 22:43
@ Тони, я бы сказал, что пользователи гораздо раньше понимают, что у них проблемы с Excel, когда они видят страницы и страницы данных. Что-нибудь, чтобы привести их к ИТ раньше.
 – 
BIBD
3 Сен 2010 в 00:05
@ Дэвид, если ты никогда не находил его, мальчик, у меня есть один для тебя, чтобы увидеть. Он был создан кем-то с докторской степенью, не связанной с ИТ-дисциплиной. Хуже всего то, что я могу сказать, что они думали об этом, когда строили его. Но он глючный, полный магических чисел, полный глобальных переменных, поток программы и изменения пользовательского интерфейса расходятся с любым известным стандартом, метки действуют как кнопки, кнопки действуют как метки, и он перезаписывает себя на лету. Математика сделана, это будет стоить больше, чем переписать или купить новый. Так что это будет продолжаться, бородавки и все такое, пока замена не будет вписана в бюджет.
 – 
BIBD
3 Сен 2010 в 00:32

Преимуществами являются предварительно созданная функциональность, а также возможность написания пользовательского кода при необходимости. Конечно, все это можно сделать на C#, просто это не так просто.

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

0
JeffO 2 Сен 2010 в 18:54