Apa yang baru di Rails 5.1: JavaScript yang lebih baik, salah satunya

Ruby on Rails, kerangka web sisi server veteran, bermain bagus dengan JavaScript dalam peningkatan yang baru-baru ini dipindahkan ke rilis beta pertama.

Rails 5.1 menawarkan beberapa peningkatan, termasuk enkripsi, pengujian sistem, dan pengelolaan dependensi JavaScript dari NPM melalui pengelola paket Yarn baru Facebook.

Dengan mengelola dependensi JavaScript melalui Yarn, pengguna dapat bergantung pada pustaka seperti React via NPM. Aset tersedia dalam pipa, dan binstub bin / benang digunakan untuk menambahkan ketergantungan ini. Pengembang yang bekerja dengan versi 5.1 juga dapat mengkompilasi JavaScript menggunakan bundler modul Webpack, melalui gem Webpacker. Tapi Rails 5.1 menjatuhkan jQuery sebagai dependensi default. Dengan penulisan ulang adaptor skrip rails-ujs yang tidak mengganggu untuk menggunakan JavaScript vanilla, ketergantungan ini tidak lagi diperlukan.

Rails 5.1 juga dilengkapi kemampuan manajemen rahasia terenkripsi. File rahasia terenkripsi disiapkan dengan menggunakan rahasia bin / rails: kapabilitas penyiapan, yang menghasilkan kunci master untuk disimpan di luar repositori sambil memungkinkan pengembang untuk mengikat rahasia produksi.

Untuk pengujian sistem, Rails 5.1 menyertakan pembungkus pustaka Capybara Ruby untuk pengujian aplikasi. Itu datang dengan konfigurasi sebelumnya untuk browser Chrome dan ditingkatkan dengan screenshot kegagalan. Fitur mailer berparameter menawarkan opsi untuk memanggil mailer dengan parameter yang tersedia sebelum tindakan dipanggil. Rails 5.1 menyederhanakan pembuatan formulir dengan menyatukan dua hierarki, form_fordan form_tag, dengan form_with. Sementara itu, fungsi rute terarah memungkinkan deklarasi rute terprogram yang dapat menggunakan Ruby untuk menjalankan fungsi bergantung pada parameter.

"Kami telah mengalami badai, bahkan mungkin kontroversial, hubungan dengan JavaScript selama bertahun-tahun. Tapi waktu itu sudah lewat," kata sebuah buletin pada rilis 5.1.0 yang ditulis oleh dhh, yang diduga pendiri Rails David Heinemeier Hansson. JavaScript, buletin tersebut menekankan, telah "meningkat pesat" dalam beberapa tahun terakhir dengan munculnya ECMAScript 6 dan alat-alat seperti Yarn dan Webpack.