Mengapa kami masih memilih Ruby di tahun 2020?

Halo, Habr! Untuk itu saya sajikan terjemahan artikel "Mengapa Ruby masih menjadi pilihan kami di tahun 2020?" oleh Vira Vashkovska.



Kami adalah tim pengembangan Ruby on Rails yang berpengalaman. Beberapa dari kita telah mengembangkan Ruby selama bertahun-tahun dan mengetahuinya seperti punggung tangan kita. Inilah sebabnya mengapa dibutuhkan banyak keberanian bagi kami untuk mengakui bahwa Ruby tidak dalam kondisi terbaiknya saat ini.



Bahasa tersebut sempat sangat populer pada tahun 2013-2015, namun kemudian popularitasnya menurun. Ini terutama terlihat ketika kami membandingkan statistik Ruby dan Ruby on Rails untuk tahun 2020 dengan kemajuan yang dibuat oleh alat lain. Stack Overflow melakukan perbandingan yang agak sepele dari dinamika pertumbuhan Ruby dan Node.js berdasarkan jumlah pertanyaan yang diajukan. Ya, ini bukan indikator yang paling obyektif, tetapi Anda mengerti ...



gambar



Pengguna Ruby telah turun, tetapi apakah itu cukup untuk mengumumkan kematian Ruby? Tidak juga. Jika Anda pernah melihat artikel seperti "Ruby is Dead" atau "Ruby is Irrelevant," persiapkan diri Anda - pada titik tertentu setiap bahasa dinyatakan mati. Ambil contoh Node.js - runtime sedang mengalami saat-saat yang menyenangkan - namun orang-orang bergegas untuk mengumumkan kematiannya.



gambar



Pandangan tergesa-gesa dari kehancuran alat sangat umum di kalangan pengembang perangkat lunak. Kami telah melihat banyak instrumen yang dinyatakan mati, meskipun ini sama sekali tidak benar. Semua pengembang berpengalaman tahu bahwa cerita tentang bahasa dan kerangka kerja yang sekarat itu populer.



Apakah Ruby dan Ruby on Rails sudah mati pada tahun 2020?



Jelas tidak ada asap tanpa api. Ruby sama sekali tidak sempurna: pengembang diberi beberapa alasan untuk mempertimbangkan beralih ke alat lain. Mari kita lihat kritik paling umum dari Ruby dan Ruby on Rails dan lihat apakah itu bermanfaat.



1. "Konsumsi sumber daya prosesor yang kacau." Ruby dan Ruby on Rails diketahui memiliki pemanfaatan CPU yang tinggi secara tiba-tiba. Pengembang memulai proses tipikal mereka, membuka monitor aktivitas dan menemukan bahwa pemakaian CPU adalah 50% atau bahkan 100%. Biasanya, perubahan ini terjadi tanpa alasan yang jelas - pengembang tidak memahami kesalahan yang mereka lakukan, dan mereka harus menghentikan proses.



Komentar kami: Ruby tidak bekerja dengan baik dengan penggunaan CPU. Biasanya, untuk mengurangi konsumsi, cukup mengedit file konfigurasi dan menonaktifkan proses pemindaian latar belakang yang tidak perlu. Masalahnya seringkali pada kualitas kode; satu-satunya keluhan kami adalah sulitnya menemukan masalah tersebut.



gambar



2. "Pengetikan dinamis bukanlah tanda kode yang baik." Pengetikan dinamis di Ruby tidak diuji dengan benar. Pengembang dapat membuat kesalahan, membuat kode yang tidak dapat dibaca dan tidak menyadarinya. Beberapa orang berpikir repositori kode Ruby adalah magnet untuk hutang teknologi.



gambar



Komentar kami: Di โ€‹โ€‹Ruby, variabel bersifat dinamis: satu variabel dapat merujuk ke nilai yang berbeda, dan Anda dapat mengubahnya kapan saja. Inilah yang menjadikan Ruby salah satu bahasa tercepat untuk menulis kode, jadi itu bukan kekurangannya. Ruby juga memiliki pengumpul sampah yang bagus yang secara otomatis mendeteksi masalah teknis dan tidak memerlukan konfigurasi manual. Proyek-proyek sukses berskala baik menggunakan Ruby adalah bukti bahwa Ruby bisa sangat teratur.



3. "Tidak ada kurva pertumbuhan." Bukan karena Ruby menjadi buruk, hanya saja bahasa lain menjadi jauh lebih kuat. JavaScript membuat lompatan luar biasa dalam kualitas setiap tahun, sementara Ruby tumbuh dengan mantap namun lambat. Rails dulunya merupakan keunggulan kompetitif yang jelas, tetapi sekarang setiap bahasa memiliki kerangka kerja seperti Rails.



Komentar kami: Benar bahwa Ruby on Rails telah menginspirasi Node.js, JS, Python, dan banyak kerangka kerja lainnya. Dalam hal pembaruan, mereka yang telah menggunakan Ruby sepanjang waktu telah melihat peningkatan yang signifikan dalam kecepatan dan kualitas kode. Ruby on Rails pada tahun 2020 secepat kerangka JS - kami memiliki artikel yang menjelaskan hal ini secara lebih rinci.



Ruby dan Ruby on Rails adalah suatu keharusan untuk banyak proyek



Ruby bukan bahasa utama, tetapi merupakan salah satu yang paling efisien. Orang tidak mempelajarinya untuk bersenang-senang - mereka melakukannya untuk pekerjaan. Ini digunakan oleh Airbnb, Hulu, GitHub, dan banyak platform utama lainnya saat ini. Berikut adalah beberapa statistik tambahan tentang situs berbasis Ruby dan lalu lintasnya.



gambar



Ekosistem Ruby on Rails 2020 mencakup salah satu komunitas paling populer di GitHub dengan lebih dari 3.500 kontributor. Sebagai gambaran, Django, salah satu kerangka kerja Python paling populer, hanya memiliki 1.500. Jadi, perbandingan Ruby on Rails dan Django pada tahun 2020 menunjukkan bahwa RoR sebenarnya bekerja dengan baik.



Pengembangan Ruby cepat dan efisien



Di Syndicode, kami menggunakan Ruby karena berbagai alasan. Pertama, proyek kecepatan menulis di Ruby membutuhkan waktu 30-40% lebih sedikit daripada di bahasa lain. Ini karena Anda membutuhkan baris kode 3-4 kali lebih sedikit daripada di Java atau Python. Kode ini ringan dan meningkatkan kinerja.



Sebelumnya, Ruby memiliki reputasi lambat, tetapi hal ini dapat diatasi dengan praktik pengkodean yang baik. Kami sepenuhnya setuju dengan panduan yang diposting oleh Shopify - mudah untuk menulis kode Ruby cepat jika Anda tahu caranya.



gambar



Manfaat Pengembangan Ruby untuk Pemilik Produk



Kecepatan pengkodean, lebih sedikit baris, dan kerangka kerja yang bagus semuanya tampak seperti keuntungan pengembangan. Bagaimana dengan kualitas produk dan manfaat kinerja? Berdasarkan pengalaman kami, Ruby menawarkan banyak hal untuk bisnis.



Waktu cepat ke pasar. Ruby on Rails adalah pilihan kami untuk pengembangan MVP karena ini adalah satu-satunya alat yang memungkinkan kami mencapai pengkodean kecepatan tinggi tanpa mengorbankan kualitas.



Fleksibilitas. Karena kode Ruby sangat cepat dan mudah untuk diedit, membuat dan menerbitkan pembaruan adalah tugas yang mudah. Pengembang dapat dengan cepat merilis fitur baru, memperkenalkan inovasi ke pasar, dan beradaptasi dengan kebutuhan pengguna.



Popularitas Ruby on Rails pada tahun 2020: Ekosistem platform Ruby on Rails dengan mudah mengungguli sebagian besar lingkungan pengembangan backend, termasuk alat Node dan Python.



Banyak alat dan pustaka gratis. Ada ekosistem yang luas dari permata dan repositori Ruby dan Ruby on Rails: cuplikan kode yang dapat digunakan kembali yang dapat diintegrasikan ke dalam proyek apa pun.



Hemat biaya: Dengan Ruby, Anda perlu membayar 2-3 kali lebih sedikit untuk pengembangan. Ini karena sintaks bahasa memungkinkan Anda menulis dengan cepat. Namun, banyak fitur dapat diimplementasikan dengan kode yang dibuat oleh komunitas dan siap digunakan.



Lintas platform: Kode yang ditulis di Ruby berfungsi dengan baik di seluruh perangkat dan sistem operasi, dan di seluruh browser. Semua situs web, SaaS, dan pasar kami yang diberdayakan oleh Ruby bekerja dengan sempurna di lingkungan lintas platform.



Keamanan: Ruby dan Ruby on Rails ideal untuk aplikasi sensitif data (platform keuangan, pasar, solusi perawatan kesehatan, dll.). Ruby dan RoR mengikuti siklus hidup pengembangan yang aman: pengembang memprioritaskan alat keamanan, alat pemantauan waktu nyata, dan mematuhi standar keamanan yang tinggi.



5 Area Teratas untuk Pengembangan Ruby



Hampir tidak ada aspek pengembangan web yang tidak tercakup dalam Ruby. Namun, berdasarkan pengalaman kami, kami telah mengidentifikasi 5 jenis proyek utama di mana menggunakan Ruby, bukan bahasa tujuan umum lainnya "membuat perbedaan."



Platform perdagangan



gambar



Ruby digunakan oleh: Airbnb, Hulu, Amazon



Marketplaces adalah platform web besar yang menghubungkan pembeli dan penjual, memungkinkan transaksi keuangan, transaksi, dan pembelian. Mereka menangani data dalam jumlah besar, memerlukan standar keamanan yang tinggi, dan memakan waktu lama untuk mengembangkannya.



Kami menggunakan Ruby on Rails untuk semua proyek kami di pasar, termasuk Agen Bersih dan HotelCloud yang sangat sukses. Hal ini memungkinkan kami mengurangi waktu pengembangan, meningkatkan kualitas, dan merilis pembaruan dengan cepat.



Perangkat Lunak sebagai Layanan



gambar



SaaS yang menggunakan Ruby: Basecamp, Dribble



Software-as-a-Service adalah platform yang secara terus menerus menyediakan layanan secara langganan. Dua kriteria untuk membangun SaaS yang sukses adalah kecepatan dan keamanan. Bagaimanapun, penyedia SaaS memiliki tanggung jawab jangka panjang untuk kesuksesan pelanggan mereka. Keandalan, kinerja yang baik, keamanan, dan pembaruan yang cepat sangat penting. Inilah mengapa Ruby on Rails adalah pilihan terbaik untuk pengembangan SaaS.



Skalabilitas: SaaS berkembang pesat - perusahaan tumbuh dengan kecepatan 50-60% per tahun. Basis kode harus beradaptasi dengan kebutuhan baru dan menangani beban tinggi. Ruby dan RoR memungkinkan Anda mengubah fungsionalitas dengan cepat dan menyesuaikan layanan dengan persyaratan baru.



Efektivitas Biaya: Ruby on Rails memiliki salah satu ekosistem paling signifikan untuk pengembangan web. Komunitas GitHub yang besar, permata berkualitas tinggi, dan pustaka yang siap digunakan semuanya berkontribusi pada infrastruktur yang kuat.



Kami memilih Ruby on Rails untuk InstaLinks, SaaS yang menghasilkan tautan pintar yang dapat diakses dari desktop dan seluler. RoR juga memenuhi persyaratan proyek yang lebih besar seperti CRM - lihat kasus kami dengan UkrVit.



MVP



gambar



Perusahaan yang telah menggunakan Ruby untuk MVP seperti Twitter, Shopify, GitHub, Basecamp



Ruby, dan Ruby on Rails adalah pilihan yang jelas untuk pengembangan MVP. MVP perlu dikembangkan dengan cepat - pemilik produk ingin mendistribusikannya kepada pengguna, menunjukkan layanan perhatian kepada investor, dan memperluas jangkauan mereka.



Mudah dibangun: bahkan tim Ruby on Rails dan Ruby yang kecil dapat membuat MVP yang besar;

Kemudahan Belajar: Pengembang internal dapat dengan cepat bergabung dengan proyek kami nanti karena mempelajari Ruby on Rails membutuhkan sedikit waktu karena sintaksnya yang sederhana.



Berikut adalah contoh MVP yang dibuat oleh pengembang web kami menggunakan Ruby on Rails. HelloCare adalah pasar perawatan kesehatan, di mana keamanan dan keandalan menjadi prioritas utama kami. Ruby on Rails memungkinkan kita untuk bergerak menuju tujuan ambisius ini sambil menjaga waktu ke pasar dan biaya produksi tetap rendah.



Aplikasi Lintas Platform dengan Ruby on Rails



gambar



Aplikasi lintas platform yang dibuat dengan Ruby: Basecamp, GitHub



Aplikasi seluler harus dapat memanfaatkan API perangkat, mengirim pemberitahuan push, dan menyesuaikan dengan karakteristik perangkat keras dan sistem operasi. Alat backend yang baik untuk aplikasi seluler harus mengirim peringatan, pengumuman, sinkronisasi data. Kami menggunakan Ruby dan Ruby on Rails untuk menyiapkan back end untuk database, server web, dan server aplikasi.



Meskipun kami terutama menggunakan Ruby untuk proyek web, kami sering merujuk ke bahasa ini untuk alat lintas platform. Inilah yang kami lakukan dengan Kindercare, sebuah aplikasi yang mengotomatiskan pengelolaan dan pengaturan penitipan anak dan prasekolah. Kami telah menggunakan Ruby dan Ruby on Rails untuk mengembangkan versi seluler dan web dari platform dan aplikasi tersebut telah menerima tanggapan yang sangat baik dan peringkat tinggi di seluruh dunia.



Layanan inovatif dengan pengembangan IoT dan AI



Ruby on Rails sering dilihat sebagai alat yang terjangkau untuk proyek sederhana, tetapi sebenarnya lebih dari itu. Kami senang menggunakan Ruby dan Ruby on Rails untuk produk ambisius yang menggunakan AI, IoT, pembelajaran mesin, dll.



Bahasa ini cukup kuat untuk mengakomodasi inovasi yang kompleks, dan sintaksnya yang sederhana menghemat banyak upaya pengembangan.



Ruby Gems menawarkan banyak kode siap pakai untuk inovasi AI dan IoT.



kesimpulan



Ruby tidak pernah mati. Baik statistik maupun pengalaman pengembang Syndicode menunjukkan hal yang sama: Ruby adalah bahasa praktis yang ideal untuk memecahkan masalah bisnis tertentu. Ini mungkin tidak menawarkan pendekatan khusus apa pun di luar kotak, yang membuatnya kurang menarik bagi komunitas seperti Stack Overflow, tetapi berhasil.



Masa depan Ruby on Rails bahkan lebih optimis - malah berkembang pesat. Ini masih menjadi salah satu platform pengembangan web paling populer, dan bahkan kerangka kerja mirip RoR belum dapat mengejar ketinggalan dengan aslinya. Ruby dan Rails adalah alat yang cepat dan efisien untuk membangun solusi web dan seluler - dan keuntungannya tidak akan kemana-mana.



Jika Anda berencana membangun pasar, SaaS, atau platform web apa pun dengan versi seluler, Ruby mungkin adalah pilihan yang tepat untuk proyek Anda. Anda akan tahu pasti saat berbicara dengan pengembang tentang hal itu, jadi jangan ragu untuk menghubungi kami.



All Articles