Bu PHP API veya JavaScript kullanarak bir web sayfasında son tweets göstermek için daha iyi mi?

8 Cevap php

Ben özel CSS ile Tweets stil yeteneğini sürdürmek ve aynı zamanda iyi bir sayfa yükleme hızını korurken bir web sayfasında bir kullanıcının son Tweets göstermek istiyorum.

Ben 2 şekilde son Tweets görüntülemek için başardı.

  1. PHP Twitter library (Aaron Brazell tarafından) kullanma. Bu yöntemi kullanarak, benim PHP kod benim sayfa tamamlanmış ve müşteriye gönderilmeden önce Twitter dan yanıt beklemek zorunda. Bu sayfa yükleme süresi oldukça beklenmedik ve büyük olasılıkla kullanıcıların can sıkıcı olacak kadar sayfa yükleme yavaşlatmak daha fazla olması neden olabilir.

  2. Blogger Twitter Widget kullanarak, son Tweets sayfanın geri kalanı yüklendikten sonra JavaScript kullanılarak yüklenir. Bu şekilde kullanıcının bu sayfayı görüntülemek için önce Twitter yanıt için beklemek zorunda değilsiniz.

Özel CSS stil sağlamak ve iyi bir sayfa yükleme performansını sağlayacak içine baktığımda başka bir çözüm belki de varsa ben de başka yanlısı ve con bir kullanıcının son Tweets görüntülemek için bu farklı yöntemler kullanarak olup olmadığını bilmek istiyorum, ve?

Ayrıca, nasıl bu 2 yöntem Twitter oran sınırlayıcı geçerli yolu etkiler? Ben Tweets önbelleğe ve bu nedenle bu bildiğim kadarıyla mümkün değil JavaScript kullanırken, Twitter az arama yapabilirsiniz PHP kullanarak?

8 Cevap

Her iki yönden de özel CSS stil olabilir, bu nedenle bu bir problem olmamalı

  1. PHP API kullanarak, ihtiyacınız cache tüm bilgi çalışın ve örneğin koydu. Database (ve sorgu twitter her 5-10 dakika, ya da cron üzerinden çalışma güncelleme komut -. Geçen kontrol beri belirli bir zaman olarak gerçekleştirebilirsiniz twitter sorguları üzerinde bir sınırı vardır)

  2. tweets güncellemek için Javascript kullanarak size disable web spiders endeksi sayfanızda bu tweets (aynı zamanda engelli insanlar genellikle JS sağlamıştır bilmiyorum ...)

EDIT

Ayrıca önbelleğe uygulamak için daha fazla PHP kodlama gerekir ki, dikkat, ama bu çok güzel bir kodlama deneyimi (diğer taraftan twitter güncellemeleri gibi şeyler almak için bir JavaScript komut dosyası uygulamak kolaydır)

Twitter API Rate Limiting

Twitter.api okumak gibi: Twitter sınırları 150 requests/hour (IP tabanlı kurallarını kullanarak veya kimliği doğrulanmış API kullanımı için istekleri sayma) için isteklerini de REST

Twitter dinlenme API aracılığıyla zaman çizgilerini, beslemeleri getiriliyor gibi GET istekleri do count

Durumları güncellenmesi gibi POST istekleri do not count

Eğer belirtilen süre içinde yapabileceğiniz kaç istek kontrol edebilirsiniz nerede http://twitter.com/account/rate_limit_status.format at Account rate limit status kullanılabilir

  1. Pro: kullanıcıların ayarlardan Kesinlikle bağımsız. Con: Ne dedin - Twitter yavaş ise, sitenizin yavaş + sunucudan istekleri ekstra bir sürü -> artan sunucu yük vb

  2. Pro: sunucu için daha az iş - yükleme hızı sunucunuzun hızına sadece bağlıdır. Con: Herkes JavaScript ve hatta daha sonra haşhaş Twitter şeyler çirkin bir gecikme olabilir değil.

Ben şahsen, seçeneği # 1 için gitmek istiyorum.

Sweetcron kullanmayı deneyin. Eğer bir cron işi yapabilirsiniz. Bu Twitter beslemeleri almak ve veritabanına içine koyacağız. böylece twitter refrence sizin pageLoad etkilemez.

Daha fazla bilgi: http://code.google.com/p/sweetcron/

Benim görüşüm - istemci tarafında in yapın.

  1. Neden bu size CPU zamanı israf? Istemci bu halletsin.
  2. Google index o olacak, ve kullanıcı attığında o farklı bir şey göreceksiniz.

Ben bir daha esnek ve kararlı bir yaklaşım için gitmek istiyorum:

Arka (örneğin her 5 dakika) tekrarlayarak yeni tweets için kontrol edin ve veritabanında saklayabilirsiniz. Yani kendi sunucusunda tüm tweets var. Bu da twitter aşağı olduğunda yaş için yükleme sitenizden engeller. JS devre dışı ;) olduğunda da çalışıyor cabası

Burada con gecikme olduğunu, ancak uyku süresini azaltmak olabilir, ama aslında ben 5 dakika kadar kısa daha fazla olduğunu düşünüyorum.

Ziyaretçi JS sağladı ve bunu biraz daha canlı hissediyor istediğinizde, bazı AJAX kullanarak tweet güncelleme olabilir.

Gerçekten daha önce de belirttiğim oldu ne bir şey eklemek değil.

PHP gitmek için en iyi yol olacağını, ancak düzenli aralıklarla sonuçlarını önbelleğe emin yapabilirim. Sadece PHP dahili XML / DOM ağacı ayrıştırıcıların ne gerek formatında çıktı, ve bu tarz istediğiniz, ancak herhangi bir ile Twitter profilinizin RSS beslemesi ayrıştırmak.

Tweets görüntülemek için JavaScript yöntemi kullanmanın dezavantajı yukarıda değindiğimiz gibi, bu arama motorları tarafından taranan olmayacak ve JavaScript devre dışı (doğal) olan ziyaretçiler için çalışmaz, olduğunu.

Her ikisi de, PHP kullanarak tweet listesini oluşturmak daha sonra basit bir jQuery eklentisi (veya benzer bir şey) var bunu güncel tutmak için istemci tarafında çalışan.

  • JavaScript olmadan müşteri için çalışır
  • Sunucu tarafında önbelleğe alma uygulamak için izin verir
  • (Iyi olabilir?) Google irade indeksi

Sitemde, benim çözüm normal sayfayı yükleyin ve daha sonra veri hala gelmek olduğunu göstermek için bazı Şeritler eklemektir. Daha sonra heyecan verileri yükler ve güzel bir şekilde çıktılar AJAX ile erişilen bir PHP komut dosyası var - Ben trafik son derece düşük bir hacme sahip çünkü önbelleğe hayata değil, ama ileride olabilir. Ben de Javascript olmadan olan bu sıradışı insanlar için bir iFrame ile bir <noscript> etiketi var!

Bana kullanıcı çok hızlı bir sayfasını görmek izin verir, çünkü ben bu yöntemi tercih, ancak onlar hala daha tweets görebilirsiniz.