ASP ile PHP farklarına bu yazımızda birlikte inceleyelim.
Asp.NET hızlı web sitesi geliştirilmesinin gerekli olduğu, kullanıcı sayısının çok fazla olmadığı projelerde rahatlıkla (hazır kontroller ile birlikte) kullanılabilir. Böylece kısa zamanda birçok işe yarayan web siteleri yapılabilir. Bugün e-ticaret, Cms (Content Management Sistem) ve blog sistemlerde bile kullanılmaktadır. Çok daha büyük projeler için geliştirilen Asp.NET MVC teknolojisi (MVC=Model View Controller, bir design pattern’dir ve Asp.NET için de adapte edilmiştir) kullanılmaktadır.
PHP, bugün birçok blog ve Cms (Content Management Sistem, Örnek Joomla) sistemlerinde kullanılmaktadır. Küçük ya da büyük ölçekli tüm projelerde rahatlıkla kullanımaktadır. Ancak HTML kodları arasına yazım çok büyük projelerde yönetilebilirliği azalttığından ve birden fazla programcının çalışması gereken projelerde farklı teknolojilere başvurulabilmektedir (PHP MVC).
Asp.NET geliştirme ortamı için şu an herhangi bir ücret gerekmemektedir. Visual Studio 2013 Community, Visual Studio 2015 Community versiyonları ücretsizdir. Bunlarla rahatlıkla geliştirme yapılabilir. Ayrıca Asp.NET ile tam uyumlu çalışan veritabanı sunucusu olan Microsoft SQL Server Express versiyonu da ücretsiz olarak kullanılabilir. Ancak çok büyük projeler için tercih edilen Microsoft SQL Server’in ücretli versiyonlarının lisans ücretleri oldukça yüksektir (Microsoft SQL Server Standart, Enterprise gibi).
PHP; open source (açık kaynak kod) bir dildir. PHP ile ilgili birçok şeye ücretsiz ulaşabilirsiniz. Geliştirme ortamı olarak birçok text editör (Notepad++ gibi) ücretsiz olarak kullanılabilir. Ancak büyük projeler için tercih edilen Adobe Dreamveawer gibi programlar ücrete tabidir. Tam uyumlu veritabanı sistemi olan MySQL tamamen ücretsizdir. Ancak çok büyük projeler için kullanılan Oracle gibi ileri düzey veritabanı sistemleri ücretlidir.
Çalışma süreleri farkları
Her ikisi de sunucu tarafında çalıştığından, browser tabanlı dillere göre (Html, css, javascript gibi) çok yavaşlar. Ancak birçok karşılaştırma testlerinde Asp.NET’in çalışma hızının PHP’den daha az olduğu görülmekte . Bunda Asp.NET kodlarının ilk çalışmada derlenmesi ve sonra tekrar tekrar kullanılması mantığı etkili bir faktör. Nitekim PHP de her kullanımda sunucu tarafında derlenir ve çalıştırılır. Oysaki Asp.NET’de bir sefer derlenen kodlar artık her sefer için kullanıma hazırdır. Bunlara rağmen büyük çaplı projelerde kullanılan Asp.NET hazır kontrolleri performans açısından kayıplara neden olabilmekte. Ayrıca Viewstate (asp.net’te kullanılan kontrollerin bilgilerinin tutulduğu, html kodlarına adapte olmuş şifreli kodlar) kullanımı da (projenin boyutu arttıkça) performans kayıplarına neden olabilmektedir. PHP’de ise bir kararlılık söz konusu. Usta ve deneyimli eller ile yazılmış PHP kodları büyük projelerde bile performansa büyük ölçekli olumsuz etkisi bulunmamakta.
Yazım farklılıkları
Asp.NET Web Forms projeleri geliştirilirken 2 bölüm yer almakta. HTML, css, javascript gibi tarayıcı taraflı kodlarımızın bulunduğu ve ziyaretçilerin gördüğü kodların bulunduğu Web sayfası bölümü ve C# gibi kodlarımızın kullandığı, her asp.net sayfası için var olan kod bölümü yer almaktadır. Web sayfası bölümüne yerleştirdiğiniz her bir kontrolün ismi ile kod bölümünden bu kontrole erişebilirsiniz. Böylece 2 ayrı sayfa ile çalışarak kod kalabalığından bir nebze kurtulmuş olursunuz. Ayrıca bu kontrollerin olaylarına(events) Properties(özellikler) penceresinden erişip hızlıca kod tarafında olaylar yazabilirsiniz. PHP tarafında ise bu işlerin tamamı HTML kodları arasında yazılır. <?php ve ?> tag’leri (etiketleri) PHP için yeterlidir ve bir HTML kodlarının herhangi bir yerinde yazmak yeterlidir.
Uyumluluk ve üzerinde çalışma ortamları farkları
Son gelişmelerle birlikte her ikisi de hem Windows ortamlarda hem de Linux ortamlarda çalışmaktadır. Veritabanı sistemleri olarak her ikisi de Mssql, Mysql, Oracle gibi veritabanı sistemleri ile çalışmaktadır.
Geliştirildikleri ortam farkları
Geliştirme ortamının (Visual Studio) sağladığı birçok kolaylık ile projenizi daha az sorunlu ve zahmetsiz geliştirebilirsiniz. Visual Studio’nun sağladığı birçok kolaylık ile kod yazarken bile birşeyler öğrenebilir ve hızlıca projenizi kodlayabilirsiniz. Kısayolların kullanımı ile projenizi daha okunaklı yapabilir, kod renklendirmeleri ile daha anlaşılır kodlar yazabilirsiniz. Visual studio’da bulunan extensions aracı ile projenize birçok ücretsiz paket ekleyip rahatlıkla kullanabilirsiniz. Ayrıca birçok geliştiricinin ortak çalışmasını destekleyen Team Foundation ile projeler geliştirebilirsiniz.
PHP’de ücretli bir editör kullanıyorsanız (Dreamveawer gibi) işler çok daha kolaylaşmaktadır. Kod renklendirmeleri(ücretsiz editörlerin çoğu da desteklemektedir), kod tahmini (kodun bir bölümünü yazarken kod seçeneklerini getirme) gibi seçenekler ile programcıya yardım eden özellikler PHP tarafında da vardır. Bu sayede bilmediğiniz kodları bile öğrenebilirsiniz.