Плюсы и минусы с Jaxer - PullRequest
       29

Плюсы и минусы с Jaxer

8 голосов
/ 19 сентября 2008

Я понимаю, что этот вопрос задавался раньше , но прошел месяц без приличных ответов ... Я смотрю на Jaxer Aptana и нахожу концепцию быть очень захватывающим.

Вот краткий обзор для тех, кто не знаком с ним:

Jaxer, по их словам, "первый в мире настоящий сервер AJAX". Он основан на движке Mozilla, поэтому сценарии написаны с использованием JavaScript, и у вас есть полный доступ к DOM на стороне сервера.

Сценарии размещаются на ваших страницах с тегами <script>, и вы можете указать атрибут runat (ala ASP.NET), чтобы пометить сценарии для выполнения на клиенте, сервере, обоих или как «прокси-сервер» что делает функции доступными на клиенте, но они выполняются на сервере через AJAX. Это также означает, что вы можете использовать ваши любимые клиентские библиотеки (jQuery, Prototype) на сервере и клиенте.

Его также можно использовать для обработки документов, созданных на другом языке (например, php, ruby), который, как мне кажется, не практичен, за исключением помощи в переводе существующих приложений на использование Jaxer.

  • Какие плюсы и минусы?
  • Насколько зрелым / стабильным является API?
  • Насколько хороша производительность по сравнению с другой серверный HTML препроцессоры
  • Кто-нибудь использовал Jaxer с другим технология (php, перл, рубин и т. д.) и каков был ваш опыт?

РЕДАКТИРОВАТЬ: я опубликовал еще один вопрос, касающийся недостатка, обнаруженного во время игры с Jaxer: Определение объектов при использовании Jaxer

Ответы [ 4 ]

12 голосов
/ 19 сентября 2008

Я не использовал Jaxer очень долго, но вот некоторые вещи, которые я нашел:

Плюсы

  • Напишите фронтенд и бэкэнд в одном коде. Особенно хорош для написания проверочной логики.
  • "Бесшовная" связь AJAX с сервером - это все равно что вызывать функцию JS.
  • Возможность использовать JavaScript-фреймворки, такие как jQuery, для управления DOM.
  • Возможность генерировать или манипулировать изображениями с помощью Canvas API.
  • Вы можете написать свой серверный JavaScript с использованием новых замечательных функций JavaScript 1.8, таких как дополнительные функции Array и методы получения / установки.

Против

  • Я обнаружил, что их API нестабилен (они переходили на 1.0, когда я пытался это сделать, так что это имело смысл), и документация приводила в замешательство, отсутствовала или не соответствовала измененной функциональности. Я также обнаружил, что было очень сложно отлаживать мой код Jaxer на стороне сервера, и когда я попал в беду, сообщения об ошибках были не очень полезны.
  • Вы не получаете реального MVC или даже MVP (в стиле ASP.NET) между вашей презентацией и вашей логикой.
  • Лично я не мог заставить работать E4X (xml в JavaScript), что должно было стать большой ничьей.
  • Вокруг него не так много фреймворка для создания целого приложения. Вы начинаете с некоторых довольно простых строительных блоков.
  • Это на самом деле не оказывает никакой помощи, так что забудьте обо всех шаблонных или повторно используемых компонентах, которые вы могли бы использовать где-либо еще. Не то чтобы вы не могли повторить это, но это сложнее, чем получить его из коробки.

В целом, я думаю, Jaxer наиболее перспективен в качестве постпроцессора перед другим веб-фреймом. Было бы замечательно использовать Jaxer для наложения всего остального на AJAX поверх существующего сайта. Было бы намного проще создать динамический сайт с логикой валидации / манипулирования страницами, разделяемой между сервером и клиентом. Я не думаю, что хотел бы написать приложение, используя только Jaxer. Кроме того, он молодой (и незрелый) - мне будет интересно посмотреть, чем он закончится.

1 голос
/ 19 сентября 2008

Я встречал этот набор тестов производительности .

Похоже, что Jaxer работает лучше, чем Rails, но не так хорошо, как php ...

0 голосов
/ 18 октября 2008

Я полагаю, что Jaxer настолько многообещающий, пришедший сюда от разработчика AJAX;) ... хотя это означало бы, что я должен отказаться от использования или использовать меньше PHP, моего первого языка. :)

0 голосов
/ 20 сентября 2008

@ BRH: отличное понимание. Я хотел бы повторить все «за» и «против» 2, 4 и 5 и ваш окончательный обзор. Я как бы чувствую, что они не намеревались вытеснять какой-либо рынок для фреймворков для апстрима ... но если бы они могли сделать это и сохранить его таким же тесным и понятным, как и я, я надеюсь, что они это сделают! Мне нравится, как они думают!

P.S. Я не знаю, является ли он новым, но есть тег <jaxer:include, который вставляет фрагменты на страницу перед выполнением сценария на стороне сервера, что может помочь в некоторых сценариях повторного использования кода. Может быть, мне еще что-нибудь открыть в этом направлении.

...