Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

html5, angularJS with closure compiler and/or closure library

I'm considering html5, angularJS for data binding and also google closure compiler and the closure library for interactive web applications. Do those work nicely together? Unfortunately there seem to be no detailed reports up to now.

I have adobe flex experience, but I'm fairly new to pure js. So the questions can be considered to be from a beginner's perspective. There is no codebase that needs to be ported, everything will be developed from scratch.

  1. Is anyone else using this combination successfully?
  2. Are there any firsthand reports?
  3. Do you recommend the individual technologies in this context, or are there better alternatives to combine?
  4. Are there any good examples, example projects or even tutorials (for the combination - not the individual technologies)?
  5. Any pitfalls a beginner should be aware of?
  6. Are there any other orthoganal technolgies that I should also use or at least consider?

Some more or less relevant links I already found:

  • https://groups.google.com/forum/#!msg/angular/hePiqQA-MCI/uTirEtNLahwJ
  • https://groups.google.com/forum/#!msg/angular/QpdXrTLG7Ac/zjZAQVOqRlgJ
like image 588
thomre Avatar asked Jun 14 '12 11:06

thomre


2 Answers

Closure Compiler

You can definitely compile your code (Angular itself is compiled with Closure compiler), although you can only use simple optimizations at this point.

In general we want Angular to play well together with the compiler.

Closure library

There is a bunch of project inside Google, using the library together with Angular.

They use goog.provide() and goog.require() for dependencies. Also using the utilities like goog.isString() or goog.inherits() is absolutely straightforward.

Using closure UI components might require some extra work (although, again, there are projects using it).

like image 126
Vojta Avatar answered Oct 10 '22 13:10

Vojta


Hope this help

Change code

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

To

var MyCtrl = ['$scope', function($scope) {/* code */}]
like image 36
nguyên Avatar answered Oct 10 '22 13:10

nguyên