PHP veya Perl benim web projesi için doğru seçim mi?

6 Cevap php

Ben yüksek trafik siteleri ile için geliştirilmiş bir 1-man web projesi (bir yerde bir ziyaretçi defteri ve tam teşekküllü bir blog arasındaki LAMBASI sadece, karmaşıklık, gerçekleştirmek için "doğru" dil (ve modülleri?) Seçtiğiniz için bazı öneriler duymak için arıyorum bu gereksinimlere göre günde 50.000 + gösterimler):

  • Output cache (düşünüyorum: Wordpress Super-Cache vd), önbelleğe alınmış bir sayfa mevcut olduğunda tamamen komut dosyası dili atlayarak. Bu gerçekten önemli.

  • "Website spider" web sitelerini ziyaret edin ve HTML ayrıştırmak için modül, Javascript desteği bir avantaj olacaktır

  • Her şey için kendi sarmalayıcılar yazmadan multimedia files (mp3, jpg / gif / png, flv / wmv) nesne yönelimli taşıma

  • Imkanı encode ham script files şeye (binary?) Kolayca tahrif edilemez

MVC uyum için ben zaten Catalyst gibi çerçeveler içine arıyorum. Ne okudum benim tek yakınma kendi sunucu uygulamasını gerektirecek gibi görünüyor olmasıdır. Belki PHP benzerleri ... uygulamaları başlatmak için daha iyi bir yolu var mı?

Cevaplarken, sadece "PHP / Perl tüm bu ve daha fazlasını yapabilir" diyorum ama bu noktaların her biri için küçük bir öneri verin yok.

Şimdiden teşekkürler

6 Cevap

Çıktı cache: Her iki dilde mükemmel önbelleğe çözümler var.

Web sitesi örümcek: Perl vardır WWW::Mechanize, şimdiye kadar gördüğüm en iyi böyle bir modül.

Nesne multimedya dosyalarının işleme odaklı: Perl orada bir avantaja sahiptir. CPAN multimedya dosyalarının her türlü modülleri vardır. PHP özellikle video formatları için destek eksik görünüyor.

Kodlama: Her iki idam edilecek yorumlanabilir olmalıdır. Ben ikisini karartmak için çözümler var biliyorum, ama deobfuscation araçları da vardır. Ben sadece damla tavsiye ederim, çoğunlukla kendi hayatı daha zor hale getirir.

P.S. O development purposes için özel bir sunucu teklif yok ama Catalyst, kendi web sunucusu gerekmez. Normalde Apache veya başka FastCGI destekleyen web sunucusu kullanıyorsanız bunu dağıtmak istiyorum.

Ben paletli olarak :: WWW karşı motorize tavsiye ve yerine Gungho kullanmak istiyorsunuz.

(Sadece "10 dakika boyunca bu sayfayı önbelleğe" sürece) önbelleğe alma için olduğu gibi, uygulama bağımlı olma eğilimindedir. PHP ile çok daha kolay zaman bir MVC Perl uygulaması ile bunu uygulamaya zorunda olacak. Benim biraz-zeki Angerwhale::Cache bir göz atın. Eski bir sayfa never servis edilecek - Burada doğruluk için hız ticaret dikkat edeceğiz. Daha liberal olmak için istekli olabilir, ve eğer öyleyse, birçok istekleri dışında uygulama kesebilir. (Olarak, örneğin, statik HTML sayfaları güncellemek için her 5 dakikada bir şey çalışıyor.)

Catalyst kolayca gerektiren her şeyi yapacağız. Düzgün M ve V kullanımı ve (Catalyst toplum tarafından teşvik gibi) en az C tutarsanız size ihtiyaç ölçeklenebilirlik almak için hiçbir neden yok.

Ben "kendi sunucu uygulamasını gerektirecek gibi görünüyor" ile ne demek bilmiyorum. Catalyst uygulama dağıtımı gibi basit olabilir

CATALYST_ENGINE=HTTP:Prefork script/myapp_server.pl -p 80

ama tabii ki de diğer seçenekleri destekler.

Perl ile, PAR uygulamanızı paketlemek için kullanabilirsiniz. Bu uygulamayı basitleştirmek ve PAR::Filter modules bunu karartmak için kullanılmasını sağlar edebilirsiniz. Apache::PAR, bir çevre ile mod_perl PAR entegre etmek de bulunmaktadır.

Update: Well, as it says on the website, PAR is pure-perl (no C compilation needed), so you can install it on any server which you can write files. You can load modules from a PAR file in your normal perl scripts like so:

 use PAR;
 use lib "foo.par";             # the .par part is optional
 use Hello;                     # module from the par file.

Lütfen modülleri içinde mantık toplu koyun ve PAR dosyadan yüklemek için basit bir başlatıcısı komut dosyası kullanabilirsiniz.

Ama, büyük, karmaşık app inşa planlıyorsanız, kendinize bir iyilik yapın ve modüllerini yüklemek veya bunları sizin için kuracaktır sağlayacak ya bir ev sahibi olsun. Ayrıca, app hızlandırmak için mod_perl veya FastCGI kullanın.

GrokThis ucuz iyi planları vardır. Diğer iyi bir ev sahipliği de orada vardır.

Ben PHP kolaylıkla Leon multimedya verdiği destek Perl gibi oldukça iyi olmayabilir ama şeyler kalanı için kesinlikle iyi olmalı dediğim gibi, böyle bir proje ile başa çıkmak mümkün olacağını düşünüyorum.

Farklı önbelleğe API Bol ve PHP çerçeveler, şahsen ben ancak oldukça hantal ve bir ısmarlama çözümü daha iyi olabilir çok iyi bir çerçeve olarak CakePHP'ye tavsiye verebilecek.

Ben kullanılan PHP en iyi web sitesi örümcek Sphider.

PHP video ve ses dosyaları ama görüntüler için ImageMagick çok iyi olduğunu konusunda emin değil.

Bu şeyler için manual kontrol kodlama için php yanı malzeme bol.

MVC çerçeveler Symfony ve Cake PHP için check out. Yaygın olarak kullanılmaktadır.

Ancak 50,000 gösterim bir sürü gibi geliyor ama o kadar değil olduğunu akılda tutmak. Eğer gerçekten eşzamanlı kullanıcılar ağır trafik üreten başlamak kadar muhtemelen cacheing hakkında endişelenmenize gerek yoktur.

Her şey hemen hemen söz edilmiştir. Sunucu aşağı kilitli ise kaynak kodu HİÇ değiştirilmesi asla - kaynak belirsizliği dağıtmak gerekir neden bir perakende uygulama dağıtma sürece ben görmüyorum. Siz sadece sitenizin / yazılım için uygulama / dağıtım ve yorumlanması için daha fazla adım ekleyerek olacaktır.