2008-09-19 24 views
8

Me doy cuenta de que esta pregunta ha sido asked before, pero ha sido un mes sin respuestas decentes ... Estoy viendo Aptana's Jaxer y me parece que el concepto es muy emocionante.¿Alguien está familiarizado con Jaxer? Estoy buscando pros y contras

Aquí es una visión rápida para aquellos que no están familiarizados con ella:

Jaxer es, en sus palabras, "la primera del mundo verdadero servidor AJAX". Se basa en el motor de Mozilla, por lo que los scripts se escriben con javascript y tiene acceso completo al DOM en el lado del servidor.

Los scripts se colocan en sus páginas con etiquetas <script> y puede especificar un atributo runat (ala ASP.NET) para marcar scripts para ejecución en el cliente, servidor, ambos, o como un "servidor-proxy" que hace funciones disponibles en el cliente, pero se ejecutan en el servidor a través de AJAX. Esto también significa que puede usar sus bibliotecas favoritas del lado del cliente (jQuery, Prototype) en el servidor y también en el cliente.

También se puede utilizar para procesar documentos que se generan en otro idioma (por ejemplo, php, ruby) que imagino que no es práctico, excepto para ayudar en la transición de aplicaciones existentes para usar Jaxer.

  • ¿Cuáles son los pros y los contras?
  • ¿Qué tan madura/estable es la API?
  • ¿Qué tan bueno es el rendimiento en comparación con otros preprocesadores html del lado del servidor ?
  • ¿Alguien ha usado Jaxer con otra tecnología (php, pearl, ruby, etc.) y cuáles han sido sus experiencias?

EDIT: He publicado otra pregunta con respecto a un inconveniente que descubrí mientras juega con Jaxer: Defining objects when using Jaxer

Respuesta

12

Yo no utilizar Jaxer por mucho tiempo, pero aquí es algunas cosas que encontré:

Pros

  • Escribir el frontend y backend en el mismo código. Especialmente bueno para escribir lógica de validación.
  • Comunicación AJAX "sin inconvenientes" de vuelta al servidor: es como llamar a una función JS.
  • La capacidad de utilizar marcos de JavaScript como jQuery para manipular el DOM.
  • La capacidad de generar o manipular imágenes usando Canvas API.
  • Tienes la oportunidad de escribir el JavaScript de tu servidor usando las nuevas características de JavaScript 1.8 como Array extras y getters/setters.

Contras

  • me encontré con su API sea inestable (que estaban haciendo la transición a 1,0 cuando yo estaba tratando de manera que hace poco sentido) y la documentación era confuso, no se encuentra o dejase' t coincide con la funcionalidad modificada. También descubrí que era muy difícil depurar mi código del lado del servidor de Jaxer, y cuando me metía en problemas, los mensajes de error no eran muy útiles.
  • No se obtiene una separación real MVC o incluso MVP (estilo ASP.NET) entre su presentación y su lógica.
  • Personalmente no pude obtener E4X (xml en JavaScript) funcionando, lo que se suponía que era un gran atractivo.
  • No hay una gran cantidad de marcos en torno a eso para construir una aplicación completa. Estás empezando desde algunos bloques básicos bastante básicos.
  • Realmente no proporciona ninguna ayuda en su vista, así que olvídese de todos los componentes de plantilla o reutilizables que pueda usar en otro lugar. No es que no puedas replicar eso, pero es más difícil que tenerlo fuera de la caja.

En general, creo que Jaxer tiene la mayor promesa como postprocesador frente a otro framewok web. Sería grandioso usar Jaxer para superponer todo el material AJAX en la parte superior de un sitio existente. Sería mucho más fácil hacer un sitio dinámico con validación/lógica de manipulación de página compartida entre el servidor y el cliente. No creo que me gustaría escribir una aplicación usando solo Jaxer. Además, es joven (e inmaduro). Me interesará saber dónde termina.

+0

He instalado Jaxer ahora y lo primero que probé fue la funcionalidad E4X. Parece funcionar bien y es una herramienta muy poderosa. Debe tener en cuenta que el código E4X debe mantenerse en el lado del servidor, ya que Mozilla es el único navegador que sabe qué hacer con él. – Prestaul

+0

Sí, sé que es solo un Moz. Como dije, lo estaba usando justo alrededor de la transición a 1.0, durante las versiones beta, y tuve un momento difícil con E4X. Si funciona, es maravilloso, si no es así, es totalmente opaco. – bhollis

1

Me encontré con este conjunto de performance benchmarks.

Parece como si Jaxer se comporta mejor que los carriles, pero no tan bien como php ...

0

@BRH: gran visión. Me gustaría repetir todos los "Pros" y "Contras" 2, 4, & 5 y su resumen final. Tengo la sensación de que no tenían la intención de desplazar a ninguno de los mercados de los marcos ascendentes ... pero si pudieran hacerlo y mantenerlo tan ajustado y comprensible como es, ¡espero que lo hagan! Me gusta la forma en que piensan!

P.S. No sé si es nuevo, pero hay una etiqueta <jaxer:include que inyecta fragmentos en la página antes de la ejecución del script del lado del servidor que podría ser de ayuda en algunos escenarios de reutilización de código. Puede haber más para mí para descubrir en ese sentido.

0

Creo que Jaxer es tan prometedor, viniendo de un desarrollador de AJAX aquí;) ... aunque eso significaría que tengo que irme o usar menos de PHP, mi primer idioma. :)