Smarty Vs.

3 Cevap php

I have a doubt: - Is there any standard/convention that when should I use "Smarty templating" and when should I use Javascript Ajax calls to produce the content? I can use Ajax/Javascript calls to produce the content dynamically.

Benim uygulama Ajax ve Smarty hem de kullanır, ama geliştiriciler için bir kural ayarlamak istediğiniz

3 Cevap

Sen gerekir only use AJAX calls to load dynamic data that is not known at the moment the page is loaded. Yığın taşması verilen bir soru / cevap "yorumlar" linkine tıkladığınızda, örneğin, bir AJAX çağrısı dinamik veri yüklemek için yapılır. Bu yorum bağlantısını değil, sayfa yükleme sonucu tıklayarak kullanıcı bir sonucudur. Eğer sayfa yüklendiğinde anda bu yorumları göstermek gerektiğini bilmiyorum, bu yüzden bu durumda bir AJAX arama yapmak için uygundur.

Sen gerekir use templating to show any data that is known at the moment the page is loaded. Bu daha kolay JavaScript devre dışı insanlar (ben çok bilmiyorum) ile anlaşma yapar ve sunum mantığının net bir ayrılmasını sağlar. Çiftleşmiş kullanmanın bir diğer önemli yararı önemli ölçüde müşterinin tarayıcısından yapılan HTTP istekleri sayısını azaltabilirsiniz olduğu gerçektir.

Bu gecikme, bant genişliği, sizin en büyük engel değil mobil tarama dünyada özellikle önemlidir. Mobil Safari'de, örneğin, a single HTTP request to a Smarty-templated page will load significantly faster than a request to load a Javascript-templated page, beş ya da altı ek HTTP istekleri yapar. EDGE, 3G, ve diğer non-wifi mobil veri hizmetlerini kullanırken bu özellikle doğrudur. Aslında, bu da Yahoo'nun Best Practices for Speeding Up Your Website ilk kılavuzdur o kadar önemlidir.

İdeal olarak, gereken zamanda gracefully degrade functionality when Javascript is disabled. Iyi bir örneği otomatik tamamlama arama kutusu olduğunu. Bu Yazarken arama terimleri sihirli görünür önerdi gerçekten serin, ama Javascript kapatmak, hala işlevsel bir arama kutusu var. Bu hizmeti iyi bir bozulma klasik bir örnek. Yığın taşması genellikle katı olmayan bir Javascript deneyimi sağlayarak büyük bir iş yok. Kısa düşüyor bir yerde yorumlarda olduğunu. Javascript, özürlü sadece en popüler açıklamalar görüntülenir ve yeni yazabilmek olduğunda devre dışı bırakılır.

Kesinlikle gerekli olmadıkça, you should think of Javascript as a bonus feature that might not be enabled, not as something that should be used to construct critical pieces of your website. Istisnalar (bazı şeyler sadece Javascript olmadan yapılamaz) açıkça vardır. Javascript kapalı ile taşması çok kullanışlı olduğunu, örneğin, fark edeceksiniz. Siz Yeni yanıt gönderildiğinde gerçek zamanlı güncellemeleri, ya da fantezi gerçek zamanlı önizleme Markdown almazsınız, ancak temel işlevi hala var. Bütün "ağır kaldırma" HTML ve CSS ile yapılır. Javascript sadece kek üzerine (kuşkusuz çok iyi buzlanma) krema. Bu bir yan not tür, ancak bu söz kadar önemli.

Muhtemelen sizin şablonları yapıyorsun işin ne tür bağlıdır. Şahsen, ben kesinlikle JavaScript ağır tarzı / düzeni bir sürü şey yapıyor nefret ediyorum. Eğer üzerinden düzeni toplu yükleyebilirsiniz eğer. Sadece Smarty ve belirli veri bitlerini değiştirmek (sadece data, değil biçimlendirme / tarzı, eğer mümkünse) bu kendi geliştirici ekip içinde standartlaştırılması için başlamak için iyi bir yer olabilir.

(Yenilenmeye kullanarak değil) orijinal sayfa yük sonra her şey için sunucu tarafı nesil ve DHTML / AJAX için şablonlar kullanın. O zaman bile, AJAX arama kendisi sunucu yanıt önemsiz olmayan herhangi bir içerik için en iyi iş olabilir ki, bir şablon ile monte edilebilir.