Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.10;
Скачать: CL | DM;

Вниз

О выборе платформы для ВЕБ и ФТП сервера   Найти похожие ветки 

 
kaif ©   (2007-12-24 14:53) [80]

Возможно ASP.NET - пока не лучший выбор для написания Web-сайтов для WWW. Если исходить из того, что пользователь отключил все куки, джава-скрипты и использует специально экзотический браузер, то в ASP.NET придется отказаться от 90% его прелестей. К тому  же, выбирая ASP.NET, мы ограничиваем себя в выборе хотера, чего не происходит, если ставка делается на связку PHP+MySQL.

Однако для интранет-приложений и специализированных систем, ИМХО, ASP.NET 2.0 - на сегодня очень привлекательный выбор. И вполне достойная альтернатива системам на JAVA. А для дельфиста, ИМХО. ASP.NET - вещь более элегантная, нежели Tomcat. Так как объектно-ориентированное мышление в голове у дельфиста, ИМХО, сильно отличается от оного в голове у джависта. Оно, если можно так выразиться, более прагматично, более визуально и лучше ощущает ресурсы, которые юзает закетно или незаметно для себя самого.


 
homm ©   (2007-12-24 14:54) [81]

> [75] Kerk ©   (24.12.07 14:31)
> И какая же CMS позволяет не смешивать разметку с кодом?

Я слабо себе предствляю, как .NET не смешивать разметку с кодом. Все равно, если у тебя набор элементов, некоторые их которых выводятся в зависимости от группы пользователя, другие от текущего раздела, не получится не смешать. А если получится, неужели это будет эфективнее, вместо операторов языка видеть операторы вставки класа реализуещего уловие, потом лезть в код этого класса, искать уловие. Не лучше ли, если сразу видно все. А на уровне «вот большой кусов разметки» , а вот «большой кусок кода» то большенство, наверное позволяют.


 
Kostafey ©   (2007-12-24 14:57) [82]

> kaif ©  

Мы, конечно в разных весовых категориях,
но я постараюсь выступить в защиту Java.


> Пример на JSP (выводим столбец таблицы с цифрами от 1 до 10):
> <HTML>
> <BODY>
> <table>
> <% for (int i=0; i<10;i++){
>    %><tr><td>%> <%=i + 1%> <%</td></tr><%
> }%>
> </table>
> </BODY>
> </HTML>

зато наглядно :)


> Пример на ASP.NET:
>
> ..
> <HTML>
> <BODY>
> <cc:MyComponent start="1" stop="10"/>
> </BODY>
> </HTML>

Вообще, есть такая штука JSF, очень похоже на
приведенный код.


> [72] kaif ©   (24.12.07 14:20)
> А что касается серьезности...
>
> Давайте так.
> Вот если Вы заменили страницу JSP, то из нее будет сгенерирован
> текст класса сервлета, сервлет откомпилирован и Tomcat автоматически
> подключит этот новый сервлет.
> А вот если Вы изменили исходный текст используемого обычного
> JAVA-класса или исходный текст явно используемого сервлета
> (например, сервлета-контроллера), то Вам придется после
> компиляции этих классов руками перезапускать Tomcat.

Вот Weblogic точно не потребует перезагрузки, хоть
все классы сразу перекомпилируй.

Tomcat - тут проблемматичнее, но по-моему
у меня получалось без перезапуска перекомпилированные классы
Web-приложения прикручивать.


 
kaif ©   (2007-12-24 15:02) [83]

Ломброзо ©   (24.12.07 14:47) [79]
Что-то вы недоучили. Бегло: в ASP.NET тоже есть прекомпиляция, и все предкомпилированные страницы валяются на моей, например, машине в c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files.


Допустите, что мне это известно.

Что же касается компонентов, то в JSP не существует компонентов в том смысле, какой используется в ASP.NET (каждый компонент сам генерирует свою часть HTML-разметки) или я о них ничего не знаю.
Расскажите поподробнее о "компонентах" для JSP и мы сможем сравнить это с тем, что сделано в ASP.NET. Вы, вероятно, хорошо в этом разбираетесь. А я хорошо разобрался в том, что такое компонент ASP.NET. Нам есть о чем поговорить.


 
b z   (2007-12-24 15:09) [84]


> Возможно ASP.NET - пока не лучший выбор для написания Web-
> сайтов для WWW. Если исходить из того, что пользователь
> отключил все куки, джава-скрипты и использует специально
> экзотический браузер, то в ASP.NET придется отказаться от
> 90% его прелестей.

ASP.NET, как и другие (PHP ...), не позиционируют себя как средство создания только сайтов, это уже уровень приложений. А со всеобщей любовью к AJAX и т.п. (SilverLight ...) актуальность отключения сводится "на нет". Да и к тому же, если пользователь намерян воспользоваться неким ресурсом, то и поступать будет соответственно, а ресурсу и все не нужны.


> К тому  же, выбирая ASP.NET, мы ограничиваем себя в выборе
> хотера, чего не происходит, если ставка делается на связку
> PHP+MySQL.

Я сейчас работаю в компании, являющейся по основному своему направлению - хостером, и поверте, это не проблема, предложений много и в цене не уступают.


 
kaif ©   (2007-12-24 15:18) [85]

homm ©   (24.12.07 14:54) [81]
> [75] Kerk ©   (24.12.07 14:31)
> И какая же CMS позволяет не смешивать разметку с кодом?

Я слабо себе предствляю, как .NET не смешивать разметку с кодом. Все равно, если у тебя набор элементов, некоторые их которых выводятся в зависимости от группы пользователя, другие от текущего раздела, не получится не смешать.


Если представлять себе страницу ASP как нечто, что будет сканироваться сверху вниз и синхронно превращаться в HTML-результат (как это сделано в PHP и JSP), то, разумеется, это совершенно невозможно будет себе представить.

А теперь возьмите файлы *.pas и *.dfm в Дельфи.
И ответьте мне на вопрос. Возможно ли решить ту задачу, о которой Вы говорите (не высвечивать какие-то контролы в каких-то ситуациях) без того чтобы вставлять программный код в файл *.dfm ?

Вот в *.dfm лежат лишь свойства контролов. А в *.pas-е обработчики событий формы, функции и прочий программный код.
Разве это не банальный пример разделенного кода?

В JSP до того как дело дошло до строки, в которой написано

for (i = ...

система не знает, что вообще предполагается дальше.

А в ASP.NET система сначала сканирует всю страницу разметки, затем создает все компоненты, а затем только начинает генерировать HTML-результат. То есть там больше одного прохода. Причем сканирование разметки происходит на стадии компиляции. А на стадии исполнения происходит создание дерева компонентов, потом вызов событий, потом в конце - генерация HTML, причем каждому компоненту предлагается самому сгенерировать свою разметку. Поэтому в событии Page_Load Вы можете присвоить ряду компонентов состояние Visible=false и они просто не выведут себя в результирующий HTML-код, если это требуется.

И все эти присвоения

aaa.Visible=false;
bbb.Visible=false;
...

у вас будут сосредоточены в одном месте, в обработчике Page_Load а не разбросаны по всей странице в виде if-ов вперемкешку с HTML-тэгами.


 
kaif ©   (2007-12-24 15:21) [86]

2 b z   (24.12.07 15:09) [84]
То, что Вы говорите, очень вдохновляет.


 
homm ©   (2007-12-24 15:26) [87]

> [85] kaif ©   (24.12.07 15:18)

Спасибо за развернутое объяснение :)


 
b z   (2007-12-24 16:01) [88]


> Kostafey ©   (24.12.07 14:57) [82]
> зато наглядно :)

В ASP.NET, перейдя в режим визуального дизайнера, еще нагляднее. ;)
Там контролы и компонетны умеют себя рендерить и в нем.


 
DiamondShark ©   (2007-12-24 16:11) [89]


> Никакой мешанины из кода и HTML-тэгов в ней нет и быть не
> может.

Есть. Только глубже и аккуратнее запрятанная.
Вообще-то, грамотно запрятанная.

Что реально бесит в ASP.NET, так это потуги эмулировать десктопное поведение в веб-среде.


 
Семен Сурков   (2007-12-24 17:58) [90]


> Что реально бесит в ASP.NET, так это потуги эмулировать
> десктопное поведение в веб-среде.

Вот за что всегда уважал мнение Димыча, это за то, что такую умную штуку скажет, что и не понимаю ничего...

ЧТо есть десктопное поведение?


 
DiamondShark ©   (2007-12-24 18:58) [91]


> ЧТо есть десктопное поведение?

Это поведение, характерное для десктоп-приложений.
Ну, на пальцах: нажал кнопку -- сработало ОнКлицк.


 
Ломброзо ©   (2007-12-24 21:56) [92]

kaif ©   (24.12.07 15:02) [83]


Допустите, что мне это известно.

Что же касается компонентов, то в JSP не существует компонентов в том смысле, какой используется в ASP.NET (каждый компонент сам генерирует свою часть HTML-разметки) или я о них ничего не знаю.
Расскажите поподробнее о "компонентах" для JSP и мы сможем сравнить это с тем, что сделано в ASP.NET. Вы, вероятно, хорошо в этом разбираетесь. А я хорошо разобрался в том, что такое компонент ASP.NET. Нам есть о чем поговорить.


JSP - это спецификация, причём расширяемая. Тут уже упоминали о JSF - ровно те же самые серверные контролы ASP.NET, c пропертями, событиями и датабиндингом, серверным и клиентским кодом. Только в профиль.


<h:view>
 <h:form>
   <h:inputText value="#{loginBean.name"></h:inputText>
 </h:form>
</h:view>


Почти все Java-IDE позволяют запихивать эти компоненты в тулбар, драг-дропать их в дезайн-тайм на страницу, настраивать свойства и генерировать обработчики событий.

Вот скриншоты для eclipse:
http://www.medista.ru/eclipse/wpe.png
http://www.medista.ru/eclipse/wpe_palette.png


 
Семен Сурков   (2007-12-24 22:09) [93]

Технологии это, конечно, очень хорошо. Но все равно что на ASP.NET, что на JSP нужно писать, т.е. программировать. Само собой всего не напрограммируешь. Нужно чем-то готовым пользоваться. Вопрос у меня такой - бывают ли под ASP.NET богатые наборы визуальных компонентов? Например, навернутый грид?


 
Ломброзо ©   (2007-12-24 22:10) [94]

Семен Сурков   (24.12.07 22:09) [93]

http://www.extjs.com


 
Семен Сурков   (2007-12-24 22:33) [95]


> Ломброзо ©   (24.12.07 22:10) [94]
> Семен Сурков   (24.12.07 22:09) [93]http://www.extjs.com

Да, спечатляет.
Прошу прощения за ламерский вопрос, но как это прикручивается к JSP или ASP.NET?


 
Ломброзо ©   (2007-12-24 22:36) [96]

Шут его знает, ещё не разбирался. Вроде бы через HTML-DOM/XML и через объекты JavaScript.


 
Семен Сурков   (2007-12-24 22:42) [97]

Ну да, вроде это js, значит как-то нужно заюзать :)
Вообще действительно впечатляет. Некоторые компоненты почти не отличаются от обычного приложения. Так это ж можно вообьще без клиентов обойтись, все через браузер делать!


 
Ломброзо ©   (2007-12-24 22:50) [98]

Семен Сурков   (24.12.07 22:42) [97]

К этому все и стремятся. Типа универсальный тонкий клиент.
При всём моём уважении к разработчикам подобных библиотек, считаю, что это тупиковый путь. Слишком много интерпретируемого, недетерминированного, сложно понимаемого и плохо сопровождаемого кода. Отчего бы в спецификацию HTML не добавить пару-тройку деклараций для контролов типа "дерево" или "таблица"?


 
Семен Сурков   (2007-12-24 23:05) [99]


> Отчего бы в спецификацию HTML не добавить пару-тройку деклараций
> для контролов типа "дерево" или "таблица"?

Я думаю, что все к этому и прийдет. Гугл как аполагет AJAX и просто мощная контора соединит усилия с кем-нибудь (или сама сможет) и будет продавливать расширение HTML для лучшей поддержки AJAX. Вот сейчас же Опера поддерживает AJAX. Насколько я помню в самом начале GMAIL на опере он вообще не работал. Ну это так, имхо.


 
Семен Сурков   (2007-12-24 23:40) [100]

Прошу прощения за ламерский вопрос.

Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.

ВОПРОС. Что в области .NET является МАСТ РИД? Что нужно прочесть, чтобы быть вполне в теме и вмеру профессионально писать web-приложения?


 
Ломброзо ©   (2007-12-24 23:47) [101]

Семен Сурков   (24.12.07 23:40) [100]
ИМХО:
- HTML/XHTML/XML/XSLT/XPath/XSD
- Транспортную прослойку (webServices и иже с ними (ORM, сериализация, WSDL), .NET Remoting, WCF)
- ADO.NET
- Скриптовые языки (не только синтаксис, но и то, как работают их интерпретаторы)
- Службы каталогов (LDAP = Active Directory, ADAM и т.п.)
- Аутентификация, авторизация, аудит


 
Семен Сурков   (2007-12-24 23:57) [102]


> Ломброзо ©   (24.12.07 23:47) [101]

А если только ASP.NET ограничиться?
Может как-то можно сократить список? :)

Мне сайт нужен, причем серьезный WEB 2.0 сайт со всеми его особенностями. Сайт развлекательно-интеллектуальной  направленности. Поэтому может мне не нужно .NET Remoting и WebServices?

MSSQL, как и Дельфи знаю вполне достойно - лет 8 на них пишу. Дельфи надоел. Вот и хочу ринуться за Анатолием в мир ASP.NET :)

Если вернуться к книгам - то какие авторы заслуживают доверия подченного сообщества?


 
Ломброзо ©   (2007-12-25 00:03) [103]

Семен Сурков   (24.12.07 23:57) [102]

Чтобы не париться, лучше, наверное, за основу какую-нить документированную CMS взять.


 
sdts   (2007-12-25 00:16) [104]


> При всём моём уважении к разработчикам подобных библиотек,
>  считаю, что это тупиковый путь. Слишком много интерпретируемого,
>  недетерминированного, сложно понимаемого и плохо сопровождаемого
> кода. Отчего бы в спецификацию HTML не добавить пару-тройку
> деклараций для контролов типа "дерево" или "таблица"?

Ну плохой код возникает не просто так, его везде хватает. Но в целом, тоже есть такое ощущение. А вот "таблица" в HTML по моему уже есть. ;)


 
Семен Сурков   (2007-12-25 00:50) [105]


> Ломброзо ©   (25.12.07 00:03) [103]
> Семен Сурков   (24.12.07 23:57) [102]Чтобы не париться,
> лучше, наверное, за основу какую-нить документированную
> CMS взять.


Ну а все же насчет книг (представим, что твой совет не подходит в моем случае)? Помню Рихтер по .net писал что-то. Но это было давно. Актуален он еще? Года 3 назад я книгу Петцольда по C# прочел. Есно не помню почти ничего. Что сейчас актуально и МАСТ РИД?


 
Anatoly Podgoretsky ©   (2007-12-25 02:10) [106]

> Evanescence  (24.12.2007 12:39:09)  [69]

Точно шапку мне доверили только в 6 лет.


 
Германн ©   (2007-12-25 02:15) [107]


> Anatoly Podgoretsky ©

А на Германн ©   (23.12.07 21:44) [44] ответишь?
:)


 
Anatoly Podgoretsky ©   (2007-12-25 02:31) [108]

> Семен Сурков  (24.12.2007 23:57:42)  [102]

> MSSQL, как и Дельфи знаю вполне достойно - лет 8 на них пишу. Дельфи надоел. Вот и хочу ринуться за Анатолием в мир ASP.NET :)

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

Среда дружественная к разработчику.


 
homm ©   (2007-12-25 09:01) [109]

> [108] Anatoly Podgoretsky ©   (25.12.07 02:31)
> вместо ее подсовывать дружественное имя, а по щелчку подменять
> его на гиперссылку

Интересно, что имеется ввиду :)


 
Семен Сурков   (2007-12-25 09:29) [110]


>  [108] Anatoly Podgoretsky ©   (25.12.07 02:31)
> > Семен Сурков  (24.12.2007 23:57:42)  [102]
> Среда дружественная к разработчику.


Вылитая дельфи 2007 :)
Странно, но факт, у меня дельф2007 работает шустрее чем VWD.
Я тоже вчера свой первый сайт написал :)


 
Anatoly Podgoretsky ©   (2007-12-25 13:18) [111]

> homm  (25.12.2007 09:01:49)  [109]

Вместо длинного имени в ссылке, хочу иметь короткое, например "загрузить". А по щелчку переходить как будто в гиперссылке полное, длинное имя. Поскольку гиперссылки в ячейках, то длинные имена очень неудобны, слишком широкие колонки.


 
kaif ©   (2007-12-25 14:51) [112]

2 Ломброзо

Я Вас правильно понял, что я могу создать свой JSF-компонент, зарегистрировать для него, например, свой оконный редактор свойства (PropertyEditor) и из Инспектора объектов любой среды проектирования (например, Eclipse) я смогу редактировать это типизированное свойство своим типизированным редактором, как я это могу сделать в Delphi и в ASP.NET?

Я Вас правильно понял, что так же, как и в ASP.NET, компоненты JSF можно создавать рантайм и вставлять в страницу?
Я Вас правильно понял, что так же, как и в ASP.NET, компоненты JSF имеют гарантированно уникальные именования (ID), позволяющие обращаться к их свойствам из любых обработчиков?

Давайте сделаем проще.
Я дам ссылку на компонент навороченной сетки ASP.NET 2.0 стороннего пролизводителя и участники смогут оценить ее работу в онлайн демо.

Я Вы дайте ссылку на аналогичный JSF компонент и его онлайн демо, а участники сравнят их возможности и интерактивное поведение независимо от наших с Вами точек зрения.
Лучше один раз увидеть.

Вот демонструха сетки от DeveloperExpress:
http://demos.devexpress.com/ASPxGridViewDemos/Default.aspx


 
homm ©   (2007-12-25 14:53) [113]

> [111] Anatoly Podgoretsky ©   (25.12.07 13:18)

Текст ссылки и адрес ссылки, это разные вещи, а Вы говорите о них как об одной, или я чего то не понял. Как длинный адрес в параметре href может повлиять на ширину колонок? (Может поможет: У ссылок еще параметр Title есть)


 
kaif ©   (2007-12-25 17:03) [114]

2 Ломброзо.

Мне вот что интересно.
Вы сами-то используете JSF?
Или только хвалите?

Кстати, такой вопрос.
Я правильно представляю историческую хронологию, что ASP возникла намного раньше, чем JSP, а ASP.NET раньше, чем JSF?
То есть многие уже несколько лет с успехом писали, не парясь, приложения на ASP.NET, пока Sun лихорадочно дописывала свою сервлетную технологию до поддержки такой естественной вещи, как дерево компонентов на сервере?
Я лично в своей жизни видел несколько живых писателей на JSP (и сам недавно писал), но ни одного живого писателя чего-нибудь на JSF я пока не видел. Если Вы и есть такой писатель, буду рад это услышать от Вас лично.

Повторюсь, ничего не имею против сервлетных технологий Java как таковых.
В них есть своя прелесть. Например, огромное количество открытого кода.

Просто мне симпатичнее и ближе по духу подходы ASP.NET, так как они мне напоминают мышление дельфиста.
На JSP я программировал, и мне это все (весь этот гимор) порядком ПОДНАДОЕЛО. Переходя на ASP.NET, я испытал ОБЛЕГЧЕНИЕ. Посмотрев на технологию JSF (после Ваших слов), я испытал УЖАС и одновременную РАДОСТЬ от того, что не пытался ими пользоваться.

Но это все мои личные проблемы и эстетические пристрастия - я их никому не навязываю.
Надеюсь, лично Вас ничем не задел.


 
kaif ©   (2007-12-25 17:20) [115]

Семен Сурков   (24.12.07 23:40) [100]
Прошу прощения за ламерский вопрос.

Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.


C# достаточно элегантный и простой язык. Многим напоминает Java. Освоить его можно буквально за несколько дней. Больше времени потребуется для освоения архитектуры самой ASP.NET.

В отличие от Java в C# отсутствует идиотское (на мой взгляд, конечно) требование исходный код каждого класса помещать в отдельный файл.


 
Семен Сурков   (2007-12-25 17:22) [116]


>  [115] kaif ©   (25.12.07 17:20)
> Семен Сурков   (24.12.07 23:40) [100]
> Прошу прощения за ламерский вопрос.
>
> Я так понял, что нужно еще С# знать, чтобы на ASP.NET писать.
>
> C# достаточно элегантный и простой язык. Многим напоминает
> Java. Освоить его можно буквально за несколько дней. Больше
> времени потребуется для освоения архитектуры самой ASP.NET.
>
> В отличие от Java в C# отсутствует идиотское (на мой взгляд,
> конечно) требование исходный код каждого класса помещать
> в отдельный файл.


да я вообще и c# и java (как языки) неплохо знаю :) правда, инкогда не писал серьезно.

вопрос я задавал вот в каком свете. сейчас я собираюсь начать писать серьезное web-приложение. ASP.NET мне очень понравился.

МОЙ ВОПРОС можно перефразирвоать так - нужно ли глубочайшее знание c# для ASP.NET?


 
Ломброзо ©   (2007-12-25 17:37) [117]

kaif ©   (25.12.07 14:51) [112]

слишком много вопросов, к существу дела не относящихся. Я наглядно проиллюстрировал, что всё то, что есть в .NET, есть и в Java, а даже если чего-то и нет - то это не убогость ума разработчиков, а скорее by design. В самом деле - ничего не стоит наворотить над design-time в Java инфраструктуру дотнетовских System.ComponentModel и System.Design, тем более, что Java концептуально позволяет это сделать через reflection, только кому это надо?

JSP/JSF я не использую. Предпочитаю связку XML/XSLT.


 
Семен Сурков   (2007-12-25 17:41) [118]


> [115] kaif ©   (25.12.07 17:20)
> В отличие от Java в C# отсутствует идиотское (на мой взгляд,
> конечно) требование исходный код каждого класса помещать
> в отдельный файл.


Кстати, уважаемый Kaif, не могу согласится с этим высказываением. И вот почему. У java вообще есть подход (я уверен, что он был изначально заложен в язык) : любое действие делается минимальным количеством способов. Вот например, в delphi есть property. В результате концептуальное понятие атрибута в дельфи можно реализовать как в помощью property, так и с помощью методов Set и Get (как в java, собсно). В java (не берем рефлексию!) для реализации атрибута есть одна возможность: методы Get и Set. Лично я считаю, что минимализация синтаксических конструкций есть огромный ГУД. И в этом убеждении меня еще больше вдохновляет текущее состояние дел с языком Дельфи - он становится все сложнее и менее выразительным, опять же из-за того, что на любой чих есть МАССА синтаксических вариантов его реализации.
Опять же. В java нет out параметров. Я считаю, что это есть гигантское достоинство, ибо приближает java к функциональным языкам, минимизируя тем самым побочные эффекты при вызове методов.


 
Ломброзо ©   (2007-12-25 17:43) [119]

>с языком Дельфи - он становится все сложнее и менее выразительным

Чего уж там скрывать - он просто сдох.


 
Семен Сурков   (2007-12-25 17:52) [120]


> Чего уж там скрывать - он просто сдох.

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



Страницы: 1 2 3 4 5 вся ветка

Текущий архив: 2008.02.10;
Скачать: CL | DM;

Наверх




Память: 0.73 MB
Время: 0.03 c
6-1180064868
Strang
2007-05-25 07:47
2008.02.10
Почтовый сервер


15-1200057036
asdf
2008-01-11 16:10
2008.02.10
через какие компоненты получить доступ к MySQL. D7


3-1190872890
Sasha_GTI
2007-09-27 10:01
2008.02.10
excel -> Paradox


15-1199213872
Vendict
2008-01-01 21:57
2008.02.10
PHP DM Client - одно пожелание


4-1183512056
DagOT-R
2007-07-04 05:20
2008.02.10
Видимые окна