Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Rozumiem
Jakub Pawlak / 19.11.2018

Konferencja ngPoland 2018 - podsumowanie i zapowiedź nowości

Nie jest tajemnicą, że jakiś czas temu zainteresowaliśmy się w JCD NativeScriptem. W ramach cyklu artykułów opowiadamy o tym na naszym blogu (na przykład tutaj). Dlatego jednym z najbardziej wyczekiwanych przez nas wątków Angular Poland Conference był właśnie {N}, a zwłaszcza wykorzystanie Schematics do migracji aplikacji webowych do mobilnych i natywnych aplikacji oraz zapowiedź wprowadzenia migracji w odwrotną stronę. 


Koncepcja dodania w pełni natywnej aplikacji do już gotowej aplikacji webowej, opisana przez Sebastiana Witalca, wygląda bardzo obiecująco pod względem wielokrotnego wykorzystania kodu. Doświadczyliśmy tego podczas pracy nad aplikacją Flowboard (co opiszemy niebawem w oddzielnym case study), gdzie web był zrobiony w starszej technologii AngularJS, a mimo to wiele kodu można było odzyskać i dostosować na potrzeby aplikacji mobilnej. Jak opowiadał podczas prelekcji Sebastian - wspomniane schematics jeszcze bardziej to ułatwiają. 

                                             IMG-0097                                                            

Kolejny temat - generyczne i mapowane typy w TypeScript’cie oraz ciekawe zastosowania typeof i keyof poruszył Todd Motto. Temat wart zgłębienia ze względu na swoją elastyczność i możliwość tworzenia bardziej ogólnych fragmentów kodu, który można stosować w różnych kontekstach.
 
IMG-0086

Prelekcja szefa 7N, Jeppe Hedaa o mierzeniu wydajności zespołu, wprowadzająca matematyczne podejście do obliczenia “koni mechanicznych” firmy deweloperskiej przybliżyła  inspirujące i na pewno warte głębszego przeanalizowania spojrzenie na zarządzanie firmą IT. Jego książka “Nucleon: The Missing Formula That Measures Your IT Development Team's Performance” to kolejna pozycja, która trafia na listę “must read”! 

Martin Sonnenholzer opowiedział o wykorzystaniu customowych strategii doładowania modułów z wykorzystaniem Łańcucha Markova. Wszystkim Angularowcom znana jest koncepcja lazy loadingu modułów w celu ograniczenia czasu uruchomienia aplikacji. Zaproponowane rozwiązanie pozwala oszacować, który moduł doładować w tle, jeszcze zanim użytkownik o niego poprosi klikając w link. 
 
IMG-0119
 

Spośród wszystkich poruszonych tematów pojawiło się kilka takich, które zainspirowały nas szczególnie i postanowiliśmy wdrożyć je “od zaraz” do codziennej pracy: 

 
  • Po prezentacii Christoffera Noringa: dalszy rozwój Schematics; tworzenie własnych procesów modyfikacji struktury plików, lub samej zawartości plików. Pozwala to na dowolne rozszerzanie Angularowego CLI. 
  • Po prezentacji Michaela Hladky’ego: zarządzanie stanami w aplikacjach; otoczenie całej aplikacji warstwą danych, oznaczające zmniejszenie złożoności komponentów i łatwiejsze zmiany w strukturze pobierania danych. 
  • Po prezentacji Aarona Frosta: Prettier i integracja z WebStormem; wspólny styleguide kodu dla zespołu, wspólne, automatyczne formatowanie tekstu przy każdym commitcie. Podpowiedź od Aarona - aby wdrożyć Prettier do istniejącego już projektu podpiętego do systemu kontroli wersji najlepiej wykonać jeden duży commit z poprawkami, zamiast modyfikacji plików nad którymi pracujemy - zmiana 1 linijki wyglądałaby przez jego formatowanie w commicie na zmianę całego pliku.
  • Po prezentacji Tomasza Borowskiego: UnitTesting i mockowanie dependencji; Stanowczo warto podczas tworzenia komponentów mieć na uwadze ograniczenie ilości zależności .
  •  Po prezentacji Macieja Tredera: wykorzystanie operatora takeUntil w pracy z biblioteką RxJS , do zamknięcia na raz wszystkich subskrypcji - świetny tip na zebranie wszystkich unsubscribe w jedno miejsce!
  • Po prezentacji Schmueli Jacobs: komponenty ładowane dynamicznie ze specjalnego serwisu; to koncepcja, którą stosowaliśmy w dynamicznych formularzach w Flowboard, rozwinięta jeszcze dalej - wyodrębnienie dynamicznych komponentów do modułu będącego pluginem dla projektu. 
 

Inspirujące tematy do dalszego zgłębienia:

 
  • Nowe CLI Angulara, pozwalające na tworzenie bibliotek komponentów - interesujący temat szczególnie w większych projektach z współdzieloną bazą kodu (David Müllerchen)
  • Dobra integracja Angulara z PWA - dostępne z poziomu CLI (szczególnie przydatne w połączeniu z NativeScriptem - pozwala na tworzenie wszystkich popularnych obecnie rodzajów aplikacji). Niestety nadal rozczarowuje wsparcie PWA przez przeglądarki Internetowe. Safari nie wspiera praktycznie żadnych dodatkowych funkcjonalności; Chrome i Mozilla nie wspierają tych samych funkcji. Koncepcja jest jednak ciekawa ze względu na swoją progresywność - użytkownik ze słabym wsparciem PWA otrzymuje pełnowartościowy produkt; zmieniając urządzenie dostaje bogatsze doświadczenie w zależności od dostępnych usług. Niestety nie pozwala to na kompleksowe i kompletnie zaprojektowane doświadczenie z produktem, stawiając PWA w roli ciekawego, ale jednak dodatku. (Simona Cotin)
  • Odpalanie aplikacji Angulara na mikroprocesorach w IOT, bliskie memu sercu. Swoją zabawę z JS zacząłem od aplikacji w NodeJS na Raspberry Pi (Maciej Czerwiakowski)
  • Casestudy customowego serwisu do dynamicznych tłumaczeń (Rafał Brzoska i Łukasz ‘Max’ Kokoszka)
 
IMG-0120
 
Choć historia, jaką przebył Angular jest fascynująca i inspirująca, jeszcze bardziej ucieszyły nas zapowiedzi dalszych ulepszeń  - tych w Angular 7 jak i  premiery kolejnych wersji. Po prezentacji Matiasa Niemela i Radoslava Kirova czekamy zwłaszcza na rozwój Animacji w Angularze jako pipe animujący zmiany klas, bez użycia keyframes oraz ogłoszenie Angular Labs do wczesnego dostępu do najnowszych rozwiązań jeszcze w fazie testów.  

Tyle na dziś. Śledźcie koniecznie dalszy rozwój tego frameworku - na przykład na oficjalnej stronie Angulara i polskiej grupie angularowców. Jeśli zaś zaciekawił Was temat NativeScripta, zapraszamy do prowadzonej przez nas grupy {N} Poland





 

Udostępnij:
Jakub Pawlak
Programista aplikacji mobilnych

Programista mobile i front-end. Po godzinach saksofonista i kitesurfer.

Stwórzmy coś niesamowitego, poznaj nas i zatrudnij.

Wyceń projekt