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