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

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

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

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

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

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

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

Обновлено: я разместил еще один вопрос относительно недостатка, который я обнаружил во время игры с Jaxer: Определение объектов при использовании Jaxer

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
8
0
2 455
3

Ответы 3

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

Плюсы

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

Минусы

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

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

Я установил Jaxer сейчас и первым делом протестировал функциональность E4X. Кажется, отлично работает и является очень мощным инструментом. Вы должны помнить, что код E4X должен храниться на стороне сервера, поскольку Mozilla - единственный браузер, который знает, что с ним делать.

Prestaul 20.09.2008 01:25

Да, я знаю, что это только Moz. Как я уже сказал, я использовал его прямо во время перехода на 1.0, во время бета-тестирования, и у меня были проблемы с E4X. Если работает - прекрасно, если нет - совершенно непрозрачно.

bhollis 20.09.2008 09:38

Я наткнулся на этот набор тесты производительности.

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

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

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

Другие вопросы по теме