2012-06-14 21 views
14

Estoy considerando html5, angularJS para el enlace de datos y también el compilador de cierre de google y la biblioteca de cierre para aplicaciones web interactivas. ¿Esos funcionan bien juntos? Lamentablemente parece que no hay informes detallados hasta ahora.html5, angularJS con compilador de cierre y/o biblioteca de cierre

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

  1. ¿Alguien más está usando esta combinación exitosamente?
  2. ¿Hay algún informe de primera mano?
  3. ¿Recomienda las tecnologías individuales en este contexto, o hay mejores alternativas para combinar?
  4. ¿Hay algún buen ejemplo, proyecto de ejemplo o incluso tutoriales (para la combinación, no las tecnologías individuales)?
  5. ¿Alguna dificultad que un principiante debe tener en cuenta?
  6. ¿Hay alguna otra tecnología ortográfica que también deba usar o al menos considerar?

Algunos enlaces más o menos relevantes Ya he encontrado:

+0

Los nuevos usuarios no pueden publicar más de dos enlaces, asi que aquí hay una más como un comentario : http://groups.google.com/group/closure-library-discuss/browse_thread/thread/5dd2342937fd16e7 – thomre

+1

Me gusta este tipo de preguntas y de alguna manera es muy útil, pero me sorprende ver por qué no hay un intento de cerrar esta votación sobre la base de no constructivo , opinión, etc. Impredecible. – Saran

Respuesta

13

Closure Compiler

Definitivamente, usted puede compilar el código (en sí angular está compilado con C Cierre ompiler), aunque solo puede usar optimizaciones simples en este punto.

En general, queremos que Angular funcione bien junto con el compilador.

biblioteca Cierre

Hay un montón de proyectos dentro de Google, el uso de la biblioteca junto con angular.

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

El uso de componentes de interfaz de usuario de cierre puede requerir un trabajo adicional (aunque, una vez más, hay proyectos que lo utilizan).

+1

¿se refiere a la optimización "simple" o simplemente a la optimización "solo espacio en blanco"? Intenté hacer lo simple a través de la aplicación web compilador de cierre, y cuando reemplaza 'MyController ($ scope)' con 'MyController (a)' (junto con todas las demás referencias a '$ scope' en el controlador), mi código se rompe – Marc

+1

Con "optimización simple" quise decir "optimización simple" :-D Necesita usar anotaciones explícitas para que DI funcione con código compilado. P.ej. MyController. $ Inject = ['$ scope']; – Vojta

+3

Ya existe un pase de compilación de Cierre, que puede hacer estas anotaciones automáticamente, con suerte recibirá pronto el código abierto ... – Vojta

4

Esperanza esta ayuda

Cambiar código

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

Para

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