Ruby on Rails 6 i Javascript

Czujesz się zagubiony z tymi wszystkimi zmianami które zaszły w integracji Ruby on Rails 6 oraz Javascript? Nic dziwnego, zmieniło się sporo. Jeśli dopiero zaczynasz swoją przygodę z programowaniem w RoR, bądź nigdy nie przykładałeś większej uwagi integracji z Javascript – potrzeba chwilę czasu aby odnaleźć się i zrozumieć o co w tym wszystkim chodzi.

NPN / Yarn

NPM to baza pakietów Javascript oraz dedykowany menedżer pakietów, który pozwala na zainstalowanie niezbędnych bibliotek w naszym projekcie. Yarn natomiast to nowy menedżer pakietów który szturmem zdobył serca wielu programistów. Jest szybszy i bardziej niezawodny w porównaniu do NPM. Yarn korzysta z bazy pakietów NPM. Większy nacisk został również położony na bezpieczeństwo. W projektach Ruby on Rails, Yarn będzie używany do instalacji bibliotek JS. Do instalacji bibliotek Javascript nie będziemy więcej używać gemów.

ES6

ECMAScript 6 jest standardem dla plików Javascript. Podczas pisania kodu Javascript nie używamy już kontrowersyjnego Coffeescript, a nowoczesnego Javascript w wydaniu ES6.

Babel

Co w sytuacji jednak kiedy przeglądarka nie obsługuje Javascript w wydaniu ES6? Z pomocą przychodzi nam właśnie Babel, który weźmie Twój kod Javascript i przetworzy go w taki sposób aby nawet starsze przeglądarki poprawnie wykonywały Twój kod. Dzięki temu, Babel pozwala na korzystanie z najnowszych funkcji Javascript zanim zostaną wprowadzone przez autorów przeglądarek internetowych. Konwersję kodu którą wykonuje Babel nazywamy transpilacją.

Webpack

Webpack jest narzędziem który weźmie Twoje pliki CSS i Javascript, skompiluje, zminifikuje i przygotuje wersje które zostaną dołączone do kodu HTML Twojej witryny. Dodatkowo, kod Javascript zostanie przetworzony przez Babel, tak aby nie występował problem z działaniem Twojej strony w starszych wersjach przeglądarek. Webpack jest potężnym narzędziem, który potrafi przetwarzać nawet pliki graficzne.

Webpacker

Webpacker natomiast, jest narzędziem który integruje Webpacka z aplikacją napisaną w Rails. Dzięki temu wszystko działa automatycznie, bez dodatkowego nakładu pracy z Twojej strony. Webpacker jest narzędziem wprowadzonym domyślnie w Rails 6. Zastąpił, dotychczas używany Sprockets. Wprowadzenie Webpackera do Rails 6 jest bardzo ciekawym rozwiązaniem. Dzięki zmianom, które zostały wprowadzone, zarządzanie zależnościami Javascript naszej aplikacji, nie jest już tak mocno zintegrowane z samą aplikacją RoR.