Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

AngularJS — single-page aplikace v enterprise

08. 04. 2014 1 min čtení CORE SYSTEMSdevelopment

Naše enterprise aplikace měly jednu společnou vlastnost: server-rendered JSP stránky, jQuery spaghetti a bolestivě pomalé uživatelské rozhraní. Když Google představil AngularJS, viděli jsme šanci to změnit.

Proč AngularJS

AngularJS nás zaujal two-way data bindingem, dependency injection (koncept z Javy), direktivami pro znovupoužitelné komponenty a podporou od Googlu. Angular je „opinionated” — říká vám, jak strukturovat aplikaci. Pro enterprise tým, kde potřebujete konzistenci napříč projekty, je to výhoda.

První projekt: interní dashboard

angular.module('dashboard', ['ngRoute', 'ngResource'])
  .config(function($routeProvider) {
    $routeProvider
      .when('/projects', {
        templateUrl: 'views/projects.html',
        controller: 'ProjectsCtrl'
      })
      .when('/projects/:id', {
        templateUrl: 'views/project-detail.html',
        controller: 'ProjectDetailCtrl'
      });
  });

Two-way binding: kouzlo i prokletí

Změníte model, view se aktualizuje. Kouzlo prvního dne. Problém přijde s 2000+ watchery — dirty checking zpomalí digest cyklus. Řešení: one-time bindings, track by v ng-repeat.

Architektura a testování

Aplikaci jsme rozdělili do modulů podle business domén. Dependency injection umožňuje snadné testování — Karma, Jasmine, Protractor. Pro Java vývojáře zvyklé na Spring je DI přirozený koncept.

Problémy

SEO: SPA generuje HTML na klientu — prázdná stránka pro vyhledávače. Křivka učení: Scopes, digest cycle, transclusion — strmá křivka. Angular 2.0: Oznámení kompletního přepisu nás znepokojuje.

SPA je budoucnost enterprise UI

Navzdory problémům jsme přesvědčeni, že single-page aplikace jsou správný směr. Uživatelská zkušenost je nesrovnatelně lepší. AngularJS není dokonalý, ale je to zatím nejlepší volba pro týmy přicházející z Java světa.

angularjsjavascriptspaenterprise