| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > WEB-интерфейс: на чем писать? |
| Автор: Alik 4.4.2003, 22:09 |
| Приветствую! Надобно вот сделать 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. Ничего не знаю [ Вот, собственно, интересно, кто что думает по этому поводу? Как кто интерфейсы клепает? Александр. P.S.: может я не понимаю идеологии JSP/Servlet? Раньше ведь на каждом углу твердили про то, что правильно разносить дизайн/логику по разным местам. Туева хуча различных template-tool'ов для того же перла была. А JSP/Servlet -- ИМХО, это все как бы перечеркивает. Т.е. в общих словах все конечно здорово -- в сервлетах -- логика (Model, Controller), в JSP -- дизайн (View), но ведь реально так не происходит? |
| Автор: Trojan Lord 5.4.2003, 19:42 |
| ну ты блин придумал |
| Автор: SmaLL 7.4.2003, 08:24 |
| Если использовать servlet/jsp, то надо использовать шаблонный механизм. Советую почитать BluePrints и посмотреть пример Java PetStore на http://java.sun.com |
| Автор: Sun 7.4.2003, 18:45 |
| Достаточно эффективна связка XML/XSL. Реализация всяческих парсеров есть практически под любой язык программирования. Можешь почитать про реализацию на Java тут http://www.javable.com/javaworld/06_00/01/ |
| Автор: AntonSaburov 8.4.2003, 10:26 |
| Мы использовали библиотеку Struts - jakarta.apache.org. |
| Автор: Alik 8.4.2003, 12:01 |
| Во-первых, спасибо всем за ответы! Далее -- по пунктам - Java PetStore -- буду разбираться; - XML/XSL -- ну во-первых, я в этом не особо рюхаю -- тоже буду разбираться, но пока видно следующее. Технология сия хороша, но довольно трудоемка. Возможно, если к ней пристыковать некий template-engine, получиться весьма интересная вещь. - Struts -- тут как бы есть два аспекта: struts как библиотека тегов и struts как диспетчер (framework, обеспечивающий MVC). Как framework -- struts меня вполне радует, но вот только не хочу я (по-крайней мере пока) лепить интерфейс с использованием JSP-тегов.. -- Best regards, Alexandr |