Na ostatniej prelekcji JUG Łódź, 22 stycznia w 6 dzielnicy Jarek Jaryszew przybliżył nam frameworki JavaScriptowe, których ostatnio całe zatrzęsienie.
Czym zaskoczył nas JavaScript w wykonaniu made in NodeJS lub made in AngularJS?
Przede wszystkim obecnie mamy cały wysyp frameworków JavaScriptowych.
O ile NodeJS do backendu, a Angular JS do frontendu mamy jeszcze pełen wachlarz frameworków JS do wyboru do koloru i do użycia.
Moją uwagę przykuł Grunt. Ciekawy dodatek do NodeJS. Czym może zaskakiwać JavaScript w nawiązaniu do tematu prelekcji?
NodeJS pięknie nadaje się do backendu, działa mega szybko ale ma kilka pułapek, na które łapią się początkujący programiści JS, chociażby callbacki i to, że wszystko działa jednowątkowo i asynchronicznie. Wiąże się to z kilkoma utrudnieniami dla początkujących. Na przykład skrypt insertujacy do bazy wykonuje się, a my w kolejnej linijce skryptu robimy "select" - error gwarantowany. Trzeba zapewnić najpierw to, żeby insert wykonał się do końca, dopiero wykonywać dalsze czynności na bazie w skryptach JS.
Jednym z rozwiązań tego problemu jest stosowanie Grunt'a. W Gruncie definiujemy zadania które mają się wykonać, i całą ich sekwencję. Żadne zadanie nie wykona się dopóki poprzednie nie zakończy się.
Spokojnie znajdziemy coś dla siebie w JS(jakiś framework lub dodatek), który przyspieszy build naszej aplikacji.
Frameworki typu Maven, też są - np Bower.
Jedyną rzeczą, która może zirytować go konfiguracja wszystkich zależności i ustawień.
Czy JavaScriptowe frameworki mogą przyspieszyć pracę i deployment aplikacji?
-Zdecydowanie tak!
Jarek zademonstrował jak przy pomocy Jasmine spowodować, by deploy aplikacji trwał kilka sekund.
Już nie jest potrzebne stopowanie całego serwera np Tomcat, wrzucanie nowego wara, restart itp.
Jasmine i inne frameworki JS posiadają wbudowaną funkcję "watch" - dowolna zmiana w pliku np html powoduje momentalne przeładowanie strony i wyświetlenie rezultatów zmian w mgnieniu oka.
Czym mogą zaskoczyć nas frameworki JS w automatyzacji procesu deploymentu?
-Dosłownie wszystkim i wszędzie.
Zaciągnięcie nowych zmian z GIT'a + build + instalacja na serwerze aplikacyjnym i wystartowanie tego jako usługi windowsowej to zaledwie kilka linijek skryptu NodeJS + Grunt - zapewniając sekwencyjność wykonywanych zadań.
Easy, fast and clever.
Tradycyjnie można było wypełnić ankietę. Oto jej wyniki.
E-booka od manninga wylosował Krysztof W.
Czym zaskoczył nas JavaScript w wykonaniu made in NodeJS lub made in AngularJS?
Przede wszystkim obecnie mamy cały wysyp frameworków JavaScriptowych.
O ile NodeJS do backendu, a Angular JS do frontendu mamy jeszcze pełen wachlarz frameworków JS do wyboru do koloru i do użycia.
Moją uwagę przykuł Grunt. Ciekawy dodatek do NodeJS. Czym może zaskakiwać JavaScript w nawiązaniu do tematu prelekcji?
NodeJS pięknie nadaje się do backendu, działa mega szybko ale ma kilka pułapek, na które łapią się początkujący programiści JS, chociażby callbacki i to, że wszystko działa jednowątkowo i asynchronicznie. Wiąże się to z kilkoma utrudnieniami dla początkujących. Na przykład skrypt insertujacy do bazy wykonuje się, a my w kolejnej linijce skryptu robimy "select" - error gwarantowany. Trzeba zapewnić najpierw to, żeby insert wykonał się do końca, dopiero wykonywać dalsze czynności na bazie w skryptach JS.
Jednym z rozwiązań tego problemu jest stosowanie Grunt'a. W Gruncie definiujemy zadania które mają się wykonać, i całą ich sekwencję. Żadne zadanie nie wykona się dopóki poprzednie nie zakończy się.
Spokojnie znajdziemy coś dla siebie w JS(jakiś framework lub dodatek), który przyspieszy build naszej aplikacji.
Frameworki typu Maven, też są - np Bower.
Jedyną rzeczą, która może zirytować go konfiguracja wszystkich zależności i ustawień.
Czy JavaScriptowe frameworki mogą przyspieszyć pracę i deployment aplikacji?
-Zdecydowanie tak!
Jarek zademonstrował jak przy pomocy Jasmine spowodować, by deploy aplikacji trwał kilka sekund.
Już nie jest potrzebne stopowanie całego serwera np Tomcat, wrzucanie nowego wara, restart itp.
Jasmine i inne frameworki JS posiadają wbudowaną funkcję "watch" - dowolna zmiana w pliku np html powoduje momentalne przeładowanie strony i wyświetlenie rezultatów zmian w mgnieniu oka.
Czym mogą zaskoczyć nas frameworki JS w automatyzacji procesu deploymentu?
-Dosłownie wszystkim i wszędzie.
Zaciągnięcie nowych zmian z GIT'a + build + instalacja na serwerze aplikacyjnym i wystartowanie tego jako usługi windowsowej to zaledwie kilka linijek skryptu NodeJS + Grunt - zapewniając sekwencyjność wykonywanych zadań.
Easy, fast and clever.
Tradycyjnie można było wypełnić ankietę. Oto jej wyniki.
Kilka słabszych ocen ale też kilka dobrych |
Ocena umiejętności prezentacyjnych |
Poprawny opis |
Prezentacja i Nagranie
Prezentacja znajduje się na githubie Jarka https://github.com/zaytzev/webtools-jug-presentation a nagranie na kanale juga