Pregunta sobre google-closure, html5, javascript, angularjs – html5, angularJS con compilador de cierre y / o biblioteca de cierre

14

Estoy considerando html5, angularJS para el enlace de datos y también el compilador de cierres de Google y la biblioteca de cierres para aplicaciones web interactivas. ¿Funcionan bien juntos? Lamentablemente, hasta ahora no parece haber informes detallados.

Tengo experiencia en adobe flex, pero soy bastante nuevo en js puro. Por lo tanto, las preguntas pueden considerarse desde la perspectiva de un principiante. No hay una base de código que deba ser portada, todo se desarrollará desde cero.

¿Alguien más está usando esta combinación con éxito?¿Hay informes de primera mano?¿Recomienda las tecnologías individuales en este contexto, o existen mejores alternativas para combinar?¿Hay buenos ejemplos, proyectos de ejemplo o incluso tutoriales (para la combinación, no las tecnologías individuales)?¿Alguna trampa que un principiante debe tener en cuenta?¿Hay alguna otra tecnología ortoganal que también deba usar o al menos considerar?

Algunos enlaces más o menos relevantes que ya encontré:

https://groups.google.com/forum/#!msg/angular/hePiqQA-MCI/uTirEtNLahwJhttps://groups.google.com/forum/#!msg/angular/QpdXrTLG7Ac/zjZAQVOqRlgJ
Los nuevos usuarios no pueden publicar más de dos enlaces, así que aquí hay uno más como comentario:groups.google.com/group/closure-library-discuss/browse_thread/… thomre
Me gusta este tipo de preguntas y, en cierto modo, es muy útil, pero me sorprende ver por qué no hay un intento de votar de forma cerrada por razones no constructivas, opiniones, etc. Impredecible. Saran

Tu respuesta

2   la respuesta
13

Compilador de cierre

Definitivamente, puede compilar su código (Angular se compila con el compilador Closure), aunque solo puede usar optimizaciones simples en este punto.

En general queremos que Angular juegue bien junto con el compilador.

Biblioteca de cierre

Hay un montón de proyectos dentro de Google, utilizando la biblioteca junto con Angular.

Usan goog.provide () y goog.require () para las dependencias. También es absolutamente sencillo utilizar las utilidades como goog.isString () o goog.inherits ().

El uso de componentes de IU de cierre puede requerir un trabajo adicional (aunque, nuevamente, hay proyectos que lo usan).

¿Quiere decir "optimización simple" o simplemente optimización "solo espacios en blanco"? He intentado hacerlo de manera simple a través de la aplicación web del compilador de cierre, y cuando reemplazaMyController($scope) conMyController(a) (junto con todas las demás referencias a$scope en el controlador), mi código se rompe. Marc
Ya existe un pase de compilación de cierre, que puede hacer estas anotaciones automáticamente por usted, ojalá que sea de código abierto pronto ... Vojta
Con "optimización simple" quise decir "optimización simple" :-D Es necesario usar anotaciones explícitas para que DI funcione con código compilado. P.ej. MyController. $ Inject = ['$ scope']; Vojta
4

Cambiar código

function MyCtrl($scope) {/* code */}

A

var MyCtrl = ['$scope', function($scope) {/* code */}]

Preguntas relacionadas