Здравствуйте, marcopolo, Вы писали:
M>Здравствуйте, sharez, Вы писали:
S>>Чтобы не заниматься рефакторингом, нужно... не получится так. Даже аргументировать лень. Да постоянно хочется сменить название на более вменяемое. S>>Поиск-замена настолько примитивный способ, что не подойдёт в ряде случаев.
M>Кому как. Лично мне более удобны более примтивные инструменты, они не зависят от криворукой реализации рукожопых индусов и стабильны и их не нужно изучать каждые полгода. У меня такой подход в целом по жизни, не только к ПРГ.
Чо там изучать-то. Курсор на идентификатор, F2, Enter. В языках со строгой типизацией всё работает со 100% надежностью. В Java и C# давно уж пользуются благами цивилизации, и только пользователи Delphi до сих пор не видят необходимости туалета в доме.
Здравствуйте, sharez, Вы писали:
S>Чо там изучать-то. Курсор на идентификатор, F2, Enter. В языках со строгой типизацией всё работает со 100% надежностью. В Java и C# давно уж пользуются благами цивилизации, и только пользователи Delphi до сих пор не видят необходимости туалета в доме.
Здравствуйте, sharez, Вы писали:
S>делаю вывод, что рефакторинг ИДЕ Делфи так и не поддерживает
Поддерживает очень давно.
Твой коллега ушел в закат, может ты хоть объяснишь, почему ты с делфи никак не связан (ну а иначе почему ты нихрена о делфи не знаешь), но тем не менее у тебя из-за делфи такая сильная попоболь? Почему тебе не пофиг, дружок?
Здравствуйте, gangastyle, Вы писали:
G>Есть смысл использовать для web-приложений в шароваре?
Резонерский ответ звучит так: зависит от того, что вы планируете делать.
В целом, концепция у ребят очень напоминает ASP.Net Web Forms. Я не знаю, смогли ли они избежать проблем, которые были присущи технологии от MS — для этого нужно куда более глубокое погружение...
Но если в 2-х словах, Web Forms — были попыткой притянуть в Web методологии разработки как на Desktop, причем в серверном коде.
В частности они хотели чтобы программист мог:
используя редактор форм, визуально накидать компоненты (в том числе от сторонних поставщиков)
добавить свой кастомный код в виде обработчиков событий от этих компонент.
Т.е. чтобы он писал на C#/VB не особо заморачиваясь особенностями Web, и не задумываясь о сложностях клиент-серверной разработки.
Ради этого пришлось создать весьма сложный цикл обработки запросов. Т.е. после того, как пользователь на вашей форме нажал кнопку (или сделал что-то, что требовало обоработки на сервере), и запрос приходил на сервер, происходило просто куча всего:
строилась заново вся строаница со всеми компонентами
восстанавливалось состояние компонентов (внешние свойства, внутреннее состояние, ...)
"накатывалось" новое состояние (изменения из формы)
компоненты начинали менять свое внутреннее состояние и генерировать события (например, нажатие кнопки или смена текста в поле ввода). Собственно ради этого всё и затевалось, т.к. в этот момент у разработчика есть готовая форма со всеми состояниями и он может работать с ней, как с обычной десктопной.
после того как все события отработали (и поменяли состояние контролов) происходит 2 вещи: все контролы снова сохраняют свое текущее состояние и генерируют html для отпраки на клиент (идет рендеринг).
Собственно, эта модель и продила весь ворох проблем, который был у Web Forms
громоздкий и не сильно поддающийся оптимизации жизненный цикл страницы (откровенно говоря, не все разработчики его хорошо понимали, т.к. на каждом этапе свои ограничения).
затраты на сохранение/восстановление состояния контролов. Один из способов — сохранение всего состояния внутри самой передаваемой страницы, в скрытом поле (пресловутый ViewState) порождал огромные тяжеловесные страницы (особенно когда число компоенентов начинало превосходить "пару полей и 2 кнопки")
сложность кастомизации и верстки. Несмотря на то, что в Web Forms можно было смешивать верстку на HTML и серверные контролы, делать это зачастую было очень не просто: каждый контрол мог иметь свои особенности рендеринга HTML, которые нужно было учитывать, были определнные правила именования и задания ID (чтобы страницу корректно восстановить!), ну и еще куча нюансов.
вопрос поддержки клиентского кода. Это отдельная боль, т.к. нужно очень хорошо понимать, что именно сгенерированно на странице, что можно делать, а что нельзя. Да просто — как найти нужный тэг — уже вопрос.
Честно говоря, очень быстро стало понятно, что идея "сделать модель разработки как в Desktop, но для Web" — провалилась. И разработчики вместо использования своего имевшегося опыта в настольной (или web, но для других платформ) были вынуждены изучать особенности Web Forms, а затем бороться с ними.
Возможно разработчики этого фреймворка учли неудачный опыт Microsoft, и описанные мною проблемы (или их аналоги) здесь отсутствуют.
Понять это по их примерам практически не реально — там нет никаких сложных форм, там только демонстрация отдельных контролов
Если же нет (т.е. не смогли избежать тех же проблем), то я бы скзал что единственный резон использования данного фреймворка — создание небольших "на скорую руку" приложений для какого-то из имеющихся заказчиков.
Т.е. когда своих готовых Web разработчиков нет, изучать ни времени, ни желани — тоже нет. а заказчик просит.
МР>В целом, концепция у ребят очень напоминает ASP.Net Web Forms.
Я так понял что там всё заделали на JavaScript+Ajax никаких ASP.Net Web Forms там и близко нету.
Но как они организовали обработку на серверной стороне неясно (я так понимаю что это ложится тяжелым грузом на разработчика потому что ему придется самому выискивать в HTML где там что хранится и малейшее изменение HTML разметки может нарушить работу такого веб-приложения)
Здравствуйте, Kerk, Вы писали:
K>Твой коллега ушел в закат, может ты хоть объяснишь, почему ты с делфи никак не связан (ну а иначе почему ты нихрена о делфи не знаешь), но тем не менее у тебя из-за делфи такая сильная попоболь? Почему тебе не пофиг, дружок?
Никакой попоболи. Интерес абсолютно теоретический, ибо уже много лет я занимаюсь вебом, Delphi там совсем нерилейтед. А вот Java — очень даже, и с рефакторингом у него всё в шоколаде было даже в те времена, когда многие делфисты и знать не знали слова "рефакторинг".
А вот ваши коллеги в соседней ветке доказывают мне, что рефакторинг нинужен. Надо всем рассказать благую весть
P. S.: расслабьтесь, я просто полюбопытствовать зашел и пошутить. Не могу пройти мимо любителей Delphi или Gimp. Впрочем, на Delphi я сам пописывал (но продать не смог), и ведь когда-то особых альтернатив по удобству и функционалу не было. Так же как и Gimp когда-то был так же неюзабелен, как и Photoshop (теперь неюзабелен только Gimp).
Здравствуйте, Михаил Романов, Вы писали:
МР>затраты на сохранение/восстановление состояния контролов. Один из способов — сохранение всего состояния внутри самой передаваемой страницы, в скрытом поле (пресловутый ViewState) порождал огромные тяжеловесные страницы (особенно когда число компоенентов начинало превосходить "пару полей и 2 кнопки")
Но ведь древний RDS обеспечивает хорошую скорость отклика. Почему нельзя выполнять приложение на сервере, и содержимое окна программы передавать аналогично тому, как работает RDS?
>Но ведь древний RDS обеспечивает хорошую скорость отклика. Почему нельзя выполнять приложение на сервере, и содержимое окна программы передавать аналогично тому, как работает RDS?
Потому что с RDS одновременно работает максимум 10 человек, тогда как с веб-сайтом могут работать сотни тысяч одновременно.
Здравствуйте, turbocode, Вы писали:
МР>>В целом, концепция у ребят очень напоминает ASP.Net Web Forms.
T>Я так понял что там всё заделали на JavaScript+Ajax никаких ASP.Net Web Forms там и близко нету. T>Но как они организовали обработку на серверной стороне неясно (я так понимаю что это ложится тяжелым грузом на разработчика потому что ему придется самому выискивать в HTML где там что хранится и малейшее изменение HTML разметки может нарушить работу такого веб-приложения)
Там все гораздо КРУЧЕ!
Используется https://www.sencha.com/products/extjs/#overview
Кстати, эту контору (SENCHA) сейчас покупает Embarcadero и UniGUI будет
включен в Delphi...
так что вот такие дела, друзья...
Здравствуйте, rfillipenko, Вы писали:
МР>>затраты на сохранение/восстановление состояния контролов. Один из способов — сохранение всего состояния внутри самой передаваемой страницы, в скрытом поле (пресловутый ViewState) порождал огромные тяжеловесные страницы (особенно когда число компоенентов начинало превосходить "пару полей и 2 кнопки")
R>Но ведь древний RDS обеспечивает хорошую скорость отклика. Почему нельзя выполнять приложение на сервере, и содержимое окна программы передавать аналогично тому, как работает RDS?
Здравствуйте, sharez, Вы писали:
K>>Твой коллега ушел в закат, может ты хоть объяснишь, почему ты с делфи никак не связан (ну а иначе почему ты нихрена о делфи не знаешь), но тем не менее у тебя из-за делфи такая сильная попоболь? Почему тебе не пофиг, дружок?
S>Никакой попоболи. Интерес абсолютно теоретический, ибо уже много лет я занимаюсь вебом, Delphi там совсем нерилейтед. А вот Java — очень даже, и с рефакторингом у него всё в шоколаде было даже в те времена, когда многие делфисты и знать не знали слова "рефакторинг".
Ну а в Delphi, например, анонимные функции появились когда "многие джависты и знать не знали такого слова", лет на 5 раньше.
Это бесконечный холивар. Да и бессмысленный
Я и сам на делфи уже не пишу, но не понимаю этого хейтерства. Детство какое-то.
---
Вспомнилась история.
Есть у меня знакомый, в прошлом фанатик C++. Холиварил всегда и со всеми. В сторону Делфи у него был любимый аргумент, что в Делфи нет множественного наследования и это отстой (вообще тогда это был очень распространенный аргумент в холиварах).
В те годы дотнет только появлялся и приехал к нам пропагандист мелкософта рассказать про новые технологии, про C#. И в какой-то момент уже после выступления этот товарищ встал и гордо спросил про множественное наследование. Мелкософтовец ответил: "В C# множественного наследования нет, да и не нужно оно никому на самом деле". Я лицо товарища до сих пор помню Но ничего, проглотил. Пишет до сих пор на C# и Java.
Вы заметили, кстати, что сейчас никто не говорит, что в Делфи нет множественного наследования? Как-то действительно оказалось оно никому не нужно, был прав мелкософтовец
Уровень холиваров упал. Нынче делфи обвиняют не в отсутствии множественного наследования (что правда), а в отсутствии вещей, которые в Делфи лет 10 уже как есть.
Здравствуйте, Kerk, Вы писали: K>Уровень холиваров упал. Нынче делфи обвиняют не в отсутствии множественного наследования (что правда), а в отсутствии вещей, которые в Делфи лет 10 уже как есть.
Да можно, не объектами правда, а интерфейсами.
Здравствуйте, AWSVladimir, Вы писали:
K>>Уровень холиваров упал. Нынче делфи обвиняют не в отсутствии множественного наследования (что правда), а в отсутствии вещей, которые в Делфи лет 10 уже как есть. AWS>Да можно, не объектами правда, а интерфейсами.
Множественное наследование интерфейсов, а не классов, нынче по сути мейнстрим. Но 15 лет назад сишники про это не знали и очень смешно холиварили
W>Там все гораздо КРУЧЕ! W>Используется https://www.sencha.com/products/extjs/#overview
Это фронтенд, про сервер-сайд ничего не пишут.
W>Кстати, эту контору (SENCHA) сейчас покупает Embarcadero и UniGUI будет
Писали что "Компания Embarcadero Technologies продана компании Idera"
Там уже не поймешь кто кого продал и кто кого купил.
Здравствуйте, turbocode, Вы писали:
W>>Кстати, эту контору (SENCHA) сейчас покупает Embarcadero и UniGUI будет T>Писали что "Компания Embarcadero Technologies продана компании Idera" T>Там уже не поймешь кто кого продал и кто кого купил.
Здравствуйте, wamaco, Вы писали:
W>>>Там все гораздо КРУЧЕ! W>>>Используется https://www.sencha.com/products/extjs/#overview T>>Это фронтенд, про сервер-сайд ничего не пишут.
W>Так сервер сайд это программа на Delphi, она все и делает, обращается к БД и т.д. W>Сервер должен быть на Windows
Не знаю конкретно про эту либу, но вообще Delphi может и под линукс компилить.
Здравствуйте, turbocode, Вы писали:
W>>Так сервер сайд это программа на Delphi, она все и делает, обращается к БД и т.д. W>>Сервер должен быть на Windows
T>То есть на каждого посетителя сайта будет на сервере запускаться программа на Delphi?
А как по-твоему работают сайты? Ну вот RSDN, например?