powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC vs WebForms
25 сообщений из 180, страница 2 из 8
MVC vs WebForms
    #37743459
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонShSergeНе понял, что у Вас с моском?

Это нормально, читать и понимать не одно и тоже.


ShSergeАргумент в пользу вэбформс - самый главный - низкий порог вхождения и простота изучения при переходе с десктопных приложений.

На этот сомнительный аргумент, многие и купились в свое время.
Проблема в том, что не все то, что на первый взгляд просто в изучении, позволяет так же просто, разрабатывать нормальные приложения. Результат мы видим, а именно, люди просто и весело пишут справочники.
Мало того, целое поколение мышкопрограмистов подросло.
Люди покупают контролы, которые пишутся за минуты и предстовляют из себя, одну табличку c сортировкой и стилями.
Это все забавно :)

Ну то чем занимаются "мышкопрограмисты" на формах мы поняли, пишут справочники и продают и покупают контролы. Нормальная, такая офисная работа. И при наличии опыта и запаса тех же контролов, прикладное приложение собрать намного проще.
А чем заняты именно Вы Парамон, над чем в данный момент трудитесь?
--
Низкий порог вхождения это значит потратит меньше времени на изучение и больше на
непосредственно работу.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743474
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И суть в том, Парамон, что когда уже есть немного опыта и контролов. Появляется больше свободного времни для чтения литературы, например, или оптимизации работающих приложений.
--
Для не требующих сложного UI проектов, появляется необходимость в более гибкой чем формы
абстакции и небольшом кол-ве утилит по работе с ней. И рекламируемый сейчас на рынке
ASP.NET MVC выглядит не убедительно.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743555
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsyselskyНу то чем занимаются "мышкопрограмисты" на формах мы поняли

Это радует, хотя мне без разницы.

tsyselskyпишут справочники и продают и покупают контролы.

Больше покупают, для продажи их нужно уметь делать.
tsyselskyНормальная, такая офисная работа. И при наличии опыта и запаса тех же контролов, прикладное приложение собрать намного проще.
При наличии опыта и запаса, можно многое, тут не спорю :)

tsyselskyА чем заняты именно Вы Парамон, над чем в данный момент трудитесь?

Вышиванием наверно.
tsyselskyИ рекламируемый сейчас на рынке
ASP.NET MVC выглядит не убедительно.

Увы, это то что имеем.
Вы пишите много букав, а я все жду реальные примеры, удачных работ на формах, за 10 лет.

tsyselskyНизкий порог вхождения это значит потратит меньше времени на изучение и больше на
непосредственно работу.
Чем меньше учим, тем больше работаем, все правильно :)
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743558
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И по поводу "Hello world! чятика" как-то тихо стало :]

Начну я. Моя поделка, не то что бы чатик скорее серверок, похоже даже асинхронный.
Посты хранит в объекте MailboxProcessor<'Msg>.
Собран на базе двух статей в MSDN за пару часов. Не дебажил и не трейсил.
Начал бы ло рисовать UI, но лениво как то.
Парамон, нарисуете на ASP.NET MVC для него кнопки?
Как по мне простого JS для этих целей достаточно.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
namespace Simple
open System.Net
open System.Xml
open System.Xml.Linq
module HttpListener =    
    type msg =
    | Incr of string
    | Fetch of AsyncReplyChannel<string>

    let run (url:string,handler: (HttpListenerRequest -> HttpListenerResponse -> Async<unit>)) = 
        let listener = new HttpListener()
        listener.Prefixes.Add url
        listener.Start()
        let asynctask = Async.FromBeginEnd(listener.BeginGetContext,listener.EndGetContext)
        async {
            while true do 
                let! context = asynctask
                Async.Start (handler context.Request context.Response)
        } |> Async.Start 
        listener
    
    let counter =
        MailboxProcessor.Start(fun inbox ->
            let rec loop p =
                async { let! msg = inbox.Receive()
                        match msg with
                        | Incr(x) -> return! loop(p + x)
                        | Fetch(replyChannel) ->
                            replyChannel.Reply(p)
                            return! loop(p) }
            loop "\n")

    let up = run("http://*:80/Chat/", (fun req resp -> 
            async { // post format: http://server:80/Chat/it?post=message 
                let post = try req.QueryString.GetValues("post") |> Array.min with e -> "no comment\n"
                counter.Post(Incr (sprintf "<div class='chatroom'>%s</div>" post))
                let str = counter.PostAndReply(fun replyChannel -> Fetch replyChannel)
                let out = System.Text.Encoding.ASCII.GetBytes (sprintf "<div class='chatroom'>%s</div>" str)
                resp.OutputStream.Write(out,0,out.Length)
                resp.OutputStream.Close()
            }
        )) 

    up |> fun server -> printf "server.IsListening: %b\n" server.IsListening
    System.Console.Read () |> ignore



https://skydrive.live.com/?cid=837da20fba6ded21#cid=837DA20FBA6DED21&id=837DA20FBA6DED21%21788
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743562
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонtsyselskyИ рекламируемый сейчас на рынке
ASP.NET MVC выглядит не убедительно.

Увы, это то что имеем.
Вы пишите много букав, а я все жду реальные примеры, удачных работ на формах, за 10 лет.


Я постоянно этот пример привожу. Это то чем я и многие другие пользуются ежедневно - SharePoint.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743565
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонtsyselskyА чем заняты именно Вы Парамон, над чем в данный момент трудитесь?

Вышиванием наверно.


Похоже что именно этим. Разрешите на код взглянуть?
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743581
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
open System.Xml
open System.Xml.Linq



вот эти две либы "на вырост" в проекте, если шаблон какой прикрутить нужно.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743671
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsyselskyНачну я.

Я с вами не договаривался :)

tsyselskyне то что бы чатик скорее серверок, похоже даже асинхронный.

Не понял, Вы сервер разработали? Я сдаюсь, и падаю ниц. )

tsyselskyСобран на базе двух статей в MSDN за пару часов.

Ага, Вы будете часами собирать статейки, а я к ним UI прикручивать :)

tsyselsky
Парамон, нарисуете на ASP.NET MVC для него кнопки?

Это можно
Код: html
1.
2.
        <input type="button" id="Btn1" value="кнопка 1" />
        <input type="button" id="Btn2" value="кнопка 2" />



tsyselsky
Как по мне простого JS для этих целей достаточно.

Как по мне, простого HTML с головой :)

и даже интеактивность, специально для вас :)

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        $(function ()
        {
            $('#Btn1').click(function ()
            {
                var goToUrl = '/выход';

                if (confirm('убить себя об стену?'))
                    goToUrl = '/стена';

                window.location.href = goToUrl;
            });
        });



не проверял, но должно работать
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743683
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонtsyselskyНачну я.

Я с вами не договаривался :)


Это верно. Предложение внес ShSerge но я тоже был бы не против взглянуть на код.

Парамонtsyselskyне то что бы чатик скорее серверок, похоже даже асинхронный.

Не понял, Вы сервер разработали? Я сдаюсь, и падаю ниц. )


Не нужно никуда падать, код покажите, Вы похоже опытный программер.
Наверняка есть чем удивить аборигенов. Просим.
И да это серверок.

ПарамонtsyselskyСобран на базе двух статей в MSDN за пару часов.

Ага, Вы будете часами собирать статейки, а я к ним UI прикручивать :)

Нет конечно, мне идея Сержа с "чатиком" понравилась. Решил поучавствовать.
И Вам предлагаю сделать тоже самое. Just for fun. Задачка ведь пустяковая.

Парамонtsyselsky
Парамон, нарисуете на ASP.NET MVC для него кнопки?

Это можно
Код: html
1.
2.
        <input type="button" id="Btn1" value="кнопка 1" />
        <input type="button" id="Btn2" value="кнопка 2" />



tsyselsky
Как по мне простого JS для этих целей достаточно.

Как по мне, простого HTML с головой :)
и даже интеактивность, специально для вас :)
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        $(function ()
        {
            $('#Btn1').click(function ()
            {
                var goToUrl = '/выход';

                if (confirm('убить себя об стену?'))
                    goToUrl = '/стена';

                window.location.href = goToUrl;
            });
        });



не проверял, но должно работать
Ну это даже комментировать не хочется. Это все что вы можете? :] Неверю (с)
"Hello world чятик" Парамон, не стесняйтесь.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743705
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsyselskyНу это даже комментировать не хочется. Это все что вы можете? :] Неверю (с)
"Hello world чятик" Парамон, не стесняйтесь.

Я сдался уже, чего вы еще хотите?

Но повторюсь, выкладываете рабочий чат на формах, я делаю аналог на MVC.
Но не Вам, может для Сержа, из уважения к должности.
Вы продолжайте MSDN почитывать, ума набиратся, пока результатов не видно )

ps
Пока я сомневаюсь в вашей адекватности, и серьезно, без улыбки, не могу читать, то что вы несете.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743729
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонtsyselskyНу это даже комментировать не хочется. Это все что вы можете? :] Неверю (с)
"Hello world чятик" Парамон, не стесняйтесь.

Я сдался уже, чего вы еще хотите?


"Hello world чятик" на ASP.NET MVC ниписанный Вами.

ПарамонНо повторюсь, выкладываете рабочий чат на формах, я делаю аналог на MVC.
Но не Вам, может для Сержа, из уважения к должности.

Изначально ShSerge предложил написать чат без всяких фрейморков.
Html/JS/C#/SQL и его аналог на PHP.
Вы обещались тоже самое сделать c использованием ASP.NET MVC.
Так дело было?
И почему только для Сержа, думаю всем интерестно будет.
--
Я заюзал F# и если Вам нужна морда для сервера я напишу ее, точную копию Вашей, только на формах, не вопрос.

ПарамонВы продолжайте MSDN почитывать, ума набиратся, пока результатов не видно )


Ну почему не видно, я запостил код. Если нашли в нем глупости или ошибки.
Критикуйте.

Парамон
ps
Пока я сомневаюсь в вашей адекватности, и серьезно, без улыбки, не могу читать, то что вы несете.
Ну то что с улыбкой читаете, это хорошо :]
А что именно Вас развеселило?
И почему апологеты ASP.NET начинают грубить и обвинять в неадекватности
когда просиш их привести плюсы используемой ими платформы или кусок кода показать.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743731
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апологеты ASP.NET MVC имеется ввиду
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743746
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsyselsky
Ну почему не видно, я запостил код. Если нашли в нем глупости или ошибки.
Критикуйте.


Без знания F# вижу бред, вне критики.

Код: c#
1.
  let up = run("http://*:80/Chat/", (fun req resp -> 



Ссылки корня, выносят в отдельные переменные, " http://*:80/, может изменится, а лучше в конфиг.

Код: c#
1.
counter.Post(Incr (sprintf "<div class='chatroom'>%s</div>" post))



Что за фарш из разметки и кода? Вы это в MSDN нашли?

Займитесь админством, често, ну не ваше это. :)
И мне тупо не интересно, каждому встречному, что либо доказывать бесплатно.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743747
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

Что касается меня, то сейчас для меня это дело не очень удобно. Визуалстудии дома нет, а от балды писать достаточно тяжело.
Могу рассказать как я это сделаю, если интересно конечно.

Допустим, в базе имеется табличка, типа айдишник, контент варчар(2000), айдишник_юзера, текущее дата-время.
На сишарпе имеентя хендлер, пускай chat.ashx, получающий параметры:айди-юзера, моду (добавить или прочитать) и какой-то таймстамп, чтобы браузер по урл не кешировал, ну и если мода "добавить", то ещё и текст туда же. Собственно, в хендлере только два SQL-запроса, прочитать и записать. Возвращает он данные в виде JSONP (не путать с JSON), то есть яваскриптовый вызов, типа getText(txt), где тхт - собственно, текст, если прочитать, или чё-то типа isOK(true/false), если записать. С серверной частью - всё!

Клиентская часть - хтмл+яваскрипт. Текстареа не используем - устаревшая штука. Используем <div contenteditable="true">, что решит наши проблемы со спецсимволами. Кстати, на сервере ещё надо проверять на буквосочетание "<script", приведённое к какому-то регистру, чтобы не было JS-инъекций.

В хтмл два дива - первый отображает, что прочитано из базы, второй - контентэдитабле, что сейчас пишешь, ну и кнопка "отправить".
На клиенте работает таймер, который раз в 3 секунды криэйтит и вызывает скрипт, у которого src=chat?mode=read... . Технология называется JSONP. Его ещё называют "кроссдоменный аякс".

Поскольку, используется контентэдитабле, то без проблем можно добавить форматирование текста, смайлики и т.д. и т.п. .
Ну, ладно, за 15 минут не сделаю, но за полдня - запросто.
И никаких фреймворков, только оригинальный лицензионно-чистый код!
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743753
Фотография tsyselsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонtsyselskyНу почему не видно, я запостил код. Если нашли в нем глупости или ошибки.
Критикуйте.


Без знания F# вижу бред, вне критики.

Код: c#
1.
  let up = run("http://*:80/Chat/", (fun req resp -> 



Ссылки корня, выносят в отдельные переменные, " http://*:80/, может изменится, а лучше в конфиг.

Код: c#
1.
counter.Post(Incr (sprintf "<div class='chatroom'>%s</div>" post))



Что за фарш из разметки и кода? Вы это в MSDN нашли?

Займитесь админством, често, ну не ваше это. :)
И мне тупо не интересно, каждому встречному, что либо доказывать бесплатно.

Речь была о 'Hello world' варианте, "фарш" всунул для наглядности, ну да бог С Вами.
Пишите код, читайте книги, успехов.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743759
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

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

Контроллер

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
        [HttpPost]
        [NoCache]
        public int AddMessage(ChatForm frm)
        {
            if (string.IsNullOrEmpty(frm.ChatMessage) || !CurrSession.IsValidChat)
                return 0;

            string NickName = CurrSession.Nickname;
            int TypeID = 0;
            int CustomerID = 0;

            if (CurrSession.IsValidCustomer)
            {
                NickName = CurrSession.CustomerUserName;
                CustomerID = CurrSession.CustomerID;
                TypeID = 1;
            }

            cRep.AddMessage(frm.ChatMemberID, NickName, frm.ChatMessage, TypeID, CustomerID);

            return 1;
        }

        [NoCache]
        public ActionResult List(int mID)
        {
            if (!CurrSession.IsValidChat)
                return Content("");

            var data = new ChatMessagesView
            {
                MemberID = mID,
                SmilesList = cRep.GetSmiles(),
                MessagesList = cRep.GetChatMessages(mID, 30, CurrSession.ChatStartTime)
            };
            return PartialView("_Messages", data);
        }



Сервис

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
        public void AddMessage(int MemberID, string Nickname, string Message, int TypeID, int CustomerID)
        {
            var m = new tblChatMessage();
            m.MemberID = MemberID;
            m.Nickname = Nickname;
            m.Message = Message;
            m.PostDate = DateTime.Now;
            m.TypeID = TypeID;
            m.CustomerID = CustomerID;

            db.AddTotblChatMessages(m);
            db.SaveChanges();
        }

        public IEnumerable<ChatMessage> GetChatMessages(int MemberID, int Num, DateTime StartDate)
        {
            return (from t in db.tblChatMessages
                    where t.MemberID == MemberID && t.PostDate >= StartDate
                    orderby t.MessageID descending
                    select new ChatMessage
                    {
                        Nickname = t.Nickname,
                        Message = t.Message,
                        TypeID = t.TypeID
                    }).Take(Num);
        }



Представление

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
@model ChatMessagesView

@foreach (var m in Model.MessagesList)
{
    <div class="@Model.MessageCss(m.TypeID)">
      @m.Nickname: @Model.SetMessage(m.Message)
    </div>
}



клиент
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
      $('a.ChatSendBtn').click(function ()
        {
            if (!$('#ChatMessage').val())
                return;

            var data = $('#ChatForm').serialize();
            $('#ChatMessage').val('');
            var ChatMemberID = $('#ChatMemberID').val();
            $.post("/chatbox/addmessage", data, function (val)
            {
                ShowChatMessages(ChatMemberID);
            });
        });


function ShowChatMessages(ChatMemberID)
{
    $.get("/chatbox/list?mID=" + ChatMemberID, function (data)
    {
        $('#ChatMsgList').html(data);
    });
}



ShowChatMessages по таймеру, показывает сообщения.
MVC + EF + JS
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743760
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Жду более чистого кода, на формах.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743761
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsyselskyПишите код, читайте книги, успехов.

Спасибо, удачного админства :)
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743767
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонShSerge,

Жду более чистого кода, на формах.
А там и не нужно никаких форм. Хотя, можно и на них (и на мвц тоже). Там простой статический хтмл-файл, который хоть на рабочий стол можно положить, и один-единственный хендлер. Вэб-формс, возможно, пригодится для регистрации. Здесь мы уже предполагаем, что пользователь зарегистрирован.
Я о том говорю, что программирование на вэб - очень простая штука. Нафига там какие-то фреймворки, не понятно. Понимаю только зачем вэб-формс, но это и так ясно: перетащил мышкой и работает.
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743772
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge Нафига там какие-то фреймворки, не понятно. Понимаю только зачем вэб-формс, но это и так ясно: перетащил мышкой и работает.

Про справочники и мышкопрограмистов уже писал :)
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743785
Oopss...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторMVC + EF + JS
гыгы - не вводи людей в заблуждение!

( ASP.NET MVC FW != MVC) + ( ADO.NET Entity Framework != Structured Query Language) + ( JQuery != javascript)
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743810
Oopss...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что бы мысль была более понятной -

Картина маслом не пахнет типографской краской!
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743837
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oopss...( ASP.NET MVC FW != MVC) + ( ADO.NET Entity Framework != Structured Query Language)



Было представленно именно MVC, без связи к платформе. Можно переписать и на assembler :)

Oopss...JQuery != javascript

JQuery == JavaScript Framework

зы
Почему анонимно? Стыдимся чушь писать?
Да норма, все свои :)

Чаты на формах + ADO в студию
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743871
Oopss...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПочему анонимно? Стыдимся чушь писать?
а в чём чушь? ;)
в том что ты специалист одного FW? и в его отсутствие программирование для тебя станет не более чем пустой звук!?
авторЧаты на формах + ADO в студию
как по мне, так абсолютно по... на чём будет написано веб приложение, бо зная javascript разобраться в jQuery несложно (как частный пример)!
авторБыло представленно именно MVC, без связи к платформе.
ну да, ну да... ;)))
...
Рейтинг: 0 / 0
MVC vs WebForms
    #37743888
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oopss...в том что ты специалист одного FW? и в его отсутствие программирование для тебя станет не более чем пустой звук!?


Нед! Я еще и на машинке шить умею!
Могу на формах и на php, написать это чат, и не только, но не буду, в этой ветке я оппонет формам, просто развлечься :)

зы
Так хоть один аргумент в пользу форм, будет?
...
Рейтинг: 0 / 0
25 сообщений из 180, страница 2 из 8
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC vs WebForms
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]