.NET dünyasında neden raylar / grails / django / roo gibi bir şey yok? [kapalı]


10

Bana öyle geliyor ki hızlı gelişim web platformları web uygulamalarının dünyasını kökten değiştirecek.

Rails 1.0'ın Ruby için piyasaya sürülmesinden bu yana beş yıl geçti ve o zamandan beri Groovy için Grails, Python için Django ve Java için Roo'yu gördük.

Ama benim bilgime göre (muhtemelen sınırlı, bir Java / Groovy programcısı olarak) C # için benzer bir çerçeve yok.

Böyle bir şey var mı? Değilse, neden olmasın?

Düzenleme: "Hızlı gelişme" dediğimde doğru kelimeleri kullanmıyorum, ama 30 dakika içinde çalışan bir blog motoru oluşturmanıza izin verebilecek çerçevelerden bahsediyorum. Denetleyicilerinizin bulunmasına izin vermek için gereken çeşitli yapılandırma ve öğelerinizin kalması ve alınması için gereken yapılandırma ve kod sayesinde, örneğin Java, Spring ve Hibernate ile bunu makul bir şekilde yapamazsınız.

Bu yüzden tüm CRUD'u konfigürasyon üzerinde bir kongre anlayışı ile ele alan çerçevelerden bahsediyorum. Birisi bahsettiğim şey için doğru sözlere sahipse, bana bildirin.

Yanıtlar:


5

Bana öyle geliyor ki, hepiniz bu konuda konuştuğunuz bu tür bir çerçeve için bir isim yok. Şu an için onları sadece RAILS benzeri Çerçeveler olarak adlandırıyorum : Çoğu web uygulamasının temel ihtiyaçlarını çözmek amacıyla mevcut mevcut diğer çerçeveleri düzenleyerek üretkenliği artıran, aynı zamanda geliştiricinin tüm karmaşıklıklarını gizleyen çerçeveler.

Temel ihtiyaçlara göre, bir Kalıcılık Sağlayıcısı, bir Bağımlılık Enyeksiyon Kabı, bir Günlük aracı, bir MVC platformu, bir HTML Şablon Motoru, CSS hazır ayarlarına sahip bir Web Sitesi Şablonu Başlangıç ​​Kiti, bir Güvenlik Çerçevesi ve AJAX özellikleri için bazı Javascript Kütüphanesi'nin uygulanması kastediyorum ve diğer harika şeyler. RAILS benzeri Çerçeveler, tüm bu çerçeveleri ve araçları Etki Alanı modeli (sisteminizdeki öznitelikleri ile) temelinde düzenler.

Konfigürasyon Üzerinden Konvansiyon ilkesi sayesinde, bu çerçeveler, genellikle orkestre ettikleri çerçeveler (Spring, Spring MVC, Hibernate, Log4J vb.) , yapı ve meta veriler aynı sınıf tanımlarına dahil edilmiştir.

AspectJ kullanarak Java'da dinamik davranışı uygulayan SpringRoo hariç, bu çerçevelerin kullandığı dinamik diller (Ruby, Groovy, Python, Clojure vb.) geliştiriciye, temel teknolojilerin farkında olduğu tek tip ve zarif bir şekilde sunulur.

Son olarak, İskele tekniği sayesinde, birim testleri, entegrasyon testleri, denetleyiciler ve görünümler, geliştirici tarafından tanımlanan etki alanı nesnelerinin her biri üzerinde ana işlevler (CRUD) için otomatik olarak oluşturulur.

.NET dünyasında, önceki tüm tanımların ardından henüz hiçbir şey geliştirilmemiştir. Ama hiçbir şey bunun yakında gerçekleşmesini engellemiyor. .NET dünyasında halihazırda mevcut olan, CLR için yapılmış yeni bir RAILS benzeri çerçeve tarafından düzenlenebilen harika çerçeveler, araçlar ve kütüphaneler vardır. Bağımlılık İnyection ihtiyaçları için Unity, Spring.NET ve Windsor Kalesi vardır. Entity Framework 4, NHibernate ve iBatis.NET oldukça iyi .NET Kalıcılık Sağlayıcılarıdır. ASP.NET MVC, geleneksel ASP.NET'in yanı sıra çeşitli Şablon Motorları desteği ile güçlü bir şekilde geldi.

Hiç kimse bu tür bir çerçeve oluşturmak için bir DLR dili kullanmaya başlamasa bile, yeterli olan herkes SpringSource yolunu izleyebilir ve F #, C # veya VB.NET gibi bir statik dille RAILS benzeri bir çerçeve uygulayarak bir Unsur kullanabilir Dinamik davranış elde etmek için -Oriented Konteyner (AspectSharp veya Gripper-LOOM.NET gibi).

.NET'te böyle bir çerçeve geliştirmeye çalışan herhangi bir grup insanı bilmek isterim.


4

"Hızlı gelişim web platformları" ile ne demek istediğinizi bilmiyorum. Bildiğim "hızlı gelişim" tanımının diller, paradigmalar veya çerçevelerle ilgisi yoktur, daha ziyade bir sistem üretmek için hızlı prototip oluşturma ve yinelemeli geliştirmenin kullanılmasıdır. Herhangi bir dil veya çerçeve eşit derecede iyi kullanılabilir.

Daha önce Grails veya Roo kullanmadım, ancak Django ve Rails her ikisi de MVC çerçeveleridir, bu nedenle .NET'teki muadili ASP.NET MVC olacaktır .


1
ASP.NET MVC'yi Spring MVC'nin karşılığı olarak görüyorum. Ve Rails'in bir MVC çerçevesi olduğunu söylemek, Stackoverflow'un uzman değişimi gibi bir KG sitesi olduğunu söylemek gibidir. Bu gerçek bir ifade, ancak en önemli özelliği ve vahşi başarısının nedenini özlüyor.
Eric Wilson

1
Lütfen "en önemli özelliği" açıklayınız. Rails, Ruby dili için bir MVC çerçevesinden başka bir şey değildir. Bu onunla ilgili her şeyi yakalar.
Thomas Owens

2
Spring, Java için bir MVC çerçevesidir, ancak Rails and Grails'ı harika yapan şeylerin çoğunu yapmaz. Örneğin, grails ile, bir etki alanı nesnesi oluşturduktan sonra, ben yazabilir grails generate-allve grails denetleyicileri, görünümler üretir ve kalıcılığını yönetir.
Eric Wilson

3

Visual Studio'ya gidip bir web sayfasındaki denetimleri sürükleyip bırakabilir ve çok az kod içeren veya hiç kod içermeyen bir veritabanına bağlayabilirsiniz. Test etmek / görüntülemek için tek bir tıklama. Ve bir web sitesine yüklemek için tek bir tıklama (tamam, kimlik bilgilerini girin).

Bunu yapmanın en çok kullanılan veya hatta önerilen yolu değil, ama bundan daha kolay olamaz.


0

Çünkü .NET web uygulamalarının bir oluşturma döngüsü vardır.

Ruby / Python çok çevik / çevik ve dinamik dillerdir.

Çalıştığım yerde büyük bir .NET web uygulamamız var ve derleme süreleri tipik bir orta-büyük C ++ programı ile karşılaştırılabilir.

Yedeklememde python'da web uygulamaları geliştiriyorum ve derleme süresi 0. Hiç bir derleme adımı yok. Çalışan yorumlayıcı, .py dosyalarını kaydettikçe yeniden yükler.


1
Java uygulamalarının bir oluşturma döngüsü vardır, ancak Spring Roo hala Java / Spring uygulamaları için harikalar yaratır. Bence burada başka konular var.
Eric Wilson
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.