Što je novo u Rails 5.1: Bolji JavaScript, za jedan

Ruby on Rails, veteran web-okvir na poslužitelju, lijepo se igra s JavaScriptom u nadogradnji koja je nedavno prešla na prvo beta izdanje.

Rails 5.1 nudi višestruka poboljšanja, uključujući šifriranje, sistemske testove i upravljanje JavaScript ovisnostima od NPM-a putem Facebookovog novog upravitelja paketa Yarn.

Upravljajući JavaScript ovisnostima putem Pređe, korisnici mogu ovisiti o knjižnicama poput Reagirati putem NPM-a. Sredstva su dostupna u cjevovodu, a binstub bin / pređa koristi se za dodavanje tih ovisnosti. Programeri koji rade s verzijom 5.1 također mogu kompajlirati JavaScript pomoću paketa modula Webpack putem dragulja Webpacker. Ali Rails 5.1 ispušta jQuery kao zadanu ovisnost. S prepisivanjem neupadljivog adaptera za skriptiranje rails-ujs za upotrebu JavaScript vanilije, ta ovisnost više nije potrebna.

Rails 5.1 također ima mogućnost upravljanja šifriranim tajnama. Datoteka šifriranih tajni postavlja se upotrebom mogućnosti bin / rails secrets: setup, koja generira glavni ključ za spremanje izvan spremišta, a istovremeno omogućava programerima da povjere proizvodne tajne.

Za sistemske testove, Rails 5.1 uključuje omot knjižnice Capybara Ruby za testiranje aplikacija. Dolazi unaprijed konfiguriran za preglednik Chrome i poboljšan snimkama zaslona. Parametrizirana značajka slanja poruka nudi mogućnost pozivanja pošiljatelja s dostupnim parametrima prije nego što se pozove radnja. Rails 5.1 pojednostavljuje stvaranje obrazaca objedinjavanjem dviju hijerarhija form_fori form_tag, s form_with. U međuvremenu, funkcija usmjerenih ruta omogućuje deklariranje programskih ruta koje mogu koristiti Ruby za izvršavanje funkcija ovisno o parametrima.

"Tijekom godina imali smo olujni, možda čak i sporni odnos s JavaScriptom. Ali to je vrijeme prošlo", stoji u biltenu o izdanju 5.1.0 čiji je autor dhh, a koji je vjerojatno osnivač tvrtke Rails David Heinemeier Hansson. JavaScript se, naglašava u biltenu, posljednjih godina "neizmjerno poboljšao" pojavom ECMAScripta 6 i alata poput pređe i webpacka.