Я трачу свое время, разрабатывая свои компоненты ASP.NET для инструментов WYSIWYG?

Несколько дней назад я прочитал вопрос о том, сколько разработчиков вручную кодируют свой HTML/XHTML, а не полагаются на инструменты WYSIWYG - https://stackoverflow.com/questions/406052/do-most-web-программисты-не-дизайнеры-используют-wysiwyg-редакторы-или-ручной-код-их

Я склоняюсь к разработке серверных элементов управления ASP.NET, а не пользовательских элементов управления для использования в моем коде. Я делаю это, чтобы повторно использовать их, перетаскивая в WYSIWYG и просто устанавливая несколько соответствующих свойств. Это требует немного больше времени на разработку компонентов, но значительно упрощает работу, когда я прихожу к их использованию в более крупных приложениях.

Прочитав о том, что большинство разработчиков, похоже, отдают код, а не используют WYSIWYG, я задаюсь вопросом: не трачу ли я таким образом свое время на разработку компонентов?

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


person BenAlabaster    schedule 07.01.2009    source источник
comment
Кажется, что некоторые люди неправильно понимают исходную тему (или, может быть, я). Я предполагаю, что он спрашивает, является ли разработка серверных элементов управления для собственного удобства при работе с редактором VS WYSIWYG пустой тратой времени.   -  person TheTXI    schedule 07.01.2009


Ответы (13)


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

person Jeremy    schedule 07.01.2009

Вы можете создать UserControl и, используя различные методы, скомпилировать его в dll, на который затем могут ссылаться ваши веб-приложения:

Обзор некоторых методов: http://geekswithblogs.net/dotnetrodent/archive/2006/06/16/82136.aspx

Подробный метод: http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx

Я никогда не использую инструменты WYSIWYG, потому что это никогда не будет действительно WYSIWYG, если вы используете javascript, CSS и другие вещи. (Я знаю, что VS2008 стал лучше, но не идеален). А дизайнеры всегда ооочень медленные. Я предпочитаю кодировать с помощью разметки.

Если вы разрабатываете коммерческий компонент, который собираетесь продавать, вам следует потратить время на получение наиболее полного набора функций, ИМХО. В том числе WYSIWYG. Если вы создаете компоненты так, чтобы их могли использовать вы или ваша команда, вам следует оценить экономическую выгоду от времени, необходимого для получения ваших компонентов на этот дополнительный шаг.

person JoshBerke    schedule 07.01.2009
comment
+1 Отличные ссылки, которых я раньше не встречал. Я никогда не рассматривал этот вариант, поскольку пользовательские элементы управления никогда не отображаются должным образом в WYSIWYG, если вы учитываете закулисное сумасшествие, такое как динамическое отображение данных ... - person BenAlabaster; 07.01.2009
comment
я стараюсь избегать пользовательских элементов управления, как чумы - person Shawn; 07.01.2009
comment
У меня есть несколько довольно сложных страниц, по 7 вкладок, каждая с сетками и всевозможными функциями. Мы разбили его на пользовательские элементы управления, чтобы несколько человек могли работать над ним одновременно, и, что более важно, свести к минимуму то, о чем вы должны думать, работая над ним. Тогда мы смогли сделать так, чтобы три вкладки использовали один ctrl :) - person JoshBerke; 07.01.2009

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

Лично я обычно использую код HTML/XHTML, но иногда мне нравится использовать функциональность WYSIWYG. Я всегда обнаруживал, что элементы управления, совместимые с WYSIWYG, проще в использовании, чем элементы управления, в которых весь код писался вручную.

person Esteban Brenes    schedule 07.01.2009

Для вашего собственного использования вы уже знаете, тратите ли вы свое время впустую или нет.

[я вхожу в карма-бомбоубежище]

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

Я думаю, что очень немногие веб-разработчики будут серьезно относиться к предложениям WYSIWYG, однако, если большинство может использовать ваши элементы управления на уровне ручного кода, а меньшинство может выполнять перетаскивание, то вы предоставили преимущество выбора, которое никогда не бывает откровенно плохим. . За исключением, возможно, случаев, когда речь идет о маленьких детях и хорошем поведении.

person annakata    schedule 07.01.2009
comment
Когда вы говорите, что не будете воспринимать это всерьез — как насчет чего-то вроде GridView, где гораздо проще перетаскивать и устанавливать основные параметры, чем вручную кодировать все это. Конечно, проще перетащить, настроить, а затем вручную погладить полученную разметку? - person BenAlabaster; 07.01.2009
comment
@balabaster: GridView — один из примеров элемента управления с наибольшим количеством недостатков. По умолчанию Microsoft не отображает эти элементы таким образом, чтобы вы, например, могли легко применить к ним стили. Хотя для этого и существуют адаптеры управления. - person John Dunagan; 08.01.2009
comment
Это первая и вторая причины, почему мне не нравится ASP.Net как язык шаблонов. - person annakata; 09.01.2009

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

person TheTXI    schedule 07.01.2009

Я думаю, что вы должны принять этот опрос с недоверием. Тот факт, что большинство людей на Stack Overflow говорят, что они вручную кодируют свой HTML, не означает, что так делает большинство веб-разработчиков. Например, такие инструменты, как Dreamweaver и Microsoft Frontpage, очень популярны, в основном из-за их функций WYSIWYG. Веб-хостинговые компании обычно имеют конструкторы веб-страниц WYSIWYG, которые также очень популярны. Я также вручную кодирую большую часть своих вещей, но я много работаю внештатно, работая с веб-разработчиками из других компаний по всему миру, и, исходя из своего личного опыта, я, вероятно, зашел бы так далеко, чтобы сказать, что большинство веб-разработчиков ДЕЙСТВИТЕЛЬНО используют WYSIWYG. инструменты. Чем опытнее веб-разработчик, тем меньше вероятность того, что он будет использовать инструмент WYSIWYG, но тех, у кого меньше опыта, намного больше, чем тех, у кого большой опыт.

person Gerald    schedule 07.01.2009

Вы можете задать себе вопрос: «Другие разработчики тратят свое время на ручное кодирование?».

Обычно я просто перетаскивал элементы управления на страницу и при необходимости изменял сгенерированный HTML-код, если он используется только на одной странице. Если элемент управления и его функциональные возможности используются более чем на одной странице в одном и том же веб-приложении, я бы перешел к пользовательскому элементу управления. Когда он определенно будет использоваться в приложениях, я хочу написать код только один раз, чтобы перейти к серверному элементу управления, который я могу легко распространять. Я думаю, ключ в том, что он (макет и функциональность) используется в нескольких местах, или вы собираетесь использовать его в нескольких местах. Дублировать код во многих местах — такая же «ошибка», как и тратить больше времени на разработку многократно используемого кода для одного использования. Кроме того, это программное обеспечение, так что вы можете изменить его позже!

person MikeH    schedule 07.01.2009
comment
Это то, что я обычно делаю, чтобы: перетаскивать, настраивать, настраивать/удалять разметку, где это необходимо. Это быстрее и помогает держать в голове общую картину, а не увязнуть в деталях. Серверные элементы управления могут потребовать больше времени для создания, но сэкономят много времени в будущем. - person BenAlabaster; 07.01.2009

Я думаю, что ваш реальный вопрос, вероятно, звучит так: «Есть ли способ разработать мой пользовательский интерфейс, о котором мне следует узнать больше, потому что он может быть лучше, чем то, как я это делаю сейчас?»

Учитывая, как быстро все меняется, это вопрос, который мы все задаем довольно часто. Я помню, как впервые увидел сайты, разработанные с помощью Ruby on Rails; а затем я пробежался по учебнику, в котором нет шага для wysiwyging; но все было сделано с помощью CSS и тем; и мне пришло в голову, что, возможно, Dreamweaver не самая продуктивная среда для всего, и результат может быть, по крайней мере, столь же привлекательным.

Работа с учебными пособиями по MVC дала мне такой же толчок.

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

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

person dkretz    schedule 07.01.2009

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

person BobTheBuilder    schedule 09.01.2009

Как и во всем остальном, правильный ответ — «это зависит»…

Вы должны измерить рентабельность инвестиций в добавление этой функциональности.

Для «я»; Лично я никогда не создавал веб-элемент управления, который работал бы для wysiwyg-редактора, поэтому я не знаю, сколько это усилий.

Для буквы «Р»; Если вы работаете в большой команде разработчиков, распространяете свой код, будете самостоятельно повторно использовать эти элементы управления в редакторе wysiwyg или даже просто хотите получить опыт, то вы обязательно получите отдачу. Но если это основано на будущих программистах поддержки; возможно, вы немного склоняетесь к чрезмерной оптимизации. (ПО МОЕМУ МНЕНИЮ)

person John MacIntyre    schedule 09.01.2009

Соглашусь с предыдущими постами. Я не думаю, что вы зря тратите время. Включив WYSIWYG для управления, пользователи могут делать что-то в обоих направлениях, бросая дизайнер и бросая код. Кроме того, иногда проще узнать, что делает элемент управления, когда вы используете редактор свойств, а не вносите изменения в код, а затем компилируете и запускаете приложение.

person Ron Todosichuk    schedule 07.01.2009

Когда я начал программировать, мне понравился WYSIWYG, и я использовал его практически для всего.

Я начал кодировать html по необходимости, всегда было что-то, что я просто не мог сделать правильно, используя только редактор WYSIWYG. Со временем я понял, что для меня было быстрее просто исправить html, чем использовать мышь для установки свойств, поэтому со временем я использовал все больше и больше html, пока для меня не закончились редакторы WYSIWYG.

Почему я рассказал вам эту историю? потому что мой личный опыт говорит мне, что начинающий программист будет любить WYSIWYG и ваши усилия по созданию серверных элементов управления, а продвинутый программист не оценит вас за это.

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

Это мои 5 копеек ;)

person Sergio    schedule 07.01.2009
comment
Что насчет будущих программистов, которые могут поддерживать приложения, которые я разрабатываю? Хотя сейчас в команде нет начинающего программиста, это не значит, что его не будет на следующей неделе... - person BenAlabaster; 07.01.2009
comment
Я сомневаюсь, что вы могли бы самостоятельно восстановить html, сгенерированный элементом управления мастера. Или, если на то пошло, календарный контроль, хотя я действительно ненавижу календарь. - person Joel Coehoorn; 07.01.2009
comment
@joel - и как мы тогда делали их до asp.net? - person annakata; 07.01.2009
comment
@ Джоэл - я уверен, что есть много более умных людей, чем я, работающих над этими элементами управления, и я не собираюсь здесь переделывать колесо - если только это не поможет мне в моем личном росте. Я говорю о расширении или компоновке других элементов управления или написании несуществующих элементов там, где это необходимо. - person BenAlabaster; 07.01.2009
comment
Любой тип управления, каким бы сложным он ни был, программист в конечном итоге скопирует/вставит из существующего и изменит, как ему нужно, это то, что я делаю. И если я часто использую сложный элемент управления, я в конечном итоге создаю скриптлет, поэтому мне не нужно его искать;) - person Sergio; 08.01.2009

Думаю, я бы создал элемент управления, если бы он использовался во многих местах. Даже если вы вручную кодируете html, это все равно экономит время и упрощает работу. но я согласен с тем, что ручное кодирование html/css более эффективно, создатели веб-страниц WYSIWYG не очень хорошо это поддерживают.

person Fred    schedule 07.01.2009