Sıfırdan bir web sitesi için ne teknolojisi (asp, php, joomla, raylar, grails ...)?

10 Cevap php

Ben aşağıdaki gereksinimleri karşılaması gerekir, yeni bir web sitesi başladım:

  1. Performance and Scalability: Ben birkaç dakika boyunca eşzamanlı bağlantı sayısı yüksek olan bazı yüksek trafik hedefliyorum. (Flash veya video gibi) ağır içerikleri ilk sürümünde mevcut olacak
  2. Mobile Site: İlk sürümü Internet ve mobil kullanıcılar için aynı zamanda (özellikle iPhone kullanıcıları) açılacak
  3. Fast developing: Bir beta sürümü birkaç ay içinde devreye alınacak.
  4. Multiple DB accesses and reports: Veritabanı Yazma ve okuma modunda çok sık erişilen
  5. Social networking features: profiller, forumlar, anketler, yorumlar, gruplar, IM ...
  6. Multi-languages site: İngilizce, Fransızca, İspanyolca ...

Tabii ki, ben düşük inşaat ve bakım maliyetleri, katı mimari, basit ve kullanıcı dostu tasarımı ve SEO gibi diğer standart gereklerini takip etmek istiyorum.

Programlama dillerinde Benim arka plan C, C + +, Java ve Perl. Ancak, hızlı bir şekilde öğrenebilirsiniz VE ben bir veya iki web geliştiricileri işe planlıyoruz.

Yani şimdi benim soru: Bana ne teknoloji, platform ve çerçeve önerirsiniz?

  • ASP.NET ve MVC? (Bu gelişme ve üretim için ne kadar pahalı benim için en mantıklı çözüm gibi görünüyor ama?)
  • PHP ve bazı çerçeve (CakePHP. ..)? (En popüler ama ben PHP dili sevmiyorum ..)
  • Open Source CMS: Drupal veya Joomla? (Build ama en hızlı, ölçeklenebilir mi?)
  • Python ve Django? (Google çok sık hata değildir)
  • Rails? (Twitter seçim).
  • Grails? (Ben bunu seviyorum ... ama bu yeni tekno için çok riskli değil mi?)

Cevaplar için çok teşekkür ederim.

Saygılar.

EDIT 03-Eylül-2009

Tereddütlerin ve denemeden kaç gün sonra, sonunda benim fikrimi yaptık. Ben IDE olarak raylarını ve NetBeans için gidersiniz. (DB için, henüz benim seçim yapmak değildi)

RAILS: topluluk kavramlar net (MVC, RESTFult tarzı, sözleşmeler ...) ve Ruby dili öğrenmek için basit olan, büyük ve çok hevesli. Performans ağırlıklı olarak .. benim mimarisine bağlıdır ve ben Twitter :-) olarak aynı performans sorunları alacak dua

PHP: Bilginize, ben PHP ile başladı ve var Kohana framework, ama ben sadece bu (kirli) PHP dili ve onun etrafında çerçeve milyarlarca ile uğraşmak değil.

ASP.NET de öngörülen, ancak ASP MVC framework gençlik artı daha yüksek bir maliyet benim seçim sayılır var dezavantajı vardı

Java: Bu Ruby veya Groovy'de kıyasla düşük JAVA çoklu çerçeveler Spring, Hibernate VE geliştirme verimlilik arasındaki yapılandırma çok gerekli olurdu.

Grails: benim birincil seçim olmasına rağmen çok riskli idi. Grails genç ve kaynakları / dökümanlar hala inşa edilecek.

Python & Django: Ben yapmadım ona bir şans verin. Neden? Nedeni yok.

Yine, cevaplar için teşekkürler.

10 Cevap

Java

IMHO Java gerçekten enterprisey bir web uygulamasının excel. Web sitenizin enterprisey özelliği ihtiyacınız yoksa, Java sizin için kilolu olabilir. Bunun yanı sıra, Java ile bir web sitesi oluşturmak için en azından, aksi takdirde sadece Servlet + JSP ile inşa acı olacak bir web çerçeve gerekir. Çevik bir web çerçeve için, Grails iyi bir aday olduğunu. Java ile bir web sitesi oluşturmak olmadığını düşünmeniz gereken başka bir şey daha, insan kaynağına yatırım (Java programcısı olarak daha pahalı olma eğilimindedir) ve (oldukça büyük bir bellek gerekir gibi) altyapı gerekir olduğunu. Eğer sadece appserver bir savaş dosya dağıtmak gibi Java hakkında iyi bir şey dağıtımıdır.

(+) Dağıtım

(-) Maliyet

PHP

PHP iyi web siteleri geliştirmek için bir kolay ve yalındır programlama dili olarak bilinir olmuştur. Herhangi bir çerçeve olmadan bir web sitesi oluşturabilirsiniz. Orada bu konuda iyi bir şey, var geçinmek gibi, size en uygun deseni tanımlamak ve oradan bir çerçeve inşa olabilir. PHP ile ilgili bir diğer iyi şey yalnızca sunucunuza PHP dosyalarını yüklemek gibi kolay, dağıtım olmasıdır. PHP dezavantajı hala Java daha yavaş ve Raylar biraz daha yavaş olduğu gibi performans saymak olduğunu.

(+) Dağıtım

(-) Performans

Ruby on Rails

(Ben uzakta Rails3 içinde opiniated olmaktan daha fazla hareket ediyor düşünüyorum rağmen) Raylar gerçekten çevik opiniated web çerçevesi. Raylar hakkında iyi bir şey web sitenizin CRUD bir yeri vardır eğer gerçekten üretken alabiliriz. Bu Raylar webapp dağıtımını kolaylaştırmak barındıran bazı zaten olsa Raylar hakkında olumsuz, biraz zor olabilir dağıtımıdır. Ve performansıyla ilgili, Rayları Java kıyasla hala daha yavaş, ancak daha hızlı PHP daha. Ayrıca HAVA Rayları JRuby daha hızlı olabilir hangi kullanarak Java appserver üzerinde konuşlanmış olması eğer başka bir şeydir.

(+) Verimlilik

(-) Dağıtım


Yani orada, gidin seçim almak. Eğer paranızı nereye koymak istiyorsun? Sizin öncelikli ve endişe nedir?

Eğer aşina bir şey kullanın. Dönemi. Bu deney eğer, yeni bir teknoloji (ya da sizin için yeni bir teknoloji) kullanmak için gayet iyi, ama işi almak gerektiğinde, tanıdık sopa ile. Yeni bir proje üzerinde çalışırken, özellikle zaman bize çok az, deneme için ödenen ediliyor.

Belirli bir dili gibi değilse de, herkes kullanıyor gibi görünüyor olsa da, kullanmak yok! Dil tadı oldukça öznel ve şansını daha dili sevmemek başlayacağız vardır. ("Neden özelliği X içermez, buna ihtiyacım var!" "Neden bu kadar karmaşık?" "Gee, bu çirkin görünüyor!")

Ayrıca, çok fazla yeniden icat değil deneyin: Ne istediğinizi% 95 yapmak bileşenleri bulmaya çalışın. Onlar açık kaynak iseniz, hatta son 5% kendiniz alabilirsiniz. ASP.NET MVC (IMO) serin, ama nispeten yeni olan, konuşmak için birkaç yeniden bileşenleri vardır.

Bu düşünceyle, seçenekleri daraltmak için çalışın, ve sonra onlara derinliklerine bakmak.

Bu büyük ölçüde kişisel tercih aşağı gelir.

Eğer liste tüm seçenekler ben bunu yardımcı olabilir eğer yepyeni bir dilde bir projeyi çalıştırmayı deneyin olmaz içeri herhangi bir deneyimi yok ki, dil, ya da dillerde yazılmış.

Perl bir arka plan göz önüne alındığında, ben Catalyst önermek istiyorum, ama yanlış dilin adını almak beri, ben senin Perl arka plan çok güçlü değildir hayal ediyorum.

Java daha iyi ise, o zaman Spring bir seçenek olabilir. Ben onunla herhangi bir deneyimi yok, ama ben olumlu şeyler duydum.

So far, I read very useful answers and thanks for your help. The common answer is "Choose what you are familiar with"...Well, for my own situation, it does not really apply well because:

  1. I am familiar with C++ and Java mainly and it seems that C++ is not used for Web Development and concerning Java, there is not a lot of Java-based web sites out there. Do you know some ???
  2. I will hire 1 or 2 developers and I consider myself as a fast-learning person in programming area. So the "familiarity" aspect has less impact

Lütfen farklı cevaplar derleme, bu gibi görünüyor:

  1. ASP.NET : good option according to you but few told me that it is expensive. How much expensive? Operational costs (like web hosting) are much higher than other technologies (like PHP, Java or Rails that can run on Apache...) ? Do you know the price differences ?
  2. CMS (Joomla, Drupal): Bu konuda hiçbir kelime. Çok yavaş? Büyük siteler için yeterince esnek değil mi?
  3. Rails: Bir destekçisi. Hiçbir performans sorunu. Dağıtmak kolay. Çözüm olabilir
  4. Grails: Hiçbir kelime. Ben gerçekten seviyorum ama (ben ek risk almak gerekmez) çok riskli olduğunu düşünüyorum. Haklı mıyım?
  5. PHP: topluluk büyük ve manifoldu çerçeveler. Ruben "if you don't like a certain language, even though everyone seems to be using it, don't use it!" dedi gibi bariz bir seçim olmalıdır ama. Ve ben PHP bir hayranı değilim.
  6. Java: Yukarıda bakın

Ben seçenekleri daraltmak eğer Yani, ASP.NET (ama maliyeti ne? Ile), PHP (çerçeveler?), Raylar ve Java (ama bu çözüm seçmiştir?) Benim geçerli aday gibi görünüyor.

Bu son derece öznel.

Eğer belirlenen tüm özellikleri en çerçevelerde bu gün ele alınmaktadır:

  • ölçeklenebilirlik (bir ölçüde)
  • i18n
  • Birden DBs
  • dinamik uygulamalar
  • Birden istemcileri (vb browers, iPhone, ..)

Tüm bu belirttiğim tüm çerçevelerde ele alınır.

Bu, bu çerçeveler ile olan kişisel tercih ve deneyim aşağı gelip gidiyor - hangisi ile en rahat gelişen hissediyorsunuz?

, Büyük şirketler bunu çok popüler kullanmak çünkü ben ... şimdi ben PHP veya ASP.NET ile çalışmayı tercih edeceğiz büyük bir web sitesine çalışmak ilk olurdu, bu belgelerin bir yeri vardır ve çok popüler web siteleri PHP ile yazılmış. C # ile ASP.NET Bu da belgelerin bir yeri vardır ve JAVA benzer bir dizimde vardır ... çok iyi bir seçenektir. Ben şahsen çünkü onunla benim kötü deneyim JAVA kullanmaz. Bu sıfırdan MVC ile bir "iyi pişmiş" web sitesi yapmak daha zordur ve ben JAVA çerçeveler kullanılan değil. Ben denemedim diğer diller. Diğer insanlar gibi söyleyebiliriz: "Eğer daha fazla deneyime sahip bir dil kullanmak web sitenizin yapısını tasarlama iyi becerileri varsa ..."

Geliştirme zamanı hızlı ve 2'nin kısıtlı kaynak var beri, Rails ile gitmek için tercih ediyorum.

Birçok kişi twitter Ölçeklenebilir olmadığını söylüyorlar, ben bir soru sormak istiyorum, herhangi bir kimse her gün gerçek zamanlı trafik vardır bir web sitesi, her dakika, saniye twitter gibi her işaret edebilir.

Raylar wiki vb sosyal ağ, blog, gibi Web 2.0 uygulamaları için mükemmel bir platform olduğunu ve hatta sizin semantik web yani Web 3.0 için raylar gidiyor eğer Aktif RDF gibi özelliklere sahiptir.

Onun tamamen benim kişisel görüşüm. Onun için bir çerçeve seçmek için karar, esneklik ve çıkarlarını Atlast.

İyi şanslar!

Ben senin Java bir arka plan olmasına rağmen, olası cevaplar listenizi herhangi bir Java tabanlı çerçeveler katmadığını ilgimi çekti.

FWIW, bazı öneriler:

  • Ben burada diğer katılımcıların birlikte olduğum, kesinlikle bildiğiniz bir dil ile başlar. Eğer seçimler sınırlamak istemiyorum demek olsa bile, gerçekten başka türlü belaya gibi görünüyor.
  • Herhangi zengin web sitesi bu gün istemci üzerinde önemli bir JavaScript yönü var olacaktır. Ben onlar 'olup olmadığını görmek için onlara bakmak, işler geliyor JavaScript birkaç sunucu tarafı vardır içeri geliştirmek için iki farklı dil olmasını önlemek için bu yüzden, hem de sunucu üzerinde JavaScript kullanabilirsiniz bir ortamda gidiyor öneririm ll sizin ihtiyaçlarınıza uygun.
  • Eğer sonsuza kadar sunucu kaynaklarının oran yukarıda ödemeye hazır değilseniz, yalnızca Windows çözüm kaçının.

Bu gün, Java dahili Rhino şeklinde JavaScript sahiptir. Java da artırabilen bunun için mevcut teknoloji bir huge tabana sahiptir, ve (şimdi) açık kaynak. Zaten bazı aşinalık var alındığında, bu gitmek için bir yol olabilir. Caucho onların JSP / servlet uygulaması Reçine (caucho.com / reçine) ile bazı ilginç yedekli ve yük dengeleme şeyler yapıyor. Reçine hakkında bir oldukça serin şey serin bir PHP bileşeni varsa Java (ve dolayısıyla JavaScript) ek olarak, size (örneğin forum yazılımı,) dahil etmek istediğiniz nedir, Reçine aynı kap içinde çalışan bir PHP uygulama vardır.

İyi şanslar!

Ben yerelleştirme seviyorum çünkü ben C # için gitmek istiyorum. Eh, ben de C # seviyorum. Ama ben katılıyorum; senin içeri yetkin ne olursa olsun

Sosyal ağ tarafında sizin için Drupal kullanarak bakmak isteyebilirsiniz. PHP ile yazılmış ve bu hızlı gibi ihtiyaç duyduğunuz özellikleri eklemek için izin verir: profiller, forumlar, anketler, yorumlar, gruplar, IM; sizin ihtiyaçlarınıza uygun bir modül yoksa ya da çok kolayca kendi dönebilirsiniz.