3 puan yazan GN⁺ 2024-11-04 | 2 yorum | WhatsApp'ta paylaş
  • Blogun başlangıcı

    • 2022'de gümrük beyannamesi hazırlayan bir uygulama geliştirmeye başladı.
    • Birden fazla dil ve framework'ü değerlendirdikten sonra Ruby on Rails ile geliştirmeye karar verdi.
    • Rails'e aşina olduğu için diğer seçeneklere kıyasla 10 kat daha hızlı geliştirebildi.
  • Sürüm 2 geliştirme

    • Uygulamanın ikinci sürümünü Rust ve SvelteKit kullanarak geliştirmeye başladı.
    • Başlangıçta hızlı ve iyi görünüyordu, ancak gerekli özelliklerin yalnızca %10'u hayata geçirilebildi.
    • Rails ile kıyaslanabilecek bir Rust framework'ü olmadığından çok zaman harcandı.
  • Rust'ın avantajları

    • Rust'ın performansını ve hatasız derleme avantajını deneyimledi.
    • Ruby'de çalışma zamanı hataları sık yaşandığı için Rust'ın gerekliliğini hissetti.
  • Frontend'deki değişim

    • Rails'in frontend'inden memnun kalmayınca SvelteKit'e geçmeye karar verdi.
    • Yeni yığınla bazı sayfaları hızlıca taşıdı, ancak dağıtım daha karmaşık hale geldi.
  • Geliştirmenin gerçeği

    • Rails tarafı yararlı özellikler eklemeye devam ederek gelişti.
    • Rust ve Svelte'e geçişin kullanıcılara doğrudan bir değer sunmadığını fark etti.
  • Kararın zorluğu

    • Yeni yığından vazgeçip yeniden Rails'e dönmeye karar verdi.
    • Ekip arkadaşlarını Rails öğrenmeye yönlendirdi.
  • Rails'in avantajları

    • Rails, birçok başarılı şirketin temelini oluşturuyor ve geniş bir kütüphane ile ekosistem sunuyor.
    • Ürün geliştirmeye odaklanmayı sağlıyor.
  • Dersler

    • Yeni dil ve framework'ler öğrenmek çok sayıda içgörü sağlıyor.
    • Web uygulaması geliştirmek, çok sayıda seçim ve ödünleşim gerektiriyor.
    • Rails'e geri dönmek iyi bir karardı ve üretkenliği artırdı.
  • Ruby ve Rails'in dezavantajları

    • Çalışma zamanı sorunları testlerle çözülebilir.
    • Kodun karmaşık hale gelmesi geliştiricinin sorunudur; iyi organize edilmelidir.
    • Rails yeterince hızlıdır ve Turbo ile caching sayesinde performans iyileştirilebilir.
  • Sonuç

    • Kusursuz bir dil ya da framework yoktur; her birinin artılarını ve eksilerini anlayıp kullanmak gerekir.
    • Rails iyi bir seçimdir ve başka birçok framework de harikadır.

2 yorum

 
lemonmint 2024-11-04

Ruby ile yeniden yazın
Rails ile yeniden yazın

 
GN⁺ 2024-11-04
Hacker News yorumu
  • Rails, Django ve Laravel, web uygulaması geliştirmede diğer stack'lerin çok önünde. Tekrarlayan işleri hallediyorlar, gereksinimleri iyi biliyorlar ve uygulama geliştirirken ayak bağı olmuyorlar. Web geliştirmenin zaten çözülmüş bir problem olduğunu düşünüyorum; JavaScript ile ilgili teknolojiler ise büyük şirketlerin finansmanıyla yönlendirilmeye daha yatkın

  • 17 yıldır Rails kullanıyorum; hâlâ seviyor ve tercih ediyorum. Kodu ayırmayı kolaylaştırdığı için dosya başlıkları gereksiz yere uzamıyor. Mantık ile işaretlemeyi ayırdığınızda bunları bağımsız test edebiliyorsunuz, bu da hataların izini sürmeyi kolaylaştırıyor

  • Rust çok zeki insanların yaptığı bir dil, ancak tip teorisi ve bellek tahsisine o kadar odaklı ki sıradan geliştiriciler için anlaması zor. Rust hakkında blog yazıları okusam bile ancak yarısını anlayabiliyorum

  • Ruby ve Rails'e yönelik şikâyetlerim azaldı. Kusursuz bir dil ya da framework yok; güçlü ve zayıf yönlerini bilip buna göre hareket etmek gerekiyor

  • Rust ile büyük web uygulamalarını hızlıca yazmak zor. Rails ile yazılmış büyük uygulamalar da hızlı çalışmıyor; çok hatalı olabilir, bakım ve ölçeklendirme açısından zorlayıcı olabilir. Java, C# ve Go gibi diller, Rails kadar hızlı iş bitirirken Rust kadar hızlı çalışıyor

  • NextJS ve SvelteKit gibi teknolojilerin JS geliştiricileri arasında popüler olmasının nedeni, Node.JS'in backend geliştirme deneyimindeki sorunları çözmeleri. Rails, 2006'da uygulama geliştirmek için kapsamlı bir çözümü devrim niteliğinde sunmuştu

  • AdonisJS'i Rails'in TS alternatifi olarak test ediyorum. Rails veya Laravel'e benziyor ve stack'in her parçasını seçme yükünü azaltıyor

  • Rust'ın web backend için uygun olmadığı yönündeki görüşler beni şaşırtıyor. Küçük servislerde iyi deneyimler yaşadım; büyük uygulamalar kurarken karmaşıklık artabilir ama Rust, büyük ölçekli kod tabanlarında ihtiyaç duyulan güveni veriyor

  • Django ile de benzer bir deneyim yaşıyorum; performans sorunları çoğunlukla Django'nun kendisinden değil, veritabanı sorgularından kaynaklanıyor

  • 2010 yılında değiliz; neden hâlâ Rails kullanılıyor anlamıyorum. Java (Spring), Go ve Node gibi pek çok alternatif var. Rust kullanmak ise neredeyse C++ seçmek kadar tuhaf