Web geliştirme için en esnek çerçeve mimarisi?

5 Cevap php

Açıkçası, herkesin ihtiyaçlarını tatmin edecek hiç kimse tek bir çözüm vardır; bir mimari her zaman bir trade-off. Ben aslında web oyunların RAD amaçlayan bir çerçeve oluşturmak istiyorum. Mimari yaygın olarak uygulanabilir olmalıdır rağmen Hedef dili, PHP.

Ben bu çerçeve için kafa var Goller: Eğer sonuç elde edebilirsiniz yollarla esneklik; geliştiriciler için maksimum konfor; LEGO gibi bir bağlantı modülleri ® bloklar; girdi birçok türü, çıkış birçok türü, işlem için bir biçimi.

Bir öncelik değildir hedefleri, hız, kurumsal kullanımı ve para kazanmak vardır. Bu bir açık kaynak projesi olması gerekiyordu.

Bu tasarımın taşı tüm içerik, dönüşüm önce, (ben çalıştım EAI sistemi, eGate dayalı fikir) XML işlenmiş olmasıdır. Veri soyutlama katmanı - umarım bazı akıllı ORM - artık önemli değil. Modern tarayıcılar, mobil istemciler, XML AJAX / Xmlrpc için, vb basit HTML HTML eski tarayıcılar için, XHTML/HTML5 - çıkışı hemen hemen her müşteri için, XSLT veya herhangi bir diğer özel modüller kullanılarak oluşturulur

XML kullanmak için ana nedeni vardır:

  • Bu bilinen bir standarttır
  • içeriği gezinme ve değiştirme için XPath, SimpleXML ve DOM gibi mevcut araçları
  • Herhangi bir etiket çorbanın içine kodu dönüştürmek için güçlü ve birleşik bir şekilde sağlayan XSLT
  • Bu yüzden ben JSON veya YAML avantajları burada bir fark olduğunu sanmıyorum, çok kolay okunabilir XML biçimlendirmesi bulmak
  • Içeriği kolayca yığılmış edilebilir ve bu içeriğin sırası gerçekten önemli değil sürece XSLT ile doğru dönüştürülmüş bulunuyor gibi yapar

Sayfası oluşturma süreci bu aşamadan oluşacaktır:

  1. Ön-işleme:, modülleri başlatılırken GpC'lere verilerin işlenmesi, uygulanması varsayılan [XML] şablonları
  2. İşleme / nesil: maksimum veri ile şişirilmiş XML üreten iş mantığının ana parçası, (her ne kadar umarım Balast üretmek için değil optimize)
  3. İşleme: bazı ek iş mantığı, örneğin , biçimlendirme bazı aşağı kesim dönüşüm için hazırlanıyor, raporlama, istatistik, vb
  4. Post-processing: dönüşüm motoru (muhtemelen sadece XSLT), çıkışı aracılığıyla XML ayrıştırma.

İçerik post-işleme sırasında soyunmuş olacaktır meta-veriler bir sürü (örneğin etiketler, izinler, önemi, gerekliliği, amaçlanmıştır çıkış tipi) ile oluşturulmuş olacak.

Yani, benim soru: hız hariç, bu çözümün düşüşünü nedir? Nerede geliştirme / çerçevesinin bakım ve uygulamaları sırasında hem de yanlış gidebiliriz? Bu mimarinin olumsuz yanları nelerdir?

5 Cevap

XSLT yönetmek için hantal olabilir, ve aslında geliştiriciler çalışmak olurdu ekstra bir programlama dili (I doğru açıklamasını anlamak en azından eğer) ekler. Benim deneyim görece az sayıda insan bunu biliyorum olmuştur, ve hatta az onlar istediklerini yapmak yapabilirsiniz.

Ben "esnek çerçeve" ya sana ne önermek için emin değilim. Her tür size rahat ve kişisel zevkinize konum ne bağlıdır.

Bildiğim tek şey, o ilk başta görünebilir nasıl çekici, uzak XSLT'den kalmaktır olmasıdır. Merhaba Dünya türü şeyler ve XSLT ile basit örnekler yaptığını ileri oldukça düzdür. Ancak, daha karmaşık projeleri tamamen yönetilemez (saymıyorum okunmaz) XSLT ile olur. Benim deneyim proje üzerinde büyük bir yük koyar olmasıdır.

Ben size son derece karmaşık bir çözüm arıyoruz düşünüyorum. Bu sadece tasarım ve şema en kullandığınız olacağını dışarı oluşturmak için önemli bir çabadır. Senin fazla 5-6 kişiyi içeren bir proje üzerinde toplam Eğer muhtemelen organize bir şema tasarım çaba olması gerekir. Ben bu farkında olan bir nokta olduğunu düşünüyorum.

Ben soru ve muhtemelen ön ucunda PHP seçimi meselesini ele alalım. Ben de yanlışlıkla bir büyük anlamda XML karar olduğunu düşünüyorum.

İşte ben ne olduğunu:

  1. Grails.org kullanarak bir hizmet katmanı oluşturmak
  2. Kalanında RESTFUL olabilir her kaynak tutmak
  3. Inşa edilmesi gereken herhangi bir soap hizmetlerini oluşturmak için Grails X-yangın eklentisi kullanın
  4. Geliştirme süresini azaltmak için Grails GORM ve RAD işlevsellik yararlanın.
  5. Bu hizmetleri tüketmek X veya Y, dil veya platformunda müşterilerine Construct.

Ben kesinlikle benim XML çeviri / işleme tüm yapıyor saf Java hızını isterim. Eğer büyük belgeleri varsa bu işlem uzun zaman alacaktır.

Sen herkesten daha iyi çevre güçleri anlıyorum, ama ben ilk ve over-mimar çalışır basit bir şey yapmak sizi uyarmak istiyorum.

Ne tarif olasılıkla kullanılarak uygulanan olabilir tox. Bu, melez bir MVC-ARS yapısını kullanır. Gördüğüm engel nedeniyle Oracle üzerindeki bağımlılık maliyeti noktası tox sunuyor olduğunu. Açık kaynak kodlu olduğu için tabii ki, siz, convert it to Postgresql.

Onlardan hiçbiri bu karmaşık ve hantal bir şey gerekli olan, dürüst olmak gerekirse, geçmişte birkaç web oyun üzerinde çalıştı ve ettik.