ASP.NET что это и каким бывает

Тема в разделе ".NET", создана пользователем vladalien, 27 окт 2014.

  1. vladalien

    vladalien

    Регистрация:
    21 окт 2014
    Сообщения:
    9
    Симпатии:
    2
    Доброго времени суток, сейчас я попытаюсь вкратце объяснить Вам, что это за технология и как ней можно пользоваться.

    [​IMG]

    Итак, ASP.NET (далее просто ASP) в переводе с английского "Active Server Pages" - "Активные серверные страницы". Не буду высказывать всё это в литературном виде, скажу просто как оно есть - это HTML страницы с использованием вставок кода:
    Код:
    <html>
    <body>
    Hello world! This is cycle:
    <% for (var i = 0; i < 10; i++)
    {
    i.ToString() + "<br />";
    } %>
    </body>
    </html>
    Очевидно, что это даёт неоспоримые преимущества перед статическими HTML страницами. Но, возможен вполне логический вопрос, а зачем нам нужен этот ASP, почему не использовать тот же PHP, к примеру? Ответ на него, с вашего позволения, я опишу немного ниже. Сейчас же хотелось бы побольше вас познакомить с самим ASP, а там может и вопрос сам собой отпадёт.
    Итак, сейчас ASP используется в 2-х видах: ASP.NET WebForms и ASP.NET MVC.

    Web Forms более старая технология, она чем-то напоминает Windows Forms, где есть визуальное представление (в Windows Forms это .designer.cs) - тот самый HTML код со вставками .net кода, и программная часть (в Windows Forms это просто partial класс с подпиской на события и методами) - partial класс с подпиской на события и методами. Само собой взаимодействие между визуальным представлением и программной частью происходит через события. Если вы работали с Windows Forms, то ничего сверхнового в этом подходе вы не увидите.

    Как по мне, так куда интересней выглядит ASP.NET MVC. Если вы уже слышали аббревиатуру MVC, то ничего нового я вам не расскажу, потому можете пролистать этот параграф. MVC это патерн Model-View-Controller, не буду рассказывать насколько он крут, это всё описано уже 100 раз на ресурсах типа хабра и википедия, скажу лишь одно, в веб разработке он набирает всё большей популярности. Первую реализацию этого патерна я увидел именно в ASP.NET, сейчас же он есть и в PHP (Yii, Symfony). Конкретному примеру реализации этого патерна хотелось бы выделить отдельную тему, потому не буду углубляться в детали здесь.

    Итак, вернусь к вопросу "почему использовать ASP.NET, а не что-то другое". Я никоим образом не хочу оскорбить другие языки и технологии какими-то обвинениями в их сторону. Скажу лишь только то, что к самым весомым аргументами в пользу ASP.NET я бы отнёс две вещи:
    1) он компилируется на вашей стороне в .dll, в том же ПХП это действие выполняется каждый раз при запросе страницы
    2) .net имеет очень много чего реализованного "из коробки". В дальнейших статьях я расскажу как можно создать простой сайт с системой авторизации всего за один день, и как можно написать свою браузерную игру с использованием ASP.NET тоже довольно быстро.

    P. S. Тема может выглядеть немного сухой, но я не задавался целью раскрыть все вопросы в одном посте. Это скорее вступительное слово ко всему тому, что я планирую описать. Буду рад ответить на ваши вопросы в этой теме или разделе, если вас интересует что-то более детально.
     
    Последнее редактирование: 27 окт 2014
  2. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    странно, вроде и не пятница :(

    Прежде, чем выкладывать код, было бы не плохо проверять его работоспособность
    Код:
    <% for (var i = 0; i < 10; i++)
    {
    t.ToString() + "<br />";
    } %>
    ЭТО работать не будет, а если и будет то с ошибками

    зы ASP.NET не знаю, но знаю принципы.

    Это как?



    АСПУШКИН
     
  3. vladalien

    vladalien

    Регистрация:
    21 окт 2014
    Сообщения:
    9
    Симпатии:
    2
    Ну да, не будет. Очепятался я, если вместо t поставить i, то будет. Спасибо за внимательность, исправил. Проверять такой код я не считаю нужным, ибо это не представление какого-то рабочего функционала который кто-то себе будет копировать в проект, а просто минимальный пример, чтобы отобразить написанный текст в более наглядном виде.

    Ну как-как, вы создаёте проект в Visual Studio, где делаете всю разработку, а на выходе можете получить полностью скомпилированный код в виде .dll и web.config (могут быть ещё файлы, всё зависит от сложности проекта, но это минимальный набор, насколько я знаю).
     
  4. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    Хочу вас расстроить, получать код в виде dll хорошо, если вы делаете софт для выполнения на одном компьютере.
    web.config - извините, это не исполняемый файл, а конфигурационный файл проекта...

    Вы сказали слова про MVC, и тут же говорите о компиляции.
    View - практически всегда должно быть доступно к редактированию. Представление отвечает за вывод данных.
    Для некоторых проекто и котнроллеры, и модель, также должны быть доступны, т.ею выполняться не компилируемыми.

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

    Так что все ваши преимущества компиляции уходят в никуда.

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

    И не забываем Visual Studio - это Проприетарное программное обеспечение
     
  5. vladalien

    vladalien

    Регистрация:
    21 окт 2014
    Сообщения:
    9
    Симпатии:
    2
    А где, извините, я говорил, что web.config это исполняемый код?

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

    На продакшн сервере вам нужны файлы в исходном коде? Это зачем же? А в процессе разработки они всегда для вас открыты.

    Какие копии? У вас исходный код всегда открыт в ИДЕ (Visual Studio) и вы его свободно меняете, нажимаете билд и запускается готовый проект, в чём трудность? В ПХП вы меняете и обновляете страницу браузера, а тут просто еще происходит этап билда + 10 секунд, в худшем случае. По поводу потребителя, это уж как вы договоритесь, если договор подразумевает передачу исходников (а так за частую и бывает), то совершенно не вижу никакой иглы и проблемы.

    Весьма спорное убеждение. Если у вас на сервере 100000 пользователей и перед показом каждой страницы происходит компиляция, то тут поди знай.

    Ну... Да, исходный код этой ИДЕ не лежит в паблике, чего уж там. А в целом, вы можете использовать её бесплатно даже в коммерческих разработках, потому ни разу в этом проблемы не могу увидеть. За весь мой опыт работы с этой ИДЕ еще ни разу не возникало мысли полезть и подправить её код.

    Вы говорите, что
    , а в полемику вступаете. Так что ж это, спорите базируясь на принципах, да ладно?
     
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    448
    Симпатии:
    119
    ASP.NET не знаю, но это не значит, что не знаю принципов базирования системы.
    Чтобы работала поддержка ASP.NET нужен WIN-сервер.
    Нужен IIS? В конце-концов - дотНЕТ - это виртуальная машина

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

    MVC, грубо - это модная технология, основанная на принципах ООП. Где разнесены методы вывода, хранения и управления.

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


    В полемику вступаю, потому что не вижу от Вас системного подхода к изложению.
     
  7. vladalien

    vladalien

    Регистрация:
    21 окт 2014
    Сообщения:
    9
    Симпатии:
    2
    Сейчас уже появляются намёки на запуск ASP.NET на Unix системах. Я уверен, вопрос нескольких лет максимум.

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

    Ну так почему же вы вместо того, чтобы дополнить/исправить начинаете просто оспаривать? Не вижу логики. Мы с вами спорим о том, что вижуал студия и тд - не удобно (с вашей точки зрения), но как этот относится к системному подходу к изложению? Видимо у нас немного разные понимания этого термина, другого объяснения я не вижу.

    P. S. Давайте, чтобы не засорять тему, мы договоримся не разводить тут споров. Хотите исправить/дополнить/помочь советом в плане того, как изложить лучше - пишите в личку. Если у вас сложилось своё мнение о технологии ASP.NET и оно отличается от моего - создайте свою тему и опишите это так, как видите вы. Я не претендую на единоверное толкование сей темы.
     
  8. rni

    rni

    Регистрация:
    21 фев 2014
    Сообщения:
    10
    Симпатии:
    0
    К минусу отнес бы то, что Visual Studio платный продукт.... Не думаю что все помчатся его покупать... а какие frameworkи есть? какие CMS работают на ASP?
     
  9. MyWeb

    MyWeb

    Регистрация:
    27 май 2015
    Сообщения:
    13
    Симпатии:
    1
    думаю в приделах стран СНГ - это не проблема...)
     
  10. solo_v7

    solo_v7

    Регистрация:
    18 янв 2016
    Сообщения:
    0
    Симпатии:
    0
    Visual Studio можно и на халяву юзать..сейчас на сайте майкрософта есть бесплатные версии и если уж так нужно, то ключей в интернете полно
     
  11. Dima_Myrzich

    Dima_Myrzich

    Регистрация:
    25 фев 2016
    Сообщения:
    0
    Симпатии:
    0
    триал версии не полные и глюченые (
     
  12. rom11

    rom11

    Регистрация:
    16 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Существуют ли бесплатные asp.net хостинги?
     
  13. Dima_Myrzich

    Dima_Myrzich

    Регистрация:
    25 фев 2016
    Сообщения:
    0
    Симпатии:
    0
    гугли.. врят ли что-то найдешь.Одни какашки(
     
  14. Пдфвшл

    Пдфвшл

    Регистрация:
    15 авг 2016
    Сообщения:
    0
    Симпатии:
    0
    Скоро будет больше, так как новый фреймворк выходит.
     
  15. Dima_Myrzich

    Dima_Myrzich

    Регистрация:
    25 фев 2016
    Сообщения:
    0
    Симпатии:
    0
    когда ?
     
  16. Rauan

    Rauan

    Регистрация:
    18 ноя 2016
    Сообщения:
    7
    Симпатии:
    11
    Насколько отстает по производительности на Shared Hostinge ?
     
  17. alex0name

    alex0name

    Регистрация:
    30 мар 2017
    Сообщения:
    0
    Симпатии:
    0
    А вот вам недостаток ASP это шарпы. Шарпы - это в большинстве своем Windows server и только он (есть подвижки майкростофта мол мы адаптируем, но пока это все вилами по воде писано). Если так нравится концепция MVС в аспе - посмотрите лучше Jave EE и JSF (Java server faces). Плюс, как по мне, у джавы инфраструктура получше и на джаве серверных платформ больше крутится. И да java тоже компилируется. И, кстати, не стоит забывать что шарпы и его .dll это не совсем Nаtive код (там тоже есть провежуточное ядро на котором віполняется код, преймущества по производительности с джавой нет). И да JAva тоже имеет много чего "из коробки" а если не имеет то есть куча реально хороших открытых проектов.
     
  18. вадим6789

    вадим6789

    Регистрация:
    17 сен 2017
    Сообщения:
    0
    Симпатии:
    0
    чисто мое мнение: процентов так на 10....
     
  19. l2ruleeez1

    l2ruleeez1

    Регистрация:
    24 ноя 2018
    Сообщения:
    0
    Симпатии:
    0
    мое на 5
     
  20. boorK

    boorK

    Регистрация:
    19 фев 2020
    Сообщения:
    0
    Симпатии:
    0
    мое мнение: процентов так на 10....