Varolan veritabanını kullanan bir uygulama için web çerçeve?

8 Cevap java

PHP kullanarak ve MySQL veritabanı kullanan yazılmış bir eski web uygulaması tamamen yeniden yazılması gerekir. Ancak, mevcut veritabanı yapısı hiç değişmedi edilmemelidir.

Ben framework bu görev için en uygun olacağını hangi önerileri arıyorum? Dil adaylar Python, PHP, Ruby ve Java vardır.

Pek çok kaynağa göre, mevcut veritabanı ile etkili rayları kullanmak için zor olabilir. Ayrıca ben otomatik olarak veritabanından modelleri oluşturmak için bir yol bulmuş değil.

Django ile otomatik modelleri oluşturmak çok kolay. Ancak ben eski veritabanları ile çalışmak için uygunluğu konusunda ilk elden deneyim takdir ediyorum. Söz konusu veritabanı kompozit tuşları dahil çok sayıda birincil anahtarlar, her türlü içerir.

Ayrıca ben dikkate değer diğer çerçeveler önerileriniz için teşekkür ederiz.

8 Cevap

Ben şu anda bir MySQL veritabanı benim öz ile eski bir PHP web uygulaması yeniden yaşıyorum.

PHP kodu spagetti nazikti ve güvenli yazın şimdi Java yeniden yazılıyor, iyi yapılandırılmış kod teşvik mükemmel takım vardır ve üstün birim test yetenekleri vardır. Java haritalama veritabanı için Hazırda / JPA kullanın.

Web uygulaması aşamalı üretim teslim edilir. Uygulama tam dönüştürülür kadar biz birlikte Java ve eski PHP kod büyük parçalar hem de çalıştırmak Anlamı.

Ama hazırda kullanmak için etkin biz mantıklı, doğru (MySQL MyISAM zorlamaz şey) olmak üzere veritabanı gerekiyor. Yani her üretim sürümü ile ben (aynı zamanda geliştirme ortamı oluşturmak ve birim test yapmak için kullanılır) veritabanı için bir üstlenmeden komut dosyalarını çalıştırmak ile şema değişiklikleri ile çalışan yeni bir sürümü ile PHP kodu güncellemek.

O, sade, şık ve öğrenmesi kolay bir web çerçeve olarak ben Stripes kullanın.

Django ile çok iyi bir deneyim var. Ben gerekli her zaman varolan veritabanı ile arabirim için göreve kadar oldu.

MySQL, şema ile katı değil gibi autogenerated modelleri, başlangıçtır. Genellikle db bazı kısıtlamalar uygulaması kendisi tutulur sadece işe yaramaz değil.

Benim ilk düşünce Hazırda ve Java kullanmak olacaktır, ama bu yine de bir veritabanı oluşturduktan sonra genellikle Hazırda yoluyla Model sınıfları haritasına Lütfen benim deneyim budur, çünkü ben önyargılı olabilir, bu nedenle kötü bir seçim olmayabilir.

Senin kendini anlatması izin vereceğim: Hibernate's website

Ben herhangi bir PHP Framework (I'm a PHP guy, so I will only talk about PHP) Tamam sizin için olabilir varsayalım; ama sen, iyi desteklenen bulunuyor büyük bir topluluk vardır birini kullanmak gerekir ...

Şeyleri kısası, ben bu liste dışı biri hakkında düşündüklerim:


Now, if you're asking "which framework is the best", it's a question that doesn't really have an answer : it's mainly a matter of personnal preferences...

Yine, burada bazı ilginç bilgiler getirebilir soruların + cevapları bir çift:

Ayrıca, Çerçeve seçiminde önemli bir karar olduğuna dikkat - her çerçeve ve nasıl özel ihtiyaca cevap olacak değerlendirmek için biraz zaman gerekir anlamına gelir.

Gerçekten: kesinlikle bu karara acele etmemelidir.

Bilirsiniz, uzak Rails örn. bir bütün Ruby web dev bir dünya var:

Böyle genel bir soru ile yardım etmek için her zaman biraz zor ...

Herhangi webapp prototip son derece kolay, web2py deneyin ve IMO biraz daha kolay diğer benzer web çerçeveler, HTH den (genel) kavramak için

Bir web çerçeve seçerken hiçbir kesin kazananlar vardır. Bahsettiğiniz Her platform kendi avantajları ve dezavantajları (donanım maliyeti, profesyonel destek, toplum desteği, vb) sahiptir. Zaman masada, proje gereksinimleri, ve muhtemelen bazı farklı answers.Personally ihtiyacımız olacak donanım kaynaklarının bağlı olarak, ben sizin ve ekip en deneyimli bir platform ile soruşturma başlatmak istiyorum.

Diğer posterleri birçok gibi ben sadece aktif şu anda kullanıyorum ne konuşabilir, ve benim durumumda Java. Java projeleri gereksinimlerini karşılamak gibi görünüyor, muhtemelen aktif bir topluluk ile yeni çerçeveler biri ile gitmek istiyorum. Şu anda Bahar Web MVC, Struts2 ve Stripes oldukça popüler gibi görünüyor. Tamamen, sebat katman bağımsız, ama tüm hazırda ve JPA gibi teknolojiler ile iyi entegre değilse bu çerçeveler, çoğunlukla; Kendinizi kablolama, çoğu, hepsi değilse yapmak zorunda olsa da.

Eğer Java yol almak istiyorsanız, sizin için kablolama sorunları en dikkat önceden yerleşik uygulama yığınları da vardır. Bir Örneğin Matt Raible en AppFuse bakmak isteyebilirsiniz. O popüler java teknolojileri birçok permütasyon ile genişletilebilir bir başlangıç ​​uygulaması inşa etti.

Eğer bir platform olarak JVM istiyorsanız, siz de tam bir yığın Grails gibi çözümler, ya da Bahar Roo gibi hızla yığını oluşturmak yardımcı araçlar bakmak isteyebilirsiniz.

Neredeyse tüm Ben eski bir veritabanı şeması ile entegrasyonu sağlayacak gördüm tam bir yığın çözümleri. Sürece veritabanı iyi tasarlanmış olduğu gibi, sizin tabloları eşleştirmek gerekir. Kompozit tuşlarının söz beni biraz korkutuyor, ama sebat teknolojiye bağlı olarak bu ya da bir sorun olabilir veya olmayabilir. Grails (hazırda inşa) in GORM yaptığı gibi Java Hibernate / NET, kompozit tuşları haritalama destekler. Hemen hemen tüm durumlarda bu dönüşümler cesareti, ama sebat çerçeveler inşa insanlar her zaman toprak kavrulma ve tamamen modelini yeniden olamaz biliyorum.