SlideShare a Scribd company logo
1 of 48
Jacek Mirowski
jacek@mirowski.me
Framework
Krótko o mnie
Krótko o mnie
Krótko o mnie
Agenda
● Skąd się wzięła Aurelia
● Dlaczego Aurelia
● Przykład: TODO App
● Wiązanie danych
● Co jeszcze dostaniesz w pakiecie
● Linki
● Q&A
Sk d si wzi ła Aureliaą ę ę
Sk d si wzi ła Aureliaą ę ę
Sk d si wzi ła Aureliaą ę ę
Rob Eisenberg
Były członek zespołów tworzących Anular 2.0 i Angular Material
Twórca frameworków: Caliburn, Caliburn.Micro i Durandal
Dlaczego Aurelia
Dlaczego Aurelia
● Otwarte źródła (MIT)
Sytuacja podobna jak w pozostałych popularnych rozwiązaniach wyłączając React’a
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
Podobnie jak Ember jest oficjalnym produktem konkretnej firmy
Blu Spire zapewnia wsparcie dla firm z prawdziwego zdarzenia
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
Podobnie jak React, Polymer i Vue
Inaczej niż w przypadku Angulara 2 i Embera
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
● Wsparcie dla najnowszych technologii
EsNext, TypeScript, Web Components (wraz z Shadow DOM)
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
● Wsparcie dla najnowszych technologii
● Nowoczesna architektura
W pełni funkcjonalny framework o modularnej budowie
Pozwala wybrać elementy zależnie od aktualnych potrzeb, inne zastąpić
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
● Wsparcie dla najnowszych technologii
● Nowoczesna architektura
● Konwencja ponad konfiguracją
Pozwala pisać aplikacje przy minimalnej ilości potrzebnego do tego kodu
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
● Wsparcie dla najnowszych technologii
● Nowoczesna architektura
● Konwencja ponad konfiguracją
● Łatwość nauki i zapamiętania
Posiada dobrą dokumentację z licznymi przykładami
Używa konstrukcji podobnych do czystego JS
Dlaczego Aurelia
● Otwarte źródła (MIT)
● Dobre wsparcie
● Brak zewnętrznych zależności
● Aktywna społeczność
● Wsparcie dla najnowszych technologii
● Nowoczesna architektura
● Konwencja ponad konfiguracją
● Łatwość nauki i zapamiętania
● Niska natarczywość
Pozwala skupić się na logice biznesowej, jest bardzo elastyczna
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Przykład: TODO App
Wi zanie danychą
Atrybuty
<hml-tag attribute.command="expression">
attribute: dowolny atrybut html lub svg
command:
one-time: wiązanie jednokierunkowe z modelu widoku do widoku; jednorazowe
one-way: wiązanie z modelu widoku do widoku
two-way: wiązanie dwukierunkowe
bind: wiązanie automatyczne; dwukierunkowe dla pół formularzy i
jednokierunkowe w niemal każdym innym przypadku
expresion: wyrażenie JavaScript
Wi zanie danychą
Zdarzenia DOM
<hml-tag event.command="expression">
event: nazwa zdarzenia DOM bez przedrostka „on”; np. „click” lub „submit”
command:
trigger: wiąże event handler z elementem
delegate: wiąże event handler z dokumentem (lub granicą Shadow DOM)
expresion: wyrażenie JavaScript (specjalna zmienna „$event” pozwala na dostęp
do zdarzenia wewnątrz wyrażenia)
Aurelia domyślnie wywołuje „preventDefault()”. By wyłączyć to zachowanie event
handler musi zwrócić „true”.
Wi zanie danychą
Angular 2
Jednokierunkowe
<html-tag [attribute]="expression">
<html-tag bind-attribute="expression">
Dwukierunkowe
<html-tag [(attribute)]="expression">
<html-tag bindon-attribute="expression">
Zdarzenia DOM
<html-tag (event)="expression">
<html-tag on-event="expression">
Vue
Jednokierunkowe
<html-tag v-bind:attribute="expression"></a>
Dwukierunkowe
<input v-model="expression">
Zdarzenia DOM
<html-tag v-on:event="expression">
Wi zanie danychą
Polymer
Jednokierunkowe
<html-tag attribute$="[[expression]]">
Dwukierunkowe
<html-tag attribute="{{hostValue::event}}">
Zdarzenia DOM
<html-tag on-event="expression">
React
Jednokierunkowe
<html-tag attribute="{expression}"></a>
Zdarzenia DOM
<html-tag on-event="{expression}">
Co jeszcze dostaniesz w pakiecie
● Routing
● Kontener zależności
● Klienty HTTP
● Narzędzia konsolowe
● Walidacja
● Wirtualizacja UI
● Kolejka zadań
● Logi
● Inspektor
● Internacjonalizacja
● Polyfille
● Obsługa historii
● System wiadomości
● Renderowanie po stronie serwera w drodze!
Linki
http://aurelia.io/
https://github.com/aurelia
http://aurelia.io/hub.html#/doc/persona/developer
http://blog.aurelia.io/
https://twitter.com/AureliaEffect
https://twitter.com/EisenbergEffect
Q&AJacek Mirowski
jacek@mirowski.me

More Related Content

Similar to Jacek Mirowski - Framework Aurelia

HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?Datapolis
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Grzegorz Bartman
 
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiInfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiJIT Solutions
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...Infoshare
 
Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiWitold Bołt
 
Nowości w Javie 8 okiem programisty
Nowości w Javie 8 okiem programistyNowości w Javie 8 okiem programisty
Nowości w Javie 8 okiem programistyMarcinStachniuk
 
Programming and architecture of NOSQL web at 33degree
Programming and architecture of NOSQL web at 33degreeProgramming and architecture of NOSQL web at 33degree
Programming and architecture of NOSQL web at 33degreeJaroslaw Palka
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzduraPawel Szulc
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Deckraqa
 
Jak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiemJak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiemMariusz Opaliński
 
Klasyfikacja wymagań jako sposób zarządzania nimi
Klasyfikacja wymagań jako sposób zarządzania nimiKlasyfikacja wymagań jako sposób zarządzania nimi
Klasyfikacja wymagań jako sposób zarządzania nimiJaroslaw Zelinski
 
Page Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejPage Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejtestuj.pl
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PROIDEA
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówMichal Lukaszewski
 

Similar to Jacek Mirowski - Framework Aurelia (17)

HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
[PL] Bez trudu i ryzyka! Jak tworzyć przepływy pracy w SharePoint?
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
 
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiInfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
 
Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacji
 
Nowości w Javie 8 okiem programisty
Nowości w Javie 8 okiem programistyNowości w Javie 8 okiem programisty
Nowości w Javie 8 okiem programisty
 
Programming and architecture of NOSQL web at 33degree
Programming and architecture of NOSQL web at 33degreeProgramming and architecture of NOSQL web at 33degree
Programming and architecture of NOSQL web at 33degree
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzdura
 
SkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel DecSkładQA 2018 - Daniel Dec
SkładQA 2018 - Daniel Dec
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
Jak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiemJak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiem
 
Klasyfikacja wymagań jako sposób zarządzania nimi
Klasyfikacja wymagań jako sposób zarządzania nimiKlasyfikacja wymagań jako sposób zarządzania nimi
Klasyfikacja wymagań jako sposób zarządzania nimi
 
Page Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowejPage Object Pattern dla dużej aplikacji webowej
Page Object Pattern dla dużej aplikacji webowej
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
 

Jacek Mirowski - Framework Aurelia