2016-07-14 16 views
0

hinzufügen Ich verwende ExtJS 5, um eine große Anwendung zu erstellen. Ich versuche, die anfängliche Ladezeit der Anwendung zu minimieren. Sobald die Anwendung geladen ist, reagiert sie sehr schnell.ExtJS - Ist es gute Praxis, alle meine Anwendung Controller in Controller-Array in der Anwendungsdatei

Innerhalb application.js Datei i alle haben erklärt, die Ansichten (> 300) Innenansichten [] und alle Controller (> 300) innerhalb Controller []

Ist es eine gute Praxis, alle Ansichten zu erklären und die Controller in der Datei Application.js oder es sollte nicht gemacht werden?

Weitere Details -

ich schon Sencha Cmd bin mit meiner Anwendung zu erstellen. Die Größe der app.js nach Fertigstellung des Builds beträgt ca. 5 MB. Wir verwenden auch gzip, so dass die Datei app.js auf etwa 1,2 MB reduziert wird.

Antwort

0

Wenn Sie die Größe des Downloads vor der Anmeldung reduzieren möchten, können Sie die App in mehrere Seiten aufteilen. Die erste Seite könnte die Anmeldung durchführen und dann zur nächsten Seite umleiten, die den Rest der App zum Absturz bringt.

Alternativ - und das ist viel schwieriger - Sie können den Build-Prozess anpassen, um Ihre App-Datei in mehrere Dateien unter Verwendung der include und exclude Argumente zu Sencha Cmd zu teilen. Sie können dann ein kleines Paket erstellen, das die App startet und einen Anmeldedialog anzeigt. Bei erfolgreicher Anmeldung können Sie den Rest des Anwendungspakets mit dem Ext.Loader laden.

Fragen Sie mich nicht, wie das geht - das Sencha Cmd Tool ist mehr als nur ein wenig geheimnisvoll. Wenn Sie sich für diesen Ansatz entscheiden, wenden Sie sich am besten an das Support-Team von Sencha.

+0

Danke Robert für deine Führung. Ich werde mit Ansatz gehen, wo ich die Größe des Downloads vor der Anmeldung reduzieren kann. Dazu muss ich eine mehrseitige Anwendung machen. Ich gebe einen Versuch, dies zu lösen, indem Sie folgenden Link verwenden - https://www.sencha.com/blog/blazingly-fast-load-times-for-apps-built-with-ext-js-and- Sencha-Berührung / –

0

Eine nette Art der Trennung Interessen Interessen ist Using ViewControllers in Ext JS 5. Ihre View-Controller werden nur erstellt, wenn Sie die Ansicht erstellen. Dies kann die Ladezeiten Ihrer Anwendung verringern. Der bereitgestellte Link gibt wirklich gute Beispiele, wie man diese Art von Controllern benutzt.

+0

Vielen Dank für Ihre Antwort! Wenn ich nach dieser Option gehe, dann muss ich alle meine Controller zu ViewControllern konvertieren, diese Änderung wird viele Anstrengungen erfordern und es ist fast so, als würde man die Anwendung neu schreiben. Auch wenn die oben genannten Änderungen durchgeführt werden, denke ich, dass die Dateigröße von app.js dieselbe Größe (5MB) haben wird. Gibt es eine Möglichkeit, wie ich ExtJS anweisen kann, die Datei app.js zu minimieren und den ersten Bildschirm (Login-Ansicht) sofort zu laden. Selbst wenn die Dateigröße sehr groß ist, wird meine ursprüngliche Ansicht (Login-Ansicht) sofort geladen. –