PHP ve ASP.NET kullanarak web uygulamaları geliştirmede yoğun bir şekilde çalıştım, ancak müşteriler tarafından sürekli olarak sorduğum sorulardan biri bir php web sitesi veya asp ile ilerleyip ilerlemeyeceğiniz. net web sitesi.
Doğal olarak akla ilk gelen şey şu soruyu cevaplamaktır:
PHP açık kaynaklı ve ASP.NET Microsoft'tan.
Genellikle böyle bir şeyden sonra müşterinin yüzünde boş bir görünüm olduğu söylenir. Görünüşe göre birinin açık kaynak olması ve diğerinin olmaması onları gerçekten de saflaştırmıyor. İyi bir nedenden dolayı, çünkü ilk duyduğumda, bana çok fazla şey anlatmıyor.
Web siteleri geliştirmek söz konusu olduğunda her ikisinin de farklılıkları olduğunu biliyorum.
Benim sorum ASP.NET ve PHP kadarıyla)
Uygun geliştirme platformunda bilinçli bir seçim yapılabilmesi için müşteriyle karşılaştırılabilecek bir olgu listesi hazırlamaya çalışıyorum.
Özellikler, Güvenlik ve Genişletilebilirlik aşağı yukarı aynı olacaktır. PHP ile neler yapılabilir ASP.NET ile yapılabilir.
Çerçeveler - Yine, çerçevelerin özellikleri söz konusu olduğunda, aşağı yukarı aynı olacaktır. Ancak, dilin kendisinden daha spesifik olmak, şunları göz önünde bulundurmak isteyeceksiniz:
Ortalama Geliştirme Süresi - Çok küçük bir proje için ortalama geliştirme süreniz PHP ile daha iyi olabilir web host bulmak çok kolay ve dev makineleri kurmak çok kolay. Bununla birlikte, daha iyi bir şey olduğu sürece, iyi geliştiricilere sahip olduğunuz sürece veya her ikisi için zaten kurulmuşsa, muhtemelen bir yıkama olacaktır.
Yapmanız gereken ana husus müşterinizin hangi teknoloji yığınının ilerlemeye bağlı olmasını istediği. İkisi de diğeriyle iyi (kolay) karışmaz. Birine ya da diğerine aşina olan geliştiricileri olabilir.
Müşteriniz Microsoft'a bağlanma fikrinden hoşlanıyorsa, ASP.NET. ile gidin Bazı istemciler MS ile gelecekteki destek, yükseltmeler vb. Konusunda daha fazla rahatlığa sahip olacaktır.
Açık kaynak ve Linux sunucuları fikrini seviyorlarsa PHP ile devam edin. Bu, web sunucularının aktarılabilirliği, ücretsiz yazılım vb.
Ve son olarak, umursamıyorlarsa, o zaman en rahat olduğunuz şeyle gidin. Bunun ötesinde fazla bir şey yok.
Sadece cevaplarımı dayandığım bir arka plan vermek için PHP 6+ yıldır profesyonel olarak geliştirme yaptım, yaklaşık 3 yıldır ASP.NET MVC ile oynuyordum 4 aydır ve PHP programlama) kadar uzun bir süredir C # programlaması yapıyorum.
Benim için bu bir PHP vs C # argümanından bir PHP vs ASP.NET bir).
Özellik/Extendability
Bence ASP.NET burada kazanıyor ve bu daha çok C # gibi bir dil kullanma yeteneği nedeniyle. C # PHP = OO desteği ile gelen) çok daha iyi bir dildir. Ayrıca statik olarak yazılmış bir dili tercih eden bir kişiyim (C # 4.0 ile bile düşünülmüştü) Dinamik olarak yazılan değişkenler yapabileceğinize inanıyorum.) PHP dil özelliği kadar C # vardı tek şey isteğe bağlı parametreler oldu ama bu C # 4.0 eklenen başka bir şey (henüz denemedim gibi ne kadar iyi emin değilim).
Güvenlik
Muhtemelen bu ikisi arasında bir yıkama olduğunu söyleyebilirim. Her ikisinin de güvenliğe yardımcı olacak işlevselliğe sahip olduğunu düşünüyorum, ancak sonuçta uygulamalarının güvenli olduğundan emin olmak programcının işi.
çerçeveler
Eh PHP ASP.NET'ten çok daha fazla ana çerçeveye (CakePHP, Codeigniter, Symfony, Zend Framework) ve daha birçok başka küçük çerçeveye sahip gibi görünüyor. Microsoft, WebForms (tam bir saçmalık parçası) ve ASP.NET MVC'den (ASP.NET geliştirmeye girmeye başlamamın nedeni) 2 ana çerçeve. PHP daha fazla çerçeve içeriyorsa, ASP.NET MVC 3 çerçevesi PHP çerçevelerinden herhangi birinden daha iyidir.
Ortalama Geliştirme Süresi
Daha küçük projeler için geliştirme süresinin PHP) çok daha iyi olduğunu düşünüyorum, ancak projenizin boyutu büyüdükçe, C # bu konuda daha iyi ölçekleniyor.
Maliyet
Ortaya çıkarılması gerekenlerin bir kısmı maliyet. PHP bu cephede kazanır. ASP.NET'i Linux'ta Mono üzerinde çalıştırabilirsiniz, ancak kendi sorunları vardır.
Küçük ve orta ölçekli bir proje yapıyorsanız ve/veya maliyet bir faktör ise, PHP kazanır. Büyük ölçekli bir proje yapıyorsanız, ASP.NET w/C # & ASP'yi tercih ederim .NET MVC.
PHP vs ASP.NET farklı çözümleri hedefleyen elma ve portakal karşılaştırmak gibidir.
PHP, küçük ölçekli başlangıç çözümleri için daha uygun bir çerçevedir. PHP çalışacak veya Linux, çok fazla gereksinimi olmayan pencereler. Microsoft ASP.NET hayal edebileceğiniz her şeye ve daha fazlasına sahip bir endüstriyel güç çerçevesi. ASP.NET çok zengin özelliklere sahip bir ortam Birçoğu ASP.NET'in pahalı olduğunu, birkaç yıl önce olduğu, ancak artık olmadığı iddia edecek.İlk önce araçlar ücretsiz (hızlı sürümler), veritabanı seçenekleri ücretsiz (SQL Compact veya SQL Server 2005) Hosting satın almak artık çok ucuz, bu yüzden soru hangisi daha iyi değil ama çözümünüze uygun.Kişisel olarak ASP.NET'i tercih ediyorum, ancak esnekliğin ve ölçeklenebilirliğin çok önemli olduğu kurumsal bir ortamda çalıştığım için böylece çözümler çerçeveyi belirler.
En önemli şeylerden biri hangi dilde en iyisisiniz? Karardaki son faktör bu olmalıdır.
Hedefiniz bir müşteriyi ikna ediyorsanız, asp.net daha iyi bir seçenektir. Büyük şirket adının bir dili desteklemesi, müşterinin rahat etmesini sağlar. Bu durumda en iyi seçenekler (Microsoft) ASP.NET ve (Oracle) Java JSP'dir.
EDIT: Zengin özelliklere sahip - ASP.NET, bir web sitesi WebForms ve MVC yaklaşımı oluşturmak için iki alternatif sunar. .NET çerçevesinden ayrı olduğu için çok güçlü özelliklere sahip olmanız gerekir. WF (iş akışı), DLR (dinamik Dil Çalışma Zamanı), Paralel Bağlantı, Linq, yönlendirme, çeşitli veri durumu yönetimi biçimleri: HTTPContext öğeleri, ViewState, Çalışma Zamanı Önbelleği, sayfa çıktı önbelleği, üç farklı tür oturum uygulaması InProc, State ve SQL Server ASP.NET, örneğin Üyelik Sağlayıcısı ve Rol Sağlayıcısı gibi çeşitli güvenlik biçimlerini uygular PHP'yi torbalamak istemiyorum, ancak ASP.NET farklı bir ligde.
Her ikisiyle de kapsamlı bir şekilde çalıştıktan sonra, sorunun ve müşteriye bağlı olarak cevapların farklı olacağını zaten biliyorsunuz. Çok genel anlamda:
Müşterileriniz için bir olgu listesi hazırlıyorsanız, bildiklerinizi temel alın. Bulgularınız ne kadar önyargılı olursa olsun, araştırmanız mermi puanlarınızı almak için iyidir.
.net kontrolleri bir PhP platformu ile bulabileceğinizden çok daha güzel. Örneğin, Infragistics'e bakın, bir LAMP için eşdeğer nedir?