Выберите подходящую платформу (Frontend, Backend) для высокопроизводительного, безопасного и масштабируемого веб-приложения. - PullRequest
2 голосов
/ 07 февраля 2011

Я планирую сделать проект веб-приложения с двумя разработчиками бэкэнда и одним разработчиком / разработчиком внешнего интерфейса.

Дизайнер является фрилансером и работает в другом офисе. для меня это означает, что разработка интерфейса / бэкэнда должна быть отделена.

Другие требования:

  • возможность предоставления интерфейсов данных для других приложений, которые легко интегрируются
  • удивительный пользовательский интерфейс RIA с гибкими возможностями отчетности
  • ...

Я думал об использовании комбинации Wicket / Spring в бэкэнде, Вы знаете, насколько хорошо они работают вместе?

Для интерфейса я хотел использовать Extjs , но я не знаю , как он работает вместе с калиткой? (http://sourceforge.net/projects/wicket-extjs/files/ этот проект wicket-extjs будет остановлен в 2008 году )

Я думаю, JQuery и HighCharts были бы хорошей комбинацией здесь.

какие фреймворки вы бы использовали здесь и почему?

Ответы [ 2 ]

3 голосов
/ 07 февраля 2011

Я часто использую вместе wicket + spring, и он отлично работает.

Я также успешно интегрировал калитку со следующими JS-фреймворками:

  • JQuery
  • MooTools
  • Prototype / Scriptaculous
  • YUI 3

Вот статья в вики об использовании библиотек JavaScript: Создание поведения для использования библиотеки Javascript

Пример: вот поведение, которое изменяет классы CSS компонента с использованием JQuery без фактической замены компонента.

public class JQueryCssClassBehavior extends AbstractDefaultAjaxBehavior{

    private static final long serialVersionUID = -493574907225091582L;

    @Override
    public void renderHead(final IHeaderResponse response){
        super.renderHead(response);
        response.renderJavascriptReference("path/to/jquery");
    }

    private final IModel<Collection<String>> classesModel;
    private final IModel<Boolean> toggleModel;

    public JQueryCssClassBehavior(final IModel<Collection<String>> classesModel,
        final IModel<Boolean> toggleModel){
        this.classesModel = classesModel;
        this.toggleModel = toggleModel;
    }

    @Override
    protected void respond(final AjaxRequestTarget target){
        final Collection<String> classes = classesModel.getObject();
        if(classes != null && !classes.isEmpty()){
            final String classesAsString =
            // Use Joiner from Guava or any other technique
                Joiner.on(' ').join(classes);
            target.appendJavascript(
                "$('"
                + getComponent().getMarkupId()
                + "')."
                + (toggleModel.getObject().booleanValue()
                    ? "addClass"
                    : "removeClass") 
                + "('"
                + classesAsString
                + ");"
            );
        }

    }

}
1 голос
/ 08 февраля 2011

Wiquery и jWicket обеспечивают интеграцию JQuery с Wicket.Мы немного используем Wiquery, и это выглядит нормально.

...