Раз уж недавно апнули, напишу пару комментариев, может кому пригодится.
В данной реализации есть два серьезных минуса:
— Асинхронные запросы выполнятся по очереди (поставьте Thread.Sleep, увидите). Это связано с блокировкой сессии на каждый запрос. В MVC 2 нужно изменять сорцы MVC, и создавать копию провайдера без блокировки. В MVC3 появился ControllerSessionStateAttribute.
— При использовании Ajax-версии табов id контейнера контента генерируется автоматически, и если необходимо обращаться к табе из jquery, придется завязываться на ui-tab-1, ui-tab-2 и т.д. В асинхронных формах и того краше: new AjaxOptions {UpdateTargetId=«ui-tab-2» }
Вместо этого можно вгрузить содержимое табок при рендере страницы, используя Html.RenderPartial или Html.RenderAction.
В таком случае, избавляемся от обоих тараканов.
Обязательно использование Team Foundation Server в качестве source control/issue tracker.
Кстати, в MS есть специальный отдел, разрабатывающий TFS add-in для Eclipse, и это не шутка.
Согласен, локализации инструментов разработки МС почти все вырвиглазные, намучался с SQL Management Studio, каждая вторая менюшка в транс вводила.
Смысл локализаций для меня сомнителен, МС же аргументирует их более низким порогом входа для студентов и новых пользователей. I disagree.
В свое время не нашел вообще никакого, думаю сейчас тоже туго.
Самое активное сообщество — датское.
На сайте умбраки есть линк на официальное сообщество, отвечают там очень оперативно, на английском.
Страница создается в базе, разнесенная по пяти таблицам. (UmbracoNode, cmsDocument, etc.)
Кроме этого, она кэшируется как XML-документ построенный на данных базы в кэше на диске.
Кроме этого, страницы имеют outputcache.
Кэши перестраиваются при паблише страницы.
Подписка распространяется на один домен. Если вы будете платить — подерживать несколько сайтов на разных доменах не удастся.
Имею около года опыта взаимодействия с Umbraco, напишу свои впечатления.
1. Это коммерческий open-source продукт.
У Нильса и Пера (Niels Hansen и Per Ploug Hansen — соучредители Umbraco) две статьи дохода.
Первая — это кэмпы и тренинги. И они сознательно не разрабатывают хорошую документацию, чтобы привлечь на тренинги людей.
Вторая — платная подписка, в которую входит утилита Courier, позволяющая синхронизировать контент на нескольких серверах. Минимальная подписка стоит 1000 евро включая налоги (Дания, 2009).
Без Курьера — это адский мердж на вроде бы простых задачах.
2. Производительность. Актуальная производительность движка очень хромает. Используется несколько уровней кеширования, благодаря которым странички доставляются быстро и славно. Без кэшей Умбрако не была бы конкурирующим на рынке продуктом. Помните об этом при создании супердинамичных страниц.
3. Важный вынесенный урок — бизнес-логику нужно держать совсем отдельно от движка умбраки. Упаси бог использовать API Umbraco как DAL! Сохранив туда данные вы теряете над ними какой-либо контроль, кроме пятерки скупых методов CRUD, и существенно повышаете стоимость доступа к данным.
4. Это неплохая, шустрая CMS-система, покуда вы используете ее по назначению. Как только вы начинаете строить на ее основе самолет — она трещит по швам.
По долгу службы стлакиваюсь с Umbraco уже около года.
Она не имеет ничего общего с ASP.NET MVC.
Вполне себе неплоха в качестве простого движка для сайта.
Когда же на ее основе строится бизнес приложение, она начинает трещать по швам. Также, для синхронизации нескольких умбрак на разных серверах требуется утилита Courier, доступная по подписке. Минимальная стоимость подписки — 1000 евро включая налоги (актуальная цена для Дании, 2009).
Уточню вопрос:
Локализованных аппаратов пока нет, и какая будет цена пока неизвестно.
Если купить через амазон, можно уложиться в 600 уе и через неделю держать его в руках.
Но, при отсутствии софтовой клавиатуры, для людей, ведущих активную переписку на русском, девайс будет несколько ущербен.
Смотрел и использую.
Для более простых задач ListView, для сложных отчетов — DevExpress ASPxGridView.
Однако, не видел раньше, что вижуал студио через визард может нагенерить страницу хтмла для Листвью — функционал аналогичный гриду и местами превосходящий, признаю. Хоть это и особенность среды, а не контрола.
В приведенной Вами цитате сказано, что ListView может заменить все остальные data-binding контролы. С этим я абсолютно согласен.
Но «официальная замена GridView» — ИМХО передергивание. Тогда и «официальная замена Repeater», и «официальная замена DataList». Хотя и не замена — эволюция всех этих контролов вместе взятых.
AutoGenerateColumns
Оно, конечно, не комильфо, но иногда нужно в четверть пинка поднять интерфейс для таблицы, а на пол-пинка времени нет.
Конечно, есть Astoria — ей только базу скормить, она уже нагенерит будь здоров.
Несколько сменились приоритеты — есть мощные Data Services, которым и программист не нужен, а есть гибкий и мощный ListView — но ему, будьте добры, опишите как и что.
Так что все-таки не всю гридовью область ListView покрывает.
В данной реализации есть два серьезных минуса:
— Асинхронные запросы выполнятся по очереди (поставьте Thread.Sleep, увидите). Это связано с блокировкой сессии на каждый запрос. В MVC 2 нужно изменять сорцы MVC, и создавать копию провайдера без блокировки. В MVC3 появился ControllerSessionStateAttribute.
— При использовании Ajax-версии табов id контейнера контента генерируется автоматически, и если необходимо обращаться к табе из jquery, придется завязываться на ui-tab-1, ui-tab-2 и т.д. В асинхронных формах и того краше: new AjaxOptions {UpdateTargetId=«ui-tab-2» }
Вместо этого можно вгрузить содержимое табок при рендере страницы, используя Html.RenderPartial или Html.RenderAction.
В таком случае, избавляемся от обоих тараканов.
Кстати, в MS есть специальный отдел, разрабатывающий TFS add-in для Eclipse, и это не шутка.
Смысл локализаций для меня сомнителен, МС же аргументирует их более низким порогом входа для студентов и новых пользователей. I disagree.
Самое активное сообщество — датское.
На сайте умбраки есть линк на официальное сообщество, отвечают там очень оперативно, на английском.
Кроме этого, она кэшируется как XML-документ построенный на данных базы в кэше на диске.
Кроме этого, страницы имеют outputcache.
Кэши перестраиваются при паблише страницы.
Подписка распространяется на один домен. Если вы будете платить — подерживать несколько сайтов на разных доменах не удастся.
1. Это коммерческий open-source продукт.
У Нильса и Пера (Niels Hansen и Per Ploug Hansen — соучредители Umbraco) две статьи дохода.
Первая — это кэмпы и тренинги. И они сознательно не разрабатывают хорошую документацию, чтобы привлечь на тренинги людей.
Вторая — платная подписка, в которую входит утилита Courier, позволяющая синхронизировать контент на нескольких серверах. Минимальная подписка стоит 1000 евро включая налоги (Дания, 2009).
Без Курьера — это адский мердж на вроде бы простых задачах.
2. Производительность. Актуальная производительность движка очень хромает. Используется несколько уровней кеширования, благодаря которым странички доставляются быстро и славно. Без кэшей Умбрако не была бы конкурирующим на рынке продуктом. Помните об этом при создании супердинамичных страниц.
3. Важный вынесенный урок — бизнес-логику нужно держать совсем отдельно от движка умбраки. Упаси бог использовать API Umbraco как DAL! Сохранив туда данные вы теряете над ними какой-либо контроль, кроме пятерки скупых методов CRUD, и существенно повышаете стоимость доступа к данным.
4. Это неплохая, шустрая CMS-система, покуда вы используете ее по назначению. Как только вы начинаете строить на ее основе самолет — она трещит по швам.
Она не имеет ничего общего с ASP.NET MVC.
Вполне себе неплоха в качестве простого движка для сайта.
Когда же на ее основе строится бизнес приложение, она начинает трещать по швам. Также, для синхронизации нескольких умбрак на разных серверах требуется утилита Courier, доступная по подписке. Минимальная стоимость подписки — 1000 евро включая налоги (актуальная цена для Дании, 2009).
Гравировка, конечно, выход. Главное не попасть на спеца а-ля «тату-мастер Стрелок».
Локализованных аппаратов пока нет, и какая будет цена пока неизвестно.
Если купить через амазон, можно уложиться в 600 уе и через неделю держать его в руках.
Но, при отсутствии софтовой клавиатуры, для людей, ведущих активную переписку на русском, девайс будет несколько ущербен.
Как побеждаете отсутствие русской раскладки на хардварной клавиатуре?
ЕМНИП, ёмкостной только на X6 из всех перечисленных.
" на столько " подправьте.
Интересно почитать, что же было дальше :)
Инбоксируйте инвайт :)
Для более простых задач ListView, для сложных отчетов — DevExpress ASPxGridView.
Однако, не видел раньше, что вижуал студио через визард может нагенерить страницу хтмла для Листвью — функционал аналогичный гриду и местами превосходящий, признаю. Хоть это и особенность среды, а не контрола.
В приведенной Вами цитате сказано, что ListView может заменить все остальные data-binding контролы. С этим я абсолютно согласен.
Но «официальная замена GridView» — ИМХО передергивание. Тогда и «официальная замена Repeater», и «официальная замена DataList». Хотя и не замена — эволюция всех этих контролов вместе взятых.
В остальном я с Вами согласен.
Возможность в течении одной минуты сделать CRUD интерфейс для таблицы это большое отличие.
Вы прокомментируете?
Оно, конечно, не комильфо, но иногда нужно в четверть пинка поднять интерфейс для таблицы, а на пол-пинка времени нет.
Конечно, есть Astoria — ей только базу скормить, она уже нагенерит будь здоров.
Несколько сменились приоритеты — есть мощные Data Services, которым и программист не нужен, а есть гибкий и мощный ListView — но ему, будьте добры, опишите как и что.
Так что все-таки не всю гридовью область ListView покрывает.