Re[2]: Почему...
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 11.10.06 05:45
Оценка:
Здравствуйте, Nuald, Вы писали:

[skip]

N>Каждый выбирает сам тот уровень, на котором ему проще и удобней писать.


С данным тезисом согласен. Однако глядя на засилие текстовых редакторов, файл-менеджеров, браузеров и т.д, которые написаны с нуля (многие поддерживают плагины, причём плагины для них так и не пишутся), я удивляюсь: каким же образом люди выбирают платформу?

Давайте рассмотрим конкретный пример. Есть три программиста: A, B, C. A пишет новый навороченный xml-редактор. B пишет тектовый процессор, который сохраняет документы в новом открытом формате. Наконец, С пишет редактор uml-диаграмм с поддержкой печати.

Теперь некто (D) использовал текстовый процессор, написанный B и заметил, что новый открытый формат документов, если документ написан по определённому шаблону, неплохо конвертируется в XHTML, и наоборот. Соотвественно, D решил написать браузер + редактор XHTML.

Пусть все они работают по стандартной схеме: каждый пишет приложение с нуля. Появляется три незваисимых программных продукта. Вероятно, каждый из них предоставит dll-ку со своими контролами и документацию к ним. Тогда D останется взять компоненты (XmlEditor, DocumentEditor, PrintController; UmlEditor ему не понадобится), прочитать документацию, заставить их работать вместе. Причём, ему придётся правильно реагировать на нажатие кнопки "Вырезать" — перенаправлять обращение к открытому в данный момента окну с одним из двух компонентов. Или, скажем, A предусмотрел навигацию в виде докающегося окна (view) с изображением DOM-дерева и D оценил идею. Т.е. D должен явно создать view, прилепить на него нужный контрол, к нему в свою очередь контекстное меню и заставить всё это нормально работать.

Пусть теперь кадлый решил делать всё это как плагин к некоторой платформе наподобие Eclipse, не обязательно заточенной под написание программ. Тогда A, B и C пишут плагины. Причём, они могут написать по несколько плагинов, например C пишет плагины: для поддержки редакторов диаграмм вообще, редактор UML, менеджер печати, плагин для печати на принтер, плагин для печати в PrintPreview. Каждый делает пакет из плагионов, приложение. Тогда D остаётся отобрать нужные плагины из приложений A, B, C, правильно их связать, может быть, написать свой плагин (для поддержки загрузки документов по HTTP) и выложить всё это как приложение "Браузер + XHTML редактор". Все нужные фичи из приложений A, B и C получаются автоматом. В результате D просто сэкономил своё время, причём исключил написание весьма однообразного кода.

Так вот меня интересует вопрос: почему первый подход сейчас распространён гораздо меньше второго? Почему не понаписано платформ, заточенных под решение целых классов крупных задач, или хотя бы того класса, который я описал?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.