Programmering

Hvad er nyt i Rails 5.1: Bedre JavaScript til en

Ruby on Rails, den veteran-server-web-ramme, spiller godt med JavaScript i en opgradering, der for nylig er flyttet til en første betaudgivelse.

Rails 5.1 tilbyder flere forbedringer, herunder kryptering, systemtest og styring af JavaScript-afhængigheder fra NPM via Facebooks nye Garn-pakkehåndtering.

Ved at administrere JavaScript-afhængigheder gennem garn kan brugere være afhængige af biblioteker som React via NPM. Aktiver stilles til rådighed i en pipeline, og binstub bin / garn bruges til at tilføje disse afhængigheder. Udviklere, der arbejder med version 5.1, kan også kompilere JavaScript ved hjælp af Webpack-modulbundteren via en Webpacker-perle. Men Rails 5.1 dropper jQuery som standardafhængighed. Med omskrivning af rails-ujs diskret scripting adapter til at bruge vanille JavaScript, er denne afhængighed ikke længere nødvendig.

Rails 5.1 har også en krypteret kapacitet til styring af hemmeligheder. En krypteret hemmelighedsfil oprettes ved hjælp af bin / rails-hemmelighederne: opsætningsfunktion, som genererer en hovednøgle til at gemme uden for arkivet, samtidig med at udviklere kan begå produktionshemmeligheder.

Til systemtest inkluderer Rails 5.1 en indpakning af Capybara Ruby-biblioteket til applikationstest. Den kommer forudkonfigureret til Chrome-browseren og forbedret med fiaskærmbilleder. Den parametriserede mailers-funktion giver mulighed for at ringe til mailers med tilgængelige parametre, før en handling påberåbes. Rails 5.1 forenkler oprettelse af form ved at samle to hierarkier, form_for og form_tag, med form_med. En dirigeret rute-funktion muliggør i mellemtiden erklæring om programmatiske ruter, der kan bruge Ruby til at udføre funktioner afhængigt af parametre.

"Vi har haft et stormfuldt, måske endda omstridt, forhold til JavaScript gennem årene. Men den tid er forbi," sagde en bulletin på 5.1.0-udgivelsen forfattet af dhh, der formodentlig er Rails-grundlægger David Heinemeier Hansson. JavaScript, understreger bulletin, er "forbedret enormt" de seneste år med fremkomsten af ​​ECMAScript 6 og værktøjer som Garn og Webpack.