Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WEB-интерфейс: на чем писать? Обсуждение различных технологий для WWW 
:(
    Опции темы
Alik
  Дата 4.4.2003, 22:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приветствую!

Надобно вот сделать WEB-интерфейс к некоторой системе. Объем UI -- несколько десятков экранов. Думаю на чем лучше делать. Критерии к результату такие:
- логичность, читаемость, прозрачность исходного кода;
- минимальное наличие повторений (copy&paste);
- возможность изменять дизайн/логику;

Рассматриваются различные вариации на тему JSP/Servlet (ASP/NET -- точно не подходят, т.к. сервер -- Unix; C/C++/Perl/CGI/PHP -- пока не рассматривается). Играться планируется на базе Tomcat.

Возможные варианты:

1) JSP/Servlets as is without JSP tags -- плохо, т.к. JSP не дает возможности писать нормальный код. Что я имею в виду -- вот например, как может выглядеть на JSP код, генерящий некоторую таблицу:

<table>
<tr>
<td>Index</td>
<td>Person</td>
<td>Department</td>
<tr>

<%
for(int i = getStartIndex(); i < getEndIndex(); ++i)
{
%>
<tr>
<td><%=i+1%></td>
<td><%=people[i].getName()%></td>
<td><%=people[i].getDepartment()%></td>
</tr>
<%
}
%>

<%
if (getStartIndex() > 0)
{
%>
<a href="<%=getServletURL()?action=back%>">Back</a>
<%
}
else
{
%>
Back
<%
}
%>
...

Чем не нравится:
- для каждой таблицы придется такой код писать заново;
- смешение серверной и клиентской логики (грубо говоря, две программы в одной) -- не удобно для чтения/модификации;
- при компиляции Java-классов не происходит компиляция JSP-файлов => нет ошибок компиляции -- все ошибки Runtime.

2) JSP/Servlets as is with JSP tags.

ИМХО, мало что меняет: если использовать JSTL (или как его там), т.е. на "низком уровне", то какая разница писать <%if (blah-blah-blah) { %> или <condition...>. Можно, конечно, сделать собственный тег, который будет выдавать таблицу, но его реализацию придется писать на Java, а меня совсем не прельщает перспектива писать HTML через out.println().

3) Какие-то системы template'инга -- типа Velocity.

Ничего не знаю [sad.gif], но прельщает тем, что можно описать набор своих макросов и строить интерфейс на их основе. Т.е. отличие от JSP в том, что макрос можно реюзоать для построения макросов более высокого уровня.

Вот, собственно, интересно, кто что думает по этому поводу? Как кто интерфейсы клепает? smile.gif

Александр.

P.S.: может я не понимаю идеологии JSP/Servlet? Раньше ведь на каждом углу твердили про то, что правильно разносить дизайн/логику по разным местам. Туева хуча различных template-tool'ов для того же перла была. А JSP/Servlet -- ИМХО, это все как бы перечеркивает. Т.е. в общих словах все конечно здорово -- в сервлетах -- логика (Model, Controller), в JSP -- дизайн (View), но ведь реально так не происходит?
  Вверх
Trojan Lord
Дата 5.4.2003, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 4.4.2003




ну ты блин придумал smile.gif было бы круто если бы такие системы были везде smile.gif
PM MAIL ICQ   Вверх
SmaLL
Дата 7.4.2003, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh




Если использовать servlet/jsp, то надо использовать шаблонный механизм.
Советую почитать BluePrints и посмотреть пример Java PetStore на http://java.sun.com


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
Sun
Дата 7.4.2003, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002




Достаточно эффективна связка XML/XSL. Реализация всяческих парсеров есть практически под любой язык программирования. Можешь почитать про реализацию на Java тут
http://www.javable.com/javaworld/06_00/01/


--------------------
Account removed
PM MAIL   Вверх
AntonSaburov
Дата 8.4.2003, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург




Мы использовали библиотеку Struts - jakarta.apache.org.
PM MAIL WWW ICQ   Вверх
Alik
Дата 8.4.2003, 12:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Во-первых, спасибо всем за ответы!

Далее -- по пунктам smile.gif

- Java PetStore -- буду разбираться;

- XML/XSL -- ну во-первых, я в этом не особо рюхаю -- тоже буду разбираться, но пока видно следующее. Технология сия хороша, но довольно трудоемка. Возможно, если к ней пристыковать некий template-engine, получиться весьма интересная вещь.

- Struts -- тут как бы есть два аспекта: struts как библиотека тегов и struts как диспетчер (framework, обеспечивающий MVC). Как framework -- struts меня вполне радует, но вот только не хочу я (по-крайней мере пока) лепить интерфейс с использованием JSP-тегов.. smile.gif

--
Best regards,
Alexandr
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.