[ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 06:05
Оценка:
В продолжение темы (я уже высказался о GridView и TreeView). Вот Микрософт сделала контрол ASP.Net меню. Столко писали... Уйма человеко/часов. Думали, разрабатывали архитектуру...

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

Начнем с того, что он генерирует невалидный HTML (я уже не говорю о том, что в избыточном кол-ве). Представители Микрософт видимо в то время об этом ничего не слышали. Узнали уже потом, и создали ControlAdapter практически для каждого стандартного контрола ASP.Net. Причем, поскольку контролы не предусматривают ОО расширения, адаптер -- это практически полностью переделанный контрол. И думаете адекватно работают эти адаптеры? Ага, ждите! В злополучном меню стили вообще игнорируются. Гораздо легче написать свой новый контрол и его использовать.

Почему так?
Re: [ASP.Net] За дурной головой ногам покою нема...
От: Sheridan Россия  
Дата: 19.03.09 08:39
Оценка:
0K wrote:

> Почему так?

Microsoft...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re: [ASP.Net] За дурной головой ногам покою нема...
От: kuj  
Дата: 19.03.09 08:40
Оценка:
Здравствуйте, 0K, Вы писали:

0K>В продолжение темы (я уже высказался о GridView и TreeView). Вот Микрософт сделала контрол ASP.Net меню. Столко писали... Уйма человеко/часов. Думали, разрабатывали архитектуру...


0K>Но реально получился не продуманный, не расширяемый, практически бесполезный контрол. Это хороший пример того, как не нужно делать.


0K>Начнем с того, что он генерирует невалидный HTML (я уже не говорю о том, что в избыточном кол-ве). Представители Микрософт видимо в то время об этом ничего не слышали. Узнали уже потом, и создали ControlAdapter практически для каждого стандартного контрола ASP.Net. Причем, поскольку контролы не предусматривают ОО расширения, адаптер -- это практически полностью переделанный контрол. И думаете адекватно работают эти адаптеры? Ага, ждите! В злополучном меню стили вообще игнорируются. Гораздо легче написать свой новый контрол и его использовать.


0K>Почему так?


Юзай ExtJs и будет тебе счастье. ;}
Re: [ASP.Net] За дурной головой ногам покою нема...
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.03.09 09:50
Оценка:
Здравствуйте, 0K, Вы писали:
Ну, давайте вы попробуете написать свой контрол меню. Который будет расширяемым, генерировать валидный HTML, и всё такое.
Кстати, вы о какой версии ASP.Net говорите? Надо полагать, речь про 2.0? Который вышел четыре года назад?
0K>Почему так?
А потом я отвечу на этот вопрос: "Потому, что далеко не всем удаётся сделать что-то хорошее с первого раза".
Вот ASP.NET MVC Framework предлагает гораздо более приличную модель разработки веб-приложений, чем WebForms 1.0. Ну, так это неспроста.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 10:03
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0K, Вы писали:

S>Ну, давайте вы попробуете написать свой контрол меню. Который будет расширяемым, генерировать валидный HTML, и всё такое.

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

Если Билл Гейтс меня попросит, я напишу ASP.Net меню по заказу микрософта, чтоб они просто знали как нужно писать...

S>Кстати, вы о какой версии ASP.Net говорите? Надо полагать, речь про 2.0? Который вышел четыре года назад?


А что в .Net 3.5 что-то изменилось?

0K>>Почему так?

S>А потом я отвечу на этот вопрос: "Потому, что далеко не всем удаётся сделать что-то хорошее с первого раза".
S>Вот ASP.NET MVC Framework предлагает гораздо более приличную модель разработки веб-приложений, чем WebForms 1.0. Ну, так это неспроста.

Как были старые контролы, так и остались.
Re[3]: [ASP.Net] За дурной головой ногам покою нема...
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.03.09 10:41
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Я так и делаю. Но мне нет смысла писать контрол на все случаи жизни, достаточно моего случая.

А, ну так одноразовый контрол написать проблемы нет. Вы, кстати, его под сколькими браузерами тестируете?
0K>Если Билл Гейтс меня попросит, я напишу ASP.Net меню по заказу микрософта, чтоб они просто знали как нужно писать...


0K>А что в .Net 3.5 что-то изменилось?

Да.

0K>Как были старые контролы, так и остались.

Зато появились новые.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 11:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0K, Вы писали:


0K>>Я так и делаю. Но мне нет смысла писать контрол на все случаи жизни, достаточно моего случая.

S>А, ну так одноразовый контрол написать проблемы нет. Вы, кстати, его под сколькими браузерами тестируете?

А зачем я должен по каждому случаю это делать? И не только я. Ведь реально те контролы, что написала MS для ASP.Net, не пригодны для практического использования!

0K>>Если Билл Гейтс меня попросит, я напишу ASP.Net меню по заказу микрософта, чтоб они просто знали как нужно писать...

S>

0K>>А что в .Net 3.5 что-то изменилось?

S>Да.

Что изменилось:

    <a href="#Menu1_SkipLink"><img alt="Skip Navigation Links" src="/WebSite5/WebResource.axd?d=v3M2hNL3QnCFAMFGcq2rHg2&amp;t=633718786596406250" width="0" height="0" style="border-width:0px;" /></a><table id="Menu1" class="Menu1_2" cellpadding="0" cellspacing="0" border="0">
    <tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n0">
        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
            <tr>
                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
            </tr>
        </table></td>
    </tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n1">
        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
            <tr>
                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
            </tr>
        </table></td>
    </tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n2">
        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
            <tr>
                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
            </tr>
        </table></td>
    </tr>
</table><a id="Menu1_SkipLink"></a>


Это HTML, который нагенерировало для 3-х пунктов меню .

0K>>Как были старые контролы, так и остались.

S>Зато появились новые.

Новые появились, но они предназначены совсем для другого.

Ведь наверняка Микрософт должно было предусмотреть их расширяемость, не даром же столько кода накатали... Почему не расширили?
Re[5]: [ASP.Net] За дурной головой ногам покою нема...
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.03.09 12:14
Оценка:
Здравствуйте, 0K, Вы писали:
0K>А зачем я должен по каждому случаю это делать?
В смысле? Затем, что вы пишете приложение, которое должно адекватно работать у ваших пользователей.

0K>И не только я. Ведь реально те контролы, что написала MS для ASP.Net, не пригодны для практического использования!

Оппа. И как это их применяло столько народу?
0K>Что изменилось:
0K>
0K>    <a href="#Menu1_SkipLink"><img alt="Skip Navigation Links" src="/WebSite5/WebResource.axd?d=v3M2hNL3QnCFAMFGcq2rHg2&amp;t=633718786596406250" width="0" height="0" style="border-width:0px;" /></a><table id="Menu1" class="Menu1_2" cellpadding="0" cellspacing="0" border="0">
0K>    <tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n0">
0K>        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
0K>            <tr>
0K>                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
0K>            </tr>
0K>        </table></td>
0K>    </tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n1">
0K>        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
0K>            <tr>
0K>                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
0K>            </tr>
0K>        </table></td>
0K>    </tr><tr onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)" id="Menu1n2">
0K>        <td><table cellpadding="0" cellspacing="0" border="0" width="100%">
0K>            <tr>
0K>                <td style="white-space:nowrap;width:100%;"><a class="Menu1_1" href="javascript:__doPostBack('Menu1','New Item')">New Item</a></td>
0K>            </tr>
0K>        </table></td>
0K>    </tr>
0K></table><a id="Menu1_SkipLink"></a>
0K>


0K>Это HTML, который нагенерировало для 3-х пунктов меню .

Хм. Он вам не нравится? А свой Template для айтема задать вы не пробовали?
0K>Новые появились, но они предназначены совсем для другого.
Да ну правда что ли? Имхо, всё для того же. Вон, гляньте на сэмплы из MVC Framework.

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

0K>Ведь наверняка Микрософт должно было предусмотреть их расширяемость, не даром же столько кода накатали... Почему не расширили?

Ну, они расширяемые. Я не знаю, почему вы не хотите их расширять.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 12:48
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0K, Вы писали:

0K>>А зачем я должен по каждому случаю это делать?
S>В смысле? Затем, что вы пишете приложение, которое должно адекватно работать у ваших пользователей.

Кто использует асп.нет меню, к примеру? Хоть один приличный сайт, кроме самих МС, покажите...

0K>>Новые появились, но они предназначены совсем для другого.

S>Да ну правда что ли? Имхо, всё для того же. Вон, гляньте на сэмплы из MVC Framework.

Я говрою о том, что старые контролы не были заменены. Новые контролы, которые появились, предназначены для поддержки Аякс, которая, кстати, у МС практически непригодна для использования (это отдельный разговор).

S>Меню, к несчастью, шибко построено на постбеках. Которые сами по себе — зло. Но чтобы это понять, ушло очень много времени. И до сих пор есть целый пласт народа, который искренне не понимает, почему вебформы плохи.


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

0K>>Ведь наверняка Микрософт должно было предусмотреть их расширяемость, не даром же столько кода накатали... Почему не расширили?

S>Ну, они расширяемые. Я не знаю, почему вы не хотите их расширять.

Они расширяемые через задницу: нужно переделывать весь рендеринг.
Re[7]: [ASP.Net] За дурной головой ногам покою нема...
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.03.09 13:21
Оценка:
Здравствуйте, 0K, Вы писали:
0K>Кто использует асп.нет меню, к примеру?
Не понимаю, как это относится к вопросу о стоимости разработки хорошего кросс-браузерного контрола.

0K>Я говрою о том, что старые контролы не были заменены. Новые контролы, которые появились, предназначены для поддержки Аякс, которая, кстати, у МС практически непригодна для использования (это отдельный разговор).

При чем тут поддержка Аякс? Вы точно смотрели на MVC Framework?

0K>У кого ушло? Неужели таким умным дядькам было непонятно, что для любого сайта главное хорошая индексация?

Да, было непонятно. И очень многим непонятно до сих пор.

0K>Они расширяемые через задницу: нужно переделывать весь рендеринг.

А ItemTemplate вы пробовали менять?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 14:31
Оценка: 1 (1)
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0K, Вы писали:

0K>>Кто использует асп.нет меню, к примеру?
S>Не понимаю, как это относится к вопросу о стоимости разработки хорошего кросс-браузерного контрола.

Вы специально делаете вид что ничего не понимаете????????

Говорю проще: главное, чего требуется от меню в сайте -- Индексация Поисковиками. Микрософт сделала меню, которое невозможно использовать по той причине, что оно не индексируется. Они потратили кучу времени на чепуху, а о главном забыли. В связи с этим, никому не нужнен этот контрол. Это напрасно потраченное время. Все равно что долго делать автомобиль и тратить много времени на комфорт салона и возможность добавлять части к салону, но не предусмотреть в нем двигатель.

0K>>Я говрою о том, что старые контролы не были заменены. Новые контролы, которые появились, предназначены для поддержки Аякс, которая, кстати, у МС практически непригодна для использования (это отдельный разговор).

S>При чем тут поддержка Аякс? Вы точно смотрели на MVC Framework?

0K>>У кого ушло? Неужели таким умным дядькам было непонятно, что для любого сайта главное хорошая индексация?

S>Да, было непонятно. И очень многим непонятно до сих пор.

0K>>Они расширяемые через задницу: нужно переделывать весь рендеринг.

S>А ItemTemplate вы пробовали менять?

Пробовал, давно. Помню что не подошло, не понмю почему. Сделал за час свое меню для моих узких нужд его хватает.
Re[7]: [ASP.Net] За дурной головой ногам покою нема...
От: mrTwister Россия  
Дата: 19.03.09 14:50
Оценка:
Здравствуйте, 0K, Вы писали:

0K>У кого ушло? Неужели таким умным дядькам было непонятно, что для любого сайта главное хорошая индексация?


Ну мне, например, непонятно, зачем интранет сайту нужна индексация
лэт ми спик фром май харт
Re[8]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 16:12
Оценка:
Здравствуйте, mrTwister, Вы писали:

T>Здравствуйте, 0K, Вы писали:


0K>>У кого ушло? Неужели таким умным дядькам было непонятно, что для любого сайта главное хорошая индексация?


T>Ну мне, например, непонятно, зачем интранет сайту нужна индексация


Аткхнитесь! ASP.net создан не только для внутренних сайтов. Если бы его изначально представили как платформу для закрытых внутренних сайтов -- у меня бы вопросов не было.
Re[9]: [ASP.Net] За дурной головой ногам покою нема...
От: Erop Россия  
Дата: 19.03.09 16:41
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Аткхнитесь! ASP.net создан не только для внутренних сайтов. Если бы его изначально представили как платформу для закрытых внутренних сайтов -- у меня бы вопросов не было.


Вообще-то это улица с двусторонним движением. Как MS может изобретать способы так реализовать меню, что оно бкдет индексироваться гуголом, например, так и гугол может попробовать подумать, как это индексировать...
Возможно у гугола какие-то свои соображения, почему это не надо, кстати...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: [ASP.Net] За дурной головой ногам покою нема...
От: mrTwister Россия  
Дата: 19.03.09 20:05
Оценка:
Здравствуйте, 0K, Вы писали:


0K>>>У кого ушло? Неужели таким умным дядькам было непонятно, что для любого сайта главное хорошая индексация?


T>>Ну мне, например, непонятно, зачем интранет сайту нужна индексация


0K>Аткхнитесь! ASP.net создан не только для внутренних сайтов. Если бы его изначально представили как платформу для закрытых внутренних сайтов -- у меня бы вопросов не было.


Во-первых, ты писал, что индексация нужна любому сайту. Как выяснилось, не любому, а только той небольшой их части, что в интернете. Во-вторых, не стоит мешать ASP.NET и WebFroms — это не одно и тоже.
лэт ми спик фром май харт
Re: [ASP.Net] За дурной головой ногам покою нема...
От: midcyber
Дата: 19.03.09 20:30
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Почему так?


Потому что MS заботится о том, чтобы рынок контролов существовал. Это косвенно помогает существовать их платформе.
Ведь те контролы, которые ты упомянул — они же бесплатные?
Re[2]: [ASP.Net] За дурной головой ногам покою нема...
От: 0K Ниоткуда  
Дата: 19.03.09 20:49
Оценка:
Здравствуйте, midcyber, Вы писали:

M>Здравствуйте, 0K, Вы писали:


0K>>Почему так?


M>Потому что MS заботится о том, чтобы рынок контролов существовал. Это косвенно помогает существовать их платформе.

M>Ведь те контролы, которые ты упомянул — они же бесплатные?

Я тоже подумал об этом. Кроме того, они решают главную проблему капиталистического строя: перепроизводство (делают то, что постоянно нуждается в обновлении и оказывается ненужным довольно быстро).
Re: [ASP.Net] За дурной головой ногам покою нема...
От: iHateLogins  
Дата: 19.03.09 22:51
Оценка: -1
Весь ASP.NET суть одна большая переусложненная корявость, которая изначально была неправильно спроектирована. Прикол в том, что Скот Гатри, отец-основатель ASP.NET вместо того чтобы получить по башке за такую какашку, теперь вице-президент в DevDiv. Хотя чувак не поймал НИ ОДИН ТРЕНД: asp.net, iis7, vs web dev tools, SL/SL2, WPF — это по большому счету "мусорные" продукты, и их market share это прекрасно подтверждает.
Re[2]: [ASP.Net] За дурной головой ногам покою нема...
От: criosray  
Дата: 19.03.09 23:01
Оценка:
Здравствуйте, iHateLogins, Вы писали:

HL>Весь ASP.NET суть одна большая переусложненная корявость, которая изначально была неправильно спроектирована. Прикол в том, что Скот Гатри, отец-основатель ASP.NET вместо того чтобы получить по башке за такую какашку, теперь вице-президент в DevDiv. Хотя чувак не поймал НИ ОДИН ТРЕНД: asp.net, iis7, vs web dev tools, SL/SL2, WPF — это по большому счету "мусорные" продукты, и их market share это прекрасно подтверждает.


Позвольте полюбопытствовать конкретные цифры (а так же источник откуда были взяты), которые якобы "потверждают" сказанное Вами.
Re[2]: [ASP.Net] За дурной головой ногам покою нема...
От: yumi  
Дата: 20.03.09 02:53
Оценка: :)
Здравствуйте, iHateLogins, Вы писали:

HL>Весь ASP.NET суть одна большая переусложненная корявость, которая изначально была неправильно спроектирована. Прикол в том, что Скот Гатри, отец-основатель ASP.NET вместо того чтобы получить по башке за такую какашку, теперь вице-президент в DevDiv. Хотя чувак не поймал НИ ОДИН ТРЕНД: asp.net, iis7, vs web dev tools, SL/SL2, WPF — это по большому счету "мусорные" продукты, и их market share это прекрасно подтверждает.


Я с тобой почти согласен, а про WPF согласен полностью. Это какашка!
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.