Frage an javascript, google-closure, angularjs, html5 – HTML5, AngularJS mit Closure Compiler und / oder Closure Library

14

Ich erwäge HTML5, AngularJS für die Datenbindung sowie den Google Closure Compiler und die Closure Library für interaktive Webanwendungen. Arbeiten diese gut zusammen? Leider scheint es bisher keine detaillierten Berichte zu geben.

Ich habe Adobe Flex Erfahrung, aber ich bin ziemlich neu in der reinen js. Die Fragen können also aus der Perspektive eines Anfängers betrachtet werden. Es muss keine Codebasis portiert werden, alles wird von Grund auf neu entwickelt.

Verwendet jemand diese Kombination erfolgreich?Gibt es Berichte aus erster Hand?Empfehlen Sie in diesem Zusammenhang die einzelnen Technologien oder gibt es bessere Alternativen zur Kombination?Gibt es gute Beispiele, Beispielprojekte oder gar Tutorials (für die Kombination - nicht die einzelnen Technologien)?Welche Fallen sollten Anfänger beachten?Gibt es noch andere orthoganale Techniken, die ich ebenfalls anwenden oder zumindest in Betracht ziehen sollte?

Einige mehr oder weniger relevante Links, die ich bereits gefunden habe:

https://groups.google.com/forum/#!msg/angular/hePiqQA-MCI/uTirEtNLahwJhttps://groups.google.com/forum/#!msg/angular/QpdXrTLG7Ac/zjZAQVOqRlgJ
Neue Benutzer können nicht mehr als zwei Links posten. Hier ist noch einer als Kommentar:groups.google.com/group/closure-library-discuss/browse_thread/… thomre
Ich mag diese Art von Fragen und in gewisser Weise ist es sehr nützlich, aber überrascht zu sehen, warum es keinen Versuch gibt, dies aufgrund von nicht konstruktiver, nicht vorhersehbarer Meinung usw. eng abzustimmen. Saran

Deine Antwort

2   die antwort
13

Closure Compiler

Sie können Ihren Code definitiv kompilieren (Angular selbst wird mit dem Closure-Compiler kompiliert), obwohl Sie an dieser Stelle nur einfache Optimierungen verwenden können.

Im Allgemeinen möchten wir, dass Angular gut mit dem Compiler zusammenarbeitet.

Schließungsbibliothek

In Google gibt es eine Reihe von Projekten, die die Bibliothek zusammen mit Angular verwenden.

Sie verwenden goog.provide () und goog.require () für Abhängigkeiten. Auch die Verwendung von Hilfsprogrammen wie goog.isString () oder goog.inherits () ist absolut unkompliziert.

Die Verwendung von Komponenten der Abschlussbenutzeroberfläche erfordert möglicherweise zusätzliche Arbeit (auch hier gibt es Projekte, die diese verwenden).

Es gibt bereits einen Closure-Compiler-Pass, der diese Annotationen automatisch für Sie erstellen kann. Hoffentlich wird er bald als Open-Source-Version angeboten ... Vojta
Mit "einfache Optimierung" meinte ich "einfache Optimierung": -D Sie müssen explizite Annotationen für DI verwenden, um mit kompiliertem Code zu arbeiten. Z.B. MyController. $ Inject = ['$ scope']; Vojta
meinst du "einfache optimierung" oder nur "whitespace only" optimierung? Ich habe versucht, einfach über die Closure Compiler-Web-App zu tun, und wenn es ersetztMyController($scope) mitMyController(a) (zusammen mit allen anderen Verweisen auf$scope in der Steuerung), mein Code bricht. Marc
4

Ich hoffe das hilft

Code ändern

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

Zu

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

Verwandte Fragen