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:
- Ön-işleme:, modülleri başlatılırken GpC'lere verilerin işlenmesi, uygulanması varsayılan [XML] şablonları
- İş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)
- İşleme: bazı ek iş mantığı, örneğin , biçimlendirme bazı aşağı kesim dönüşüm için hazırlanıyor, raporlama, istatistik, vb
- 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?