SlideShare uma empresa Scribd logo
1 de 24
AngularJS (nie) nadaje
się do dużych pojektów.
Rafał Filipek
keybase.io/rafalfilipek
+
=
galactic cannibalism
• Logiczny podział części aplikacji
• Łatwość developmentu
• Ograniczenie udziału programistów w sprawach UI
• Relatywnie niewysoki próg wejścia w projekt
• Nie chciałem “zwariować”
• Zmieniające się założenia biznesowe
• Zmieniający się UI
• Zmieniający się zestaw modułów
• Utrzymanie wydajności
• Estetyka kodu
Czego używamy?
• AngularJS
• CoffeeScript
• Jade
• Stylus
• Gulp / Make / Jake
• Karma / Protractor
A
MAILS
DRAFTS ABOOK
COMMONDEV
GALLERY
OPTIONS
SEARCH LABELS
APP
…
MAILS
DRAFTS
ABOOK
COMMON
DEV
GALLERY
OPTIONS
SEARCH
LABELS
APP
COMMON
APP
DEMO TIME
function cleanupLastView() {
if (previousEl) {
previousEl.remove();
previousEl = null;
}
//…
}
DEMO TIME
ngRepeat(collection).speed === ‘f-word slow’
DEMO TIME
“MARUDERZY”
Two way data binding
• DIY
https://gist.github.com/austinhyde/4321f22a476e1cb
ee65f
• ♥ formularze
• “ktoś”, “gdzieś”, “kiedyś” musi przekazać dane
DEMO TIME
Angular is hard to
learn.
Na koniec
Dziękuję

Mais conteúdo relacionado

Semelhante a AngularJS (nie) nadaje się do dużych pojektów.

Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
GaldoMedia
 
AngularJS szkolenie wewnętrzne (into)
AngularJS szkolenie wewnętrzne (into)AngularJS szkolenie wewnętrzne (into)
AngularJS szkolenie wewnętrzne (into)
Marcin Baran
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
neoteric-eu
 

Semelhante a AngularJS (nie) nadaje się do dużych pojektów. (20)

Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
JavaEE + OSGi
JavaEE + OSGiJavaEE + OSGi
JavaEE + OSGi
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
REvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachREvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w Railsach
 
university day 1
university day 1university day 1
university day 1
 
SPA i .Net Core
SPA i .Net CoreSPA i .Net Core
SPA i .Net Core
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net core
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLAutomatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
 
Bohater UI bez front end developera ?
Bohater UI bez front end developera ?Bohater UI bez front end developera ?
Bohater UI bez front end developera ?
 
AngularJS szkolenie wewnętrzne (into)
AngularJS szkolenie wewnętrzne (into)AngularJS szkolenie wewnętrzne (into)
AngularJS szkolenie wewnętrzne (into)
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierKonrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
 
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
[PL] PRUG Luty 2022 - Service objecty to za mało - jak żyć z Railsami?
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
 
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 
Ewolucja architektury Getresponse Api
Ewolucja architektury Getresponse ApiEwolucja architektury Getresponse Api
Ewolucja architektury Getresponse Api
 

AngularJS (nie) nadaje się do dużych pojektów.

Notas do Editor

  1. Połączenie 2 firm. Nowa firma. Nowe projekty. Nowa jakość. Nowa poczta. Backend
  2. Dalej mówię o tym jak to wygląda w części frontend. o2, wp. Co chciałem uzyskać.
  3. Dlaczego Angular? W wp.pl - GWT, jQuery W o2.pl - Backbone, prototype
  4. Dlaczego powiedziałem, że nie chcę zwariować? Biznes wie, że nie ma “bo to stare i nikt tego nie ruszy” Chcemy testować rzeczy Wszyscy mają pomysły
  5. CoffeeScript. hoisting, ES6, flow, atScript Jade: słaby kompilator, wolny. Gulp / Make / Jake: nie ma rozwiązania idealnego Karam / Protractor: jak wywalilismy browserify to jest okej ;)
  6. Dlaczego podział aplikacji jest ważny. Dlaczego w końcu skończy się z takim podziałem.
  7. Widoki są rerenderowane cały czas. Cache jest na szablon, dane ale nie wygenerowany html. Feel jest słaby przy skomplikowanych widokach.
  8. Powidzieć o czasie.
  9. Czasami ilość danych które trzeba wyrenderować jest za duża dla Angulara. Jak wygląda to w praktyce. Co można na to poradzić? Karol Jastrzębowski z GoldenLine
  10. No server side rendering without obscure hacks. Google does not use Angular in production for their flag apps like Gmail or Gplus. Vendor lock. And because Google does not use Angular in production, they can kill Angular anytime.