Ruby on Rails'e karşı .NET Guy için ASP.NET MVC 3? [kapalı]


98

RoR konusunda çok yeniyim ve APS.NET MVC3 ile RoR arasında seçim yapmak istiyorum. C # çok uzun zamandır yaptığım için benim için daha kolay, ancak gerçek dünya web sitesi geliştirmek için .MVC üzerinden RoR kullanmayı düşünmenin bir anlamı olup olmadığını merak ediyorum.

RoR'da ustalaşmak için zaman harcamaya değecek ASP.NET MVC 3 ile elde edemediğim RoR ile başka ne elde edebilirim? Mevcut topluluk RoR eklentisinin bir neden olacağını düşündüm, ancak bu organize görünmüyor ve doğru şeyleri yapmak için öğrenme eğrisi o kadar büyük olacak ki, yeni başlayanlar için pratikte fazla zaman kazandırmayacak! Burada yanılıyor olabilirim ve bu konudaki gerçek hayat yorumunuz için gerçekten minnettarım. Hala ASP.NET MVC öğrenmem gerektiğini unutmayın, ancak bu bir .NET Guy için hızlı geliyor!

Ne bir .NET adam RoR teklifini olabilir DEĞER ASP.NET MVC 3 yılı RoR alacak? ve lütfen pratik tavsiyeler! :)


11
Bu soru nasıl konu dışı ya da gerçek bir soru değil? Her neyse, advicesoruya etiketi ekledim .
Zabba

1
@zabba, neden? Bana etiketsiz gibi görünüyor.
bzlm

1
@bzlm, etiketsiz nedir?
Zabba

2
@zabba yalnızca 95 soru, wiki özeti yok, amacı belirsiz ("tavsiye" gerektiren sorular genellikle yanıtlanamaz ve bu nedenle site tüzüğüne göre hoş karşılanmaz), vb. :)
bzlm

3
Sakin olun çocuklar! "Bir NET geliştiricisi için .NET MVC üzerinden RoR değerleri nelerdir?" soru değil mi? !!! MVC'ye hiç kilitlenmemiş ve sadece cevabı merak ediyordum !!
iCode

Yanıtlar:


71

İkisi de harika ve aynı hedefleri çok hızlı bir şekilde gerçekleştirebilirler. Bir süre önce öğrenmek için harika bir kitap kullandım ve tam size göre: .Net Developers için Rails

Ayrıca bir süre önce MVC'den RoR'a geçiş hakkında bir yazı yazmıştım .

Karşılaştırmalara gelince, her ikisinin de ele alındığı gibi güçlü yönleri var, ancak işte bana yapışan birkaç tanesi:

  • RoR'un dağıtımını ve canlı sitelere zorlamanın basit yollarını gerçekten seviyorum - çalıştırılacak hiçbir komut dosyası yok, kod gerçekten yazıldıktan sonra yalnızca bir miktar komut satırı sizi çalıştırabilir. RoR'u seçerseniz, KOMUT HATTI KOMUTLARINI ANLAYIN - hayatınızı çok daha kolay hale getirecek!

  • Bahsettiğiniz gibi, eklentiler harika ve gerçekten işleri hızlandırmak için kullanılabilir.

  • Bir .Net geliştiricisi olarak MVC çocuk oyuncağı olacak, çok basit ve eski 2.0 jilet olmayan render işleminden daha az karmaşık olduğu için Razor kullanmanızı tavsiye ederim.

  • .Net'in EF4'ü neredeyse doğrudan RoR'un ActiveRecord ile karşılaştırılabilir, verilerle uğraşan harika ORM sistemleri.

  • Net'in belgelerinin biraz daha tutarlı ve eksiksiz olduğunu buldum.

  • RoR ile ilgili yaşadığım sorunlardan biri hızlı ve sert değişikliklerdi; çok uzun zaman önce, sunucumda 3.0'a yükselttiler ve sürümümü kilitlemedim - yeni şeyleri çözene kadar her türlü şey bozuldu (sürümümü dondurmalıydım).

Temiz bir kesim seçimi değil - ikisi de harika. Zaten bir .Net geliştiricisi olduğunuz için, MVC3'ün en iyi yol olacağını tahmin ediyorum, ancak her ikisinin de öğrenilmesi kolay.


4
Artık ASP.NET MVC açık kaynak kodlu olduğuna göre, RoR ile özellik açığını ne kadar çabuk kapatacağını merak ediyorum. Geliştirici topluluğu hala MS mühendislik ekipleri tarafından tam olarak desteklenen bir ürüne katkıda bulunma becerisine sahip olacağından paramı MVC3'e yatırıyorum.
Scott

1
RoR konusunda emin değilim. C # MVC ve Razor kullanan bir .NET kullanıcısıysanız, ancak MS MVC, WebAPI, WCF, EF'yi biraz hantal buluyorsanız ve daha sıkı paketlenmiş bir çözüm istiyorsanız ... SS servicestack.net'i deneyebilirsiniz ... Ücretsizdir , açık kaynak, çok aktif topluluk .net ve mono'yu destekler, yukarıdaki ağır çerçevelerin tamamen değiştirilmesi. Ben şahsen bunu çok seviyorum :)
Tom

2
Ruby sürüm oluşturma, olması gerektiği gibi Bundler kullanıyorsanız basit ve öngörülebilirdir.
Lilith River

31

Her ikisini de kullanıyorum ve beğeniyorum ve bunun gibi bir soruyla ilgili sorun, bunların o kadar farklı olması ki, bütün gün elma ile portakal arasında devam edebilirsiniz, ancak sorunuz oldukça spesifik olmadığı için, sadece şunu söyleyeceğim:

Kendini düşünün "Bir .NET adam," o zaman gereken C # daha çok farklı çalışır bir dil öğrenmek ve Ruby gibi dinamik bir dil başlamak için kötü bir yer değil. (Başka bir seçenek Haskell, Scala vb. Gibi işlevsel bir dil olabilir.)

Bunu yaptıktan sonra daha iyi bir programcı olacaksın ve artık kendine ".NET adamı" demen gerekmeyecek!


3
Kabul ediyorum, ancak amacım gerçek bir web sitesini olabildiğince hızlı bir şekilde çalışır hale getirmek ve ufkumu genişletmek şu anda ana hedefim değil. Ruby gibi yeni harika şeyler öğrenmeye kesinlikle değer veriyorum, ancak şu anda odak noktam, sahip olduğum sınırlı süre için doğru seçeneği seçmek. Ve amaçlarının bir web geliştirme çerçevesi olmak olduğu yerdeki elma ve portakallar neden?
iCode

3
Gerçek bir sitenin hızlı bir şekilde çalışmasını sağlamak Rails için sorun olmayacaktır. Kendinize bir iyilik yapın: Pazarlamak için zamanınıza zarar vereceğine karar vermeden önce bu eğitim üzerinde çalışarak bir hafta geçirin . Tek risk, bir şeyler öğrenmen! "Elmalar ve portakallar" olmalarının nedeni, farklı çalışmaları, farklı platformlarda çalışması vb. farklı dünyalar. Zihin genişleyen bir farklılık olabilir.
Craig Stuntz

Harika teşekkür ederim. Ben yapacağım. Her ikisini de kullandığınız göz önüne alındığında, .MVC'de bulunan Rails ile pratik açıdan neler elde edilebileceğini yine de yorumlayabilir misiniz?
iCode

6

Burada bir RoR devi değil, ama Django yapıyorum ve aynı sorunun Django için de sorulabileceğini düşünüyorum. ASP.NET MVC üzerinden Django'yu sevdiğim 1 numaralı şey Django'nun zaten ORM ile birlikte gelmesi. Bu, web'de bulacağınız kod örneklerinin çoğunun benzer bir modeli izleyeceği anlamına gelir. ASP.NET MVC ile birçok farklı ORM arasından seçim yapabilirsiniz, bu iyi bir şey olabilir, ancak kafa karışıklığına da neden olabilir.

@Craig'in dediği gibi, gerçekten elma ve portakal. Bir MS yığınına dağıtmam gerekirse ASP.NET MVC'yi seçerdim ve Linux'ta dağıtılmasını gerektiren "kişisel" projeler veya projeler için Django'yu kullanırdım.


3
Daha önce hiç Django kullanmadım. Ben bir Rails ve .NET MVC adamıyım. Gördüğüm neredeyse her .NET MVC öğreticisi, Entity Framework kullandığınızı ve ASP.NET sitesindeki dokümantasyon ve öğreticilerin çok iyi olduğunu varsayar. Bir MVC projesine EF eklemek için NuGet paket yöneticisi konsoluna bir komut yazmanız yeterlidir - tıpkı bir .net derleme başvurusu almanız dışında Rails ile bir gem almak gibi. IMHO .NET MVC, EF ve Code First ile birlikte uygulama için AppHarbor, bir Rails ortamına en yakın olanlardır.
PhillipKregg

6

Craig Stuntz'a cevabınızda, 'sahip olduğunuz sınırlı süre için doğru seçeneği' istediğinizden bahsettiniz.

Mvc3 ile gidin ve aynı anda yeni bir dil ve çerçeve yerine tam da bunu öğrenmeye odaklanın. RoR harika, ancak aynı anda yeni bir dil, çerçeve ve IDE ve muhtemelen ilk seferinde doğru yapamayacaksın. Ben yapmadım.

Asp.net web sitesinde sizi çok hızlı bir şekilde hazırlayıp çalıştıracak gerçekten iyi öğreticiler var .


2
Benim de düşüncem buydu ve insanların yeni başlayanlar için bile RoR'da bir şeyler yapmanın ne kadar kolay olduğu hakkında konuştuklarını duyuyorum ama bunun merhaba dünya web sitesi mi yoksa gerçek dünya prodüksiyon web sitesi mi olduğunu merak ediyorum. Sorumun aldatıcı olduğunu biliyorum ama bir şey bana RoR'un aynı anda yeni bir dil, çerçeve ve IDE olduğunu söylüyor ve .MVC ile bir üretim ürünü yapmak kadar hızlı olamaz ama .net'in ne olduğunu bilmek istedim. bununla ilgili topluluk deneyimleri? Çoğunlukla bilmek istiyorum, eğlencenin yanı sıra, .MVC3 yerine RoR'u seçmenin anlamı nedir? Teşekkürler
iCode
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.