Научная статья на тему 'Сравнение основных аспектов современных подходов к разработке на Asp. Net: MVC и WebForms'

Сравнение основных аспектов современных подходов к разработке на Asp. Net: MVC и WebForms Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
291
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
разработка / тестирование / ASP.NET / MVC / WebForms / developing / testing / ASP.NET / MVC / WebForms

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — М. У. Фаттахов

Производится сравнение (разработка, тестирование, поисковая оптимизация) основных аспектов современных подходов к разработке на ASP.NET: MVC и WebForms.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARSION OF THE KEY ASPECTS OF MODERN APPROACHES IN DEVELOPING ASP.NET: MVC AND WEBFORMS

Basic aspects of modern ways of development on ASP.NET: MVC and WebForms are being compared (developing, testing and search optimization).

Текст научной работы на тему «Сравнение основных аспектов современных подходов к разработке на Asp. Net: MVC и WebForms»

© М.У. Фаттахов, 2014

УЛК 004.738.5: 004.55: 004.4.2 М.У. Фаттахов

СРАВНЕНИЕ ОСНОВНЫХ АСПЕКТОВ СОВРЕМЕННЫХ ПОДХОДОВ К РАЗРАБОТКЕ НА ASP.NET: МУС И ШЕВРОНМв

Производится сравнение (разработка, тестирование, поисковая оптимизация) основных аспектов современных подходов к разработке на ASP.NET: МУС и ШеЬРогшв.

Ключевые слова: разработка, тестирование, ASP.NET, МУС, ШеЬРогшв.

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

Существует множество технологий разработки WEB-порталов - PHP, ASP, JSP и др. В последнее время широкое распространение приобрела платформа.№Т. Остановимся более подробно на технологии ASP.NET (ASP - Active Server Page).

На момент своего появления ASP. NET стала огромным шагом вперед в разработке, причем не только благодаря использованию совершенно новой многоязыковой платформы управляемого кода.№Т (которая и сама по себе была значительной вехой), но и потому, что ее предназначением было заполнение пробела между основанной на состоянии объектно-ориентированной разработкой Windows Forms и не поддерживающей состояние, ориентированной на язык HTML веб-разработкой.

Через несколько лет появилась новая, совершенно иная технология с точки зрения подхода к разработке - MVC. Microsoft выпустило ее не в замен WebForms, а как альтернативу. Сейчас компания занимается разработкой и поддержкой обеих технологий. Рассмотрим подробнее каждую

из технологий, проведем сравнение, постараемся выявить преимущества и недостатки.

Что такое Web Forms? Это возможность разрабатывать веб-приложения также как и windows-приложения. Имеется набор контролов со своими свойствами и событиями, и, что важно, значения свойств прозрачно сохраняются между запросами к серверу. Технология включает в себя следующие основные понятия:

• цикл обработки страницы - последовательность событий для страницы и контролов;

• ViewState - хранилище для свойств контролов между запросами;

• Postback - отправка страницы на сервер с помощью POST-запроса.

Технология MVC (Model View Controller) в отличие от WebForms, является шаблоном разработки приложений, разделяющим модель (и данные), логику их обработки и отображения [1]. Основные понятия здесь:

• Action (действие) - ему соответствует метод контроллера;

• ViewData - данные, которые View использует при отображения;

• Redirect(RedirectToAction) - передача управления другому Action.

Redirect (Переадресация) является одним из основным отличий от Web-Forms. Каждое новое действие подразумевает либо переход по ссылке, либо Переадресацию, причем не за счет

обычной ASP.NET переадресации, а за счет возвращаемого значения.

Использовать данные технологии можно по-разному, например разрабатывать как медиа-, так и корпоративные сайты как на WebForms, так и на MVC. К тому же существуют альтернативные способы их использования ( например: Ruby on Rails (MVC), выходящий за рамки данной статьи) Рассмотрим традиционные подходы в рамках обеих технологий.

Тестирование. Для WebForms unit-тесты возможны, если немного отойти от традиционного подхода и использовать слой логики (который будет как-то привязан к странице) [4]. А вот логику переходов на другие формы и взаимодействия контролов можно тестировать специальными средствами для UI-тестов (труднее поддерживать чем unit-тесты). MVC, в свою очередь, практически идеальная технология для unit-тестов, так как контролы тестируются естественным образом, переходы тестируются за счет ActionResult, кототрый возвращается в методах контроллера, у представления легко тестируется ViewData, для тестирования HTML можно подменить Response(данные, отправляемые клиенту) или передать другой TextWriter (что не так актуально, так как представление в MVC менее значимо).

Формирование URL в WebForms и MVC происходит различным образом. В Web Forms ключевые параметры обычно приходят как Get (а иногда PostBack), поэтому:

• URL выглядит примерно так: http://site/member.aspx?id=1.

• Сайты плохо индексируется поисковыми системами.

• Если открыть записанный когда-то URL, необязательно откроется та же самая форма (особенно если используете одностраничную модель).

На MVC ключевые параметры указаны в URL, для разных контроллеров и действий разные URL, поэтому:

• URL выглядит примерно так: http://site/member/details/1/.

• Сайты хорошо индексируется поисковыми системами.

• Если открыть записанный когда-то URL, откроется та же самая форма (очень удобно для поддержки и тестирования)

Ход обработки страницы имеет существенные отличия. Для WebForms имеется последовательность событий для страницы и контролов на ней(1п^, Load и т.п.) вызываемые в определенной последовательности [2]. Но, несмотря на то, что порядок вызовов заранее определен, в больших проектах со сложными контролами отследить это довольно сложно, что и создает определенные трудности при разработке. Что касается MVC то, в ней используется предельно простая последовательность, которой управляете вы: при переходе по URL - вызов action (т.е. метода контроллера) с нужными параметрами, далее обработка параметров, получение данных и дополнительная логика, и переход на другой action или отображение View.

Качество кода (понятность) сильно зависит от программиста. Разметка страницы довольно наглядна у обеих технологий. Бизнес-логика у приложений разработанных по технологии WebForms не всегда очевидна, часто бывает смешана с отображением и работой с базой данных. Обработчики событий только усложняют ее. Контроллеры в MVC позволяют отделить логику от представления, и в связи с этим, разобраться в логике приложения становится значительно проще [3].

Подводя итоги, можно выделить следующие особенности WebForms:

• технология быстрого написания простых приложений;

• для более сложных приложений есть различные framework^;

• из-за чужеродной для web-при-ложений концепции, как правило,

качество и скорость работы сложных приложений оставляет желать лучшего.

МУС обладает привычной схемой работы для тех кто разрабатывал шеЬ-приложения(запрос - ответ):

• позволяет удобно использовать цш1:-тестирование;

• упрощает понимание бизнес-логики;

• генерирует качественный ИТМЬ-код для поисковых систем(БЕО);

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

Невозможно сказать «да» одной и «нет» другой технологии. Выбор технологии должен зависеть от задачи и каждое конкретное приложение может быть написано как одним, так и другим способом. Фактически, можно использовать даже смешанный подход, написав часть приложения с использованием ШеЬРогшБ, а часть с помощью МУС.

СПИСОК ЛИТЕРАТУРЫ

1.http://vasenin.org/forum/29-ASP-NET/ 100- Достоинств.

2. http://www.techdays.ru/videos/1121. html.

3. http://habrahabr.ru/blogs/net/47249/

4. Дино Эспозито. Программирование с использованием Microsoft ASP.NET 3.5: М.: Русская Редакция, Питер, 2009. 1008 с. ri^

КОРОТКО ОБ АВТОРЕ_

Фаттахов Марат Уралович - студент, e-mail: maratfmu@mail.ru, Московский государственный горный университет.

UDC 004.738.5: 004.55: 004.4.2

COMPARSION OF THE KEY ASPECTS OF MODERN APPROACHES IN DEVELOPING ASP.NET: MVC AND WEBFORMS

Fattakhov M.U., Student, Moscow State Mining University, e-mail: maratfmu@mail.ru.

Basic aspects of modern ways of development on ASP.NET: MVC and WebForms are being compared (developing, testing and search optimization).

Key words: developing, testing, ASP.NET, MVC, WebForms.

REFERENCES

1. http://vasenin.org/forum/29-ASP-NET/100- Достоинств

2. http://www.techdays.ru/videos/1121.html

3. http://habrahabr.ru/blogs/net/47249/

4. Dino Jespozito. Programmirovanie s ispol'zovaniem Microsoft ASP.NET 3.5: (Microsoft ASP.NET 3.5 programming), Moscow, Russkaja Redakcija, Piter, 2009, 1008 p.

A

i Надоели баннеры? Вы всегда можете отключить рекламу.