JS Architektur

Ist Situation

  • 233 JS-Files in calvin, 35 in src, 130 in web
  • Verteilt über 4 Bundles
  • viele inline Scripts
  • Individuelle Scripts pro Seite
  • z.T. manuelle Einzel-Minifizierung (web\anlegercockpit\public\js_dev)
  • Unterschiedliche Coding Styles

Ziel

  • Wartbarer/Übersichtlicher
  • verbesserte Performance
    • weniger Requests
    • minimierter Code
    • cachebar
  • sicherer
  • isoliert testbar

Diskussion

  • MVC Framework
  • Symphony Boardmittel (js Komprimierung)
  • require.js

MVC Framework

  • Pro
    • einheitlich Strukturiert, testbar
  • Contra
    • wir haben bereits twig
    • viel Overhead
    • alles muss angefasst  werden
    • hohe Einarbeitungszeit

Symphony Boardmittel

  • Pro
    • einfache Komprimierung
  • Contra
    • nicht einzeln testbar
    • global namespace pollution
    • verstreute Einzellösungen

require.js

  • Pro
    • einzeln gekapselt testbar
    • Asynchronous module definition
    • Komprimierung
    • sicherer
    • Basis Coding Style + Flexibilität
  • Contra
    • Architekturumbau
    • Deploy mit r.js aufwändiger

Next Steps

  • Aufwands-Analyse
  • r.js in ant build?
  •  

JS Architektur

By phpiet

JS Architektur

  • 256