2021'de Ruby

Ender Ahmet Yurt
5 min readDec 27, 2021

--

Merhaba,

Bundan önceki yazımda 2020'nin biraz sonları ve 2021' kendi hayatımı yorumlamıştım. Şimdi ise 2021 yılında Ruby dünyasında olup bitenleri yazmak istiyorum. Bu yazının benzerini 2017 yılında da yazmıştım. Bu sene kendimce konuşmak Ruby’de ve Ruby Türkiye’de olup bitenleri de detaylı olarak yazmaya çalışacağım.

Ruby Türkiye

Covid-19 pandemisi bizlere çevrimiçi etkinlikler de yapabileceğimizi gösterdi. 2020 Aralık ayında başladığımız ve adına Akşam Oturması dediğimiz meetup’larımızı düzenli olarak iki haftada bir yapmaya 2021'de de devam ettik. Özellikle 2021'nin Mart ayından Ağustos ayına kadar zaman zaman ayda bire çıkan sıklıklarla buluşmalarımıza devam ettik. Başlarda bir araya geliyor, sohbet ediyorduk. Sonralarda konuşmacılar da davet edip, sunumlu Akşam Oturmaları yapmaya başladık. Bu sene ilk defa meetuplarımızda iki tane yabancı konuşmacı ağırladık. Bütün bu organizasyonları Kommunity.com üzerinden organize ettik ve Zoom’da gerçekleştirdik. Konuşmaların kayıtları aldık ve Youtube üzerindeki Ruby Türkiye kanalında sunumlardan sonra yükledik.

Topluluk olarak Yakut adında haftalık olarak Ruby dünyasında olup bitenleri konuştuğumuz podcast’i, her cumartesi saat 21:30 ve 22:30 arasında Youtube canlı yayını olarak yapmaya başladık. İlk bölümüne 27 Mart’ta başladık ve 34 bölümdür dur durak bilmeden devam ediyoruz. Yakut daha sonra Twitter’da Periscope yayınlarına da Youtube yayınlarına paralel olarak başladı ve canlı yayın kanalımızı ikiye çıkardık.

En başından beri yoğun olarak kullandığımız Slack kanalımız’da sorular soruların ve bazı değerli konuşmaların kaybolduğunu, ayrıca daha farklı konuşmaların da dönebileceğini düşünerek Ruby Türkiye Discourse’unu açtık. Buradan gelen sorulara ve yorumlara cevaplar vererek, topluluk için daha faydalı olmaya çalışıyoruz.

2021 Türkiye ekonomisi için zor geçti. Bu zorluklar biz yazılımcıları video eğitim veya kitap gibi her ne tüketmek istiyorsak döviz üzerinden alışveriş yapmak durumunda olduğumuz için daha fazla etkiledi. Bu etkilenmeyi biraz olsun azaltmak için Driffting Ruby, Go Rails ve Ruby Garbage Collection in Under Two Hours eğitim içeriklerine sadece Ruby Türkiye Slack grubunda bulunanlara indirimler sağladık. Sizlerde Ruby Türkiye Slack kanalına gelip, benimle iletişime geçerseniz, bu kaynaklar için indirim kodlarınızı alabilirsiniz.

Bütün bir yıl içinde yaptıklarımızı ve daha fazlasını konuşmak adına yönetim işlerimizi Basecamp’e taşıdık. Burada daha organize ve ne yaptığımızı bilerek hareket etmeye başladık. 2020 sonlarında çekirdek kadromuz 3 iken şuan 9'a çıktı. Bu sene topluluk için her zaman bir şeyler yapmaya çalışan Ufuk Kayserilioğlu, Tayfun Öziş Erikan, Yaşar Celep, Muhammed Dilmaç, Oğulcan Girginç ve zaman zaman aramıza katılıp, bizlerle bilgileri paylaşan Serdar Doğruyol’a çok teşekkürler ❤️ Ayrıca sene sonuna doğru aramıza katılan ve çok güzel işler yapacaklarına inandığımız Merve Şahan, Fadime Özhan ve Kemal Akın ve Çoşkun Tekin’e de hoş geldiniz demek istiyorum.

Ruby 3.0

Ruby büyük release’leri Christmas’da yaptığı için 2020 sonlarında Ruby 3 hayatımıza girdi ve gelişmesi 2021 boyunca sürdü. Ben bu yazıyı yazarken Ruby 3.1 çıktı. Ruby 3 ile artık Ruby 2'deki yavaşlık konuları biraz olsun rafa kalkmaya başladı. Şimdilik çok fazla Ruby 3 kullanan duymuyoruz, ancak Ruby 3.1'in çıkması ve Rails 7'de Ruby 2.7 ve üstünün zorunlu olması ile kullanımı artacaktır. Ruby 3 temelde üç ana başlığa odaklandı: Performance, Concurrency ve Typing(Static Analysis). Bunların her biri için ayrı ayrı detaylar verilebilir ama hepsi için de ayrı yazılar yazmak gerekir. Biz Yakut’ta zaman zaman bu konulari detaylı olarak konuştuk, ve dilimiz döndüğünce anlatmaya çalıştık.

Ruby on Rails 7.0.0

Benim bu sene en çok beklediğim ve senenin sonuna doğru çıkan Ruby on Rails 7.0.0 topluluğu bayağı mutlu etti diyebilirim. RoR, versiyonları bir günde bakın yeni versiyon çıktık şeklinde çıkarmıyor, topluluk neler yapıyorsa ve kabul görüyorsa main branch’lerine merge ediyor ve developer’lar için kullanıma direk açıyor. RoR 7'de de bu şekilde yaklaşık bir senedir geliştiriliyor ve biz Yakut’da bu konuların çoğuna yer vermeye çalışıyoruz.. RoR 7 bizlere diğer RoR versiyonlarından özellikle 6. versiyondan farklı birçok şey getiriyor. Bunların başında Webpacker’in kalkması ve import map’lerin kullanılmaya başlaması heyecan verici. Bu konu hakkında DHH’in güzel bir yazısı var, incelemenizi tavsiye ederim. Single Page Application yaklaşımından uzaklaşmak ve buradaki karmaşıklığı çözmek adına Hotwire dedikleri bir yaklaşım ile karşımıza çıktılar. Hotwire kavram olaral çok yeni olmasa da Turbo ve Stimulus ile bizlere web geliştirme yaparken daha az hatta belki hiç Javascript yazmadan web geliştirmeler yapma imkanı sunuyor. RoR 7 ile CSS bundling de artık daha kolay olmaya ve şuan desteklediği, Tailwind CSS, Bootstrap, Bulma, PostCSS, or Dart Sass’i projelerimizde kolayca entegre etme ve kullanma imkanı sunuyor. Backend tarafında ise daha güvenli ve daha hızlı bir web framework’ü yapabilmek adın yaptıkları geliştirmeleri de görebiliyoruz. Özellikle Active Record Encryption, Asynchronous Query Loading ve Zeitwerk bunlara örnek verilebilir.

The One Person Framework

DHH’in Aralık ortalarında yazdığı bu yazı aslında biraz Ruby on Rails 7'nin arkasında yatan motivasyonu anlatıyor ve Rails 7'nin özetini yapıyor. Ancak burada dikkat edilmesi gereken Rails 7 ile sadece bir framework size yeterli ve bu framework ile web’de istediklerinizi yapabilirsiniz yaklaşımı. Daha fazlasına neden ihtyacınız var? Bu sorunun cevabını özellikle startup’lar Rails 4 ve bazen 5 zamanında vermişlerdi. Rails 7 ile daha fazla startup hatta bence scaleup’lar Rails ile güzel işleri, daha zahmetsiz ve hızlı bir şekilde yapmaya başlayacaklar.

Ruby dünyasında 2021'de tabii ki benim bu yazdıklarım ile sınırlı değil. Son zamanlarda Ruby dünya da her ne kadar popüler bir dil olarak görülmese de hala eski gücünü koruyor. Bu sene yapılan yeni atılımlar ile 2022'yi Ruby için daha parlak görüyorum.

2022 yılın için yeni bir programlama dili ve yeni insanlarla tanışma planlarınız varsa Ruby Türkiye’yi ziyaret etmenizi tavsiye ederim. Bizlere Slack, Twitter ve Email üzerinden ulaşabilir, yukarıda paylaştığım Ruby Türkiye Discourse’a gelip, kendinizi tanıtıp, nereden başlayabilirim diye sorabilirsiniz. Kapımız iyi yazılımcılar olmak isteyen herkese açık. Ruby’i sevmiyorsanız bile buluşmalarımıza bekliyoruz, kim bilir belki bizi seversiniz :)

Sevgiler.

--

--