#c_sharp #net #aspnet_mvc #aspnet_web_api #asp
Я совсем запутался... Asp.Net MVC - создание веб-приложений, Web Api - сервисов. Не могли бы вы объяснить для каких задач пишутся сервисы, а для каких веб приложения? Насколько я понимаю, если у нас клиент планируется не только веб, но еще, например, WPF-приложение, мобильное, то выбор должен пасть в сторону сервисов. Конкретно для моего случая: имеется некое десктопное приложение еще на WinWorms. Хочется его перевести в веб. И встает логичный вопрос что использовать: Asp.Net Web Api + AngularJs или Asp.Net MVC? Буду благодарен за любую информацию.
Ответы
Ответ 1
Бакэнд для AngularJs можно написать хоть на ASP.NET MVC, хоть на Asp.Net Web Api, хоть на WCF (да, WCF тоже умеет делать REST-сервисы). Основная разница между ними в следующем: ASP.NET MVC подходит для генерации страниц на стороне сервера (но не мешает работать и клиентским фреймворкам). Выбрав связку Angular.js + Web Api, вы навсегда ограничите себя исключительно клиентской генерацией страниц, приобретя заодно возможные проблемы с индексацией поисковиками. Взамен - у вашего сайта автоматически появится API, которое можно сделать публичным. Думаю, начать надо с выяснения ответов на следующие вопросы: Сколько человек будут работать над проектом и какие технологии им знакомы? Насколько само ваше веб-приложение укладывается в концепцию HTTP? Оно будет состоять из набора отдельных динамически генерируемых страниц или из одной (или нескольких) страниц, содержащих формы, контролы и экраны? Пример приложения первого вида - Википедия. Пример приложения второго вида - Gmail. 2а. Предполагается ли, что страница никогда не будет обновляться полностью? 2б. Сможет ли пользователь открыть одновременно 2 части вашего приложения в одной вкладке? (+ ко второму виду) 2в. Понадобится ли пользователю делиться ссылкой с другими или ставить ссылку в закладки? (+ к первому виду) Нужно ли вам публичное API?
Комментариев нет:
Отправить комментарий