Wicket и Lift — совершенно разные звери. У меня есть некоторые знания об обоих фреймворках (но далеко от экспертного уровня, который вы обычно видите здесь):
Калитка: Каждая страница на веб-сайте имеет страницу шаблона HTML и вспомогательный класс Java/Scala. Волшебство Wicket заключается в подключении страницы HTML-шаблона к соответствующему классу и сопоставлении каждого идентификатора Wicket в шаблоне с правильным методом в классе, чтобы данные были видны на сгенерированной HTML-странице, отправляемой клиенту. Вот и все. Wicket — это чистый веб и ничего более. В Wicket очень легко создавать собственные графические компоненты и наследовать их.
Lift: Lift был создан Дэвидом Поллаком как реакция на проблемы, которые у него были с Rails. Ему нужны были производительность и безопасность. Лифт быстрее и безопаснее, чем Rails. На самом деле он очень безопасен и автоматически обрабатывает SQL-инъекции, CRSF, XXS, повторные атаки.
Lift делает то же самое, что и Rails (сопоставляется с БД), но сильно отличается от Rails. Мысленное наследие Rails очевидно, поскольку некоторые API в Lift используют синтаксис Ruby (с подчеркиванием и вопросительными знаками в инспекторах), что может удивить разработчика Scala. Lift — это не классический MVC-фреймворк, как Wicket, это Model-ModelView-View. На самом деле Лифт больше ориентирован на цикл запрос-ответ. Он предназначен для имитации программирования графического интерфейса, управляемого событиями (например, Java Swing или .NET GUI). Это означает, что HTML-элементы и действия пишутся в одном месте:
var inputName = ""
SHtml.text(inputName,s => inputName = s)
Этот код создаст входной тег HTML следующим образом:
<input type="text" value=""/>
и подключите функцию к переменной, чтобы ввод сохранялся. Структура такая же, даже если вместо HTTP GET/POST используется AJAX.
Подъем выразительный и мощный, но не очень легкий.
Пожалуйста, поправьте меня, если это не так!
person
olle kullberg
schedule
13.07.2010