ASP mi PHP mi?

1
1.172 görüntülenme

KodlamaPhp’nin Avantajları ve Dezavantajları

PHP programlama dilinin avantajlarını şu şekilde sıralayabiliriz.

1- Çok hızlı çalışan bir dildir.
2- Öğrenilmesi kolay bir dildir. Kod yazımı Perl, C, JavaScript vb. gibi yaygın kullanılan programlama dillerine benzer. Böylece bu dillerden herhangi birini bilen bir kişi kolayca PHP kodu yazabilir.
3- Rahat ve hızlı kodlanabilir. Ayrıca derlenmesine gerek yoktur. HTML kodları arasına kolayca yerleştirilebilir.

4- İnternette büyük bir geliştirici topluluğuna sahiptir ve PHP ile yazılmış birçok kod veya program, ücretsiz olarak internet üzerinden elde edilebilir.
5- Web sunucusu olarak, Apache web sunucusu kullanıldığında yüksek performans gösterir. Bunun yanında IIS, PWS gibi diğer web sunucularıyla da çalışabilmektedir.
6- Veri tabanı olarak MSSQL, MySql, Oracle vb. veritabanlarına bağlanabilir. Kayıt ekleme, kayıt silme, kayıt güncelleme, sorgulama vb. işlemler kolay ve güvenli bir şekilde yapılabilir. Özellikle PHP ile MySql veri tabanı birlikte yüksek performansla çalıştığı için günümüzde ayrılmaz bir ikili oluşturmuşlardır.
7- PHP Windows, Unix, Linux gibi birçok farklı işletim sistemleri üzerinde
çalıştırılabilir. Böylece Ev Sahibi İşletim Sistemi seçiminde birden fazla alternatif bulunmaktadır.

PHP nin avantajları yanı sıra dezavantajları da bulunmaktadır.

1- Hatalarla baş etmek; PHP’ de yapılan basit bir hata, kolayca bir çok sayfada soruna neden olabilir.
2- Detaylı programlama zorluğu; PHP bir script dili olduğu için, detaylı ve büyük bir programdan cevap alma süresi uzayabilir.
3- Güncellemek istenildiğinde web sunucu ile eş zamanlı olarak birlikte derlenmesi gerekir.

ASP.NET’in Avantajları ve Dezavantajları

Avantajları Nelerdir ?

ASP+, daha önce kullanılan Web geliştirme (ASP, JSP gibi) modellerine göre aşağıda listelenen birçok önemli avantajı sağlamaktadır:

1- Geliştirilmiş Performans

ASP+ sayfaları, sunucu üzerinde çalıştırılan NGWS çalıştırıcısı kodlarıdır. Yorumlama temeline göre çalışan daha öncekilerle (ASP gibi) karşılaştırıldığında, erken bağdaştırma (early binding), tam zamanında derleme (just-in-time compilation) ve doğal iyileme (native optimization) ve tamponlama hizmetleri (caching services) gibi avantajlar sağlamaktadır. Yukarıda anılan bu özellikler, geliştiriciler için daha kod yazmaya başlamadan önce sağlanan çarpıcı performans iyileştirmeleridir.

2- Üstün Nitelikli Araç Desteği

ASP+ çatısı, geliştirme ortamıyla bütünleştirilmiş olan Visual Studio ile sunulan zengin bir araç takımı ve tasarımcısı ile tamamlanmıştır. WYSIWYG düzenleme (editing), sürükle-bırak tarzı sunucu denetimleri (server controls) ve otomatik dağıtım (deployment) bu güçlü araçların sağlamış olduğu özelliklerin yalnızca birkaç tanesinden bazılarıdır.

3- Güç ve Esneklik

ASP+, NGWS çalıştırıcısı üzerine temellendirildiğinden, bu platformun tüm esneklik ve gücü Web uygulama geliştiricisi tarafından kullanılabilir durumdadır. NGWS çalıştırıcısının Temel Sınıf Kütüphaneleri (Base Class libraries), iletim (messaging) ve veri erişim (data access) çözümleri, benzeri olmayan bir biçimde Web”ten erişilebilir durumdadır. ASP+, ayrıca dile bağımlı değildir, şöyle ki, geliştiriciler uygulamalarında en uygun olan dili seçerek kodlama yapabilir. Hatta, uygulamaların değişik bölümleri değişik dillerde yazılarak karma programlama avantajlarından yararlanmak söz konusudur. Dahası, ASP+”a geçiş söz konusu olduğunda, hali hazır kullanılmakta olan COM tabanlı uygulamalara yapılan yatırımlar NGWS çalıştırıcısının karşılıklı işleyebilirlik (interoperability) desteğiyle ile garanti altına alınmaktadır.

4- Basitlik

ASP+, basit form bilgileri gönderiminden, kimlik doğrulama, kullanıcı tanıma, uygulama dağıtımı ve site yapılandırmaya kadar tüm genel görevleri yapmayı son derece basitleştirmektedir. Örneğin, ASP+ Sayfa Anaçatısı, uygulama mantığı, olay eldesi ve sunum (veya görünteleme) kodlarının tıpkı VB-benzeri form işleme modelinde olduğu gibi net şekilde ayrılmasını sağlayarak daha kolay okunabilir ve yönetilebilir kullanıcı arayüzleri oluşturulmasını mümkün kılmaktadır. NGWS çalıştırıcısı ayrıca otomatik referans sayımı ve çöp toplama gibi yönetilebilen kod servisleri ile de geliştirme işlemini basitleştirmektedir.

5- Yönetilebilirlik

ASP+, metin-tabanlı ve hiyerarşik bir yapılandırma sistemi kullanır. Böylelikle sunucu ortamı ve Web uygulamasına özel ayarların yapılması son derece basitleştirilmiştir. Çünkü, yapılandırma bilgisi düz metin olarak depolanır, yeni ayarlar yerel yönetim araçlarını kullanmaksızın basit bir metin işlemci aracılığıyla yapılabilir. “Sıfır Yerel Yönetim” filozofisi ASP+ uygulamalarının dağıtımını oldukça basitleştirir. Bir ASP+ uygulaması, çok basit bir biçimde gerekli dosyaların sunucuya kopyalanması şeklinde dağıtılır. Sunucuyu yeniden başlatma veya derlenmiş kodun değiştirilmesi gibi işlemlere gerek yoktur.

6- Ölçeklenebilirlik ve Elde Edilebilirlik

ASP+, ölçeklenebilirlik düşünülerek tasarlanmıştır. Bu nedenle, kümelenmiş ve çok-işlemcili ortamlarda performansı iyileştirmek üzere özel olarak tasarlanmış nitelikere sahiptir. Dahası, işlemler ASP+, çalıştırıcı (runtime) tarafından yakından izlenir ve yönetilir. Böylece yanlış davranan bir işlem (leaks, deadlock) varsa onun yerine uygulamanın istemleri devamlı şekilde yanıtlamasına yardım eden yeni bir işlem başlatılır.

7- İsteğe Bağlı Biçimlendirme ve Uzatılabilirlik

ASP+, geliştiricilerin uygun gördüğü yerlerde kodlarına takı (“plug-in”) yapmalarına izin veren iyi-faktörlü bir mimari sunmaktadır. Gerçekten de, ASP+ çalıştırıcısının herhangi bir alt bileşenini kendi yazdığınız herhangi bir bileşenle zenginleştirebilir veya değiştirebilirsiniz. İsteğe bağlı doğrulama veya durum (state) servislerinin uygulanması hiçbir zaman olmadığından daha kolay hale getirilmiştir

8- Programlama Dilinde Bağımsızlık

Asp.net programlama dillerimden bağımsızdır. Asp.net web yazılımları geliştirebilmek için 20 programlama dili ve fazlasını kullanabiliriz,örneğin, VB.net, C#, JScript.net, C++ with Managed Extensions, COBOL.net, Perl.net.

9- Derlenmiş Kod

Bildiğimiz gibi asp scripting dilleriyle çalışıyor. Fakat asp.net derlenmiş kod ve güçlü tipli dillerle çalışıyor, yani gerçek programlama dilleriyle. asp.net bu nedenle gerçek veri tiplerini kullanıyor örneğin integers ve strings.
Asp.net de kullanılan programlama dilleri daha iyi olağanüstü durum işleme gücüne sahiptirler. asp.net içerisinde try … catch … finally deyimleri ile olağanüstü durum işleme imkanına sahibiz

10- Sürükle & Bırak ve Olay Bazlı Programlama

Eğer Visual Basic kullandıysanız, bilirsiniz ki VB’nin en güzel taraflarından birisi sürükle ve bırak objeleri sistemi ve olay bazlı programlama yani click, doubleclick, textchange gibi. asp.net bu özellikleri WEb Formlarıyla aynı şekilde kullanabilirisiniz. VB de nasıl program geliştiriyorsanız, asp.net Web Formları da yani fonksiyonelliği sağlıyor.asp.net içerisinde gerçekten çok iyi dizayn edilmiş ve çok sayıda HTML kontrolleri vardır. Hemen hemen bir asp.net sayfasında bulunan bütün HTML kontrolleri Visual Basic, C#, C++ kodları ile kontrol edilebilir. asp.net buna ek olarak yeni nesneye dayalı programlamayı destekleyen, girdi kontrolleri, programlanabilir listbox lari, yeni doğrulama kontrolleri (validation controls). Asp.net içerisinde örneğin DataGrid, DataList kontrolleri olup bu kontroller web yazılım geliştiricisinin hayatini çok kolaylaştırmaktadır

11- Mobile Programlama Desteği

Asp.net ile sadece web yazılımları değil ayrıca mobil telefonları ve PDA’lar (Palm, PocketPC’s, RIM devices, etc) içinde yazılım geliştirebilirsiniz.asp.net de mobil aletleri için WML (Wireless Markup Language) veya HTML 3.2 (Hyper Text Markup Language) veya cHTML (Compact Hyper Text Markup Language) of I-mode aletlerini destek sağlar. asp.net mobil aletin kullandığı protokolü otomatik olarak belirler ve ona göre sonucu geri döndürür.

12- Bağlantısız Veri Erişimi

Asp ve ADO nun en önemli sorunlarından birisi ADO her zaman veritabanına canlı bağlantıyı tutar. Buda asp sayfalarının çalıştırılmasını önemli ölçüde yavaşlatır. ADO.net bağlantısız veri erişimini sağlayan sistemi bizim kullanımımıza sunar.

13- Session state

Asp session değişkenleri desteği çok sınırlıdır ve birden fazla web server dan oluşan sistemde session değişkenlerini hiç desteklemez.asp.net de ise olay tamamen değişiyor, birçok session depolama metodunu destekler örneğin In-Process (asp ile ayni), out-of-process (session durumu başka bir bilgisayardaki Windows Servis ile sağlanır) ve SQL Server’da. Out-of-process ve SQL Server seçenekleri web farm desteği sağlar.

14- Güvenlik Desteği

Asp sadece IIS authentication metodlarını desteklerken asp.net daha geniş güvenlik sistemini destekliyor örneğin IIS/Windows doğrulama sistemlerinden Basic doğrulama, Digest doğrulama, Integrated Windows doğrulama, Form bazlı doğrulama ve Microsoft Passport doğrulama. asp.net içerisinde yeni olarak Windows kullanıcı doğrulama (windows authentication) sistemine ek olarak form bazlı kullanıcı doğrulama (forms-based user authentication) sistemi geliştirilmiştir. bu yeni sistemde çerez yönetimi (cookie management) ve otomatik olarak doğrulanmayan kullanıcıların başka bir web sayfasına gönderilmesi (automatic redirecting of unauthorized logins) gibi güzel özellikler eklenmiştir. İzlemek, Debug, ve Bellekleme Desteği (Tracing, debugging and caching support)asp sisteminde kodu izlemek ve BUG lari bulmak bir derttir. Fakat asp.net içerisinde bu sistem çok daha geliştirilmiş, adım adım debug olayı ve diğer trace ve debug metodlarini desteklemektedir. asp.net bunlara ek olarak mükemmel bellekleme (caching API) sağlamaktadır. Verileri bellekleme sistem output caching, data caching, dependent caching ve fragment caching metodlarını destekler.

15- XML Bazlı Konfigürasyon

Asp içerisinde ise konfigürasyon bilgileri çok değişik yerlerde saklanıyordu. Örneğin, IIS bilgileri IIS ****base (registry) de saklanmaktadır. Eğer COM/ COM+ bileşenlerini kullanıyorsanız, COM ve COM+ bileşenlerinin bütün bilgileri registry ve COM+ Catalog da saklanır. asp.net konfigürasyonu metin dosyaları ile yapılır. Bu metin dosyaları XML dosyalarıdır. asp.net de XML ayrı bir önem kazanmıştır. asp.net de çalışan programı kesmeden bu konfigürasyon dosyaları değiştirilebilir. asp.net bunu arka planda, kullanıcıdan saklayarak halleder. Yeni bir web isteği geldiğinde asp.net worker process (çalışan işlemci) yeni konfigürasyonla isleme devam eder.

16- XCopy Kurulum

COM bileşenlerinden farklı olarak .net bileşenleri Windows registry’e kayıt edilmesine gerek yoktur. Yapmamız gereken tek şey bileşeni derlemek,asp.net yazılımının bulunduğu klasörde BIN isimli bir klasöre ekledikten sonra bu derlediğimiz bileşeni kopyalamaktır. Gördüğünüz gibi artık registry ile uğraşmak yok. Bu gerçekten Microsoft’un uzun zamandır yapması gereken bir değişiklik idi.

17- Hosting Seçenekleri

Asp bir ISAPI programı olup IIS e bağlıdır.Buna karsın, asp.net ise .net framework üzerinde çalışır, böylece asp.net sayfaları bu nedenle IIS dışındaki web serverları tarafından da sunulabilecektir.

18- Daha hızlı web uygulamaları

ASP.NET derlenmiş kod ve saklanma işlemi ile hız kazanıyor. Daha önceki ASP sürümlerinde bir kullanıcı web sitesine girdiği zaman bilgisayar üzerinde anlık derlemeler yapılırdı ve bu hız kaybına neden olurdu. Artık ASP.NET ile hazırlanmış bir kod, bir ziyaretçi tarafından hiçbir zaman ziyaret edilmese bile derleniyor. Saklama işlemiyle de hafızaya bilgi depolanıp, bu sayede kullanıcılara verilerin daha hızlı yollanması sağlanabiliyor.
ASP.NET ile programcılar sayfalarını her kullanımda yeniden aratmak yerine bir kısmını “caching” yani tamponlama işlemi sayesinde daha hızlı erişilebilir hale getirebiliyorlar. Bir diğer değişiklik ise ASP .NET ile veri tabanındaki belirli verilerin saklanabilir hale getirilebilmesi. Bu sayede çok değişmeyen bir veritabanını her seferinde tekrar yüklenmek yerine, hızlı erişilebilir forma sokulmuş oluyor.

19- Güçlü veritabanı fonksiyonları

ASP gibi ASP.NET de programcıların veri tabanlarıyla etkileşimli çalışabilen web uygulamaları yapabilmesine izin veriyor. ASP.NET”in asıl avantajlı bir çok programlama aracına imkan veren Nesne Merkezli (Object Oriented) programlama ile çalışması. Bu sayede daha fonksiyonel ve daha hızlı tasarıma imkan sağlıyor.

20- Hafıza sızıntısı ve çökme koruması

ASP.NET teki en çok beğenilen yeniliklerin başında hafıza sızıntısı ve çökme koruması özellikleri geliyor. Özellikle hafıza sızıntısı, çoğu kullanıcı tarafından pek bilinen bir konu değilken, sistem yöneticilerini sıkıntıya sokan durumlardan biridir. ASP.NET ile bu hatalar otomatik olarak düzeltilerek, kullanıcıların her zaman web sitesine ulaşabilmesi sağlanıyor.

21- Çoklu dil desteği

Programcılar artık 25″ten fazla .NET dili ile ASP.NET”i kullanabiliyorlar. Bu dillerden bazıları VB.NET, C# ve Jscript NET. Geniş dil desteği sayesinde birçok programcı web uygulamalarını kolayca hizmete sunabiliyor.

22- .NET”in parçası olmak

.NET çatısı 3400″den fazla sınıftan oluşan bir yapıya sahip, ASP.NET de .NET”in bir parçası olduğu için neredeyse web uygulaması olarak yapılamayacak hiçbir şey yokmuş gibi gözüküyor.
23) Programlar ve HTML artık aynı sayfada değil

Önceki sürüm ASP”lerde göze çarpan sorunlardan biri HTML sayfasında programlamanın da görünmesiydi. Diğer bir deyişle, scriptler ve HTML aynı sayfadaydı. Artık gösterilen kod ile script kodu ayrılmış olduğundan, Microsoft bunun önüne geçmek için bir önlem almış gibi görünüyor.

Dezavantajları

1- Windows zorunluluğu

ASP.NET halen Windows işletim sistemi kullanan bir sunucu üzerinde yapılandırılmak zorunda; kısacası platform bağımsız değil. ASP”de de olan bu sorunu çözmek için Linux sistemlerinde çalışan birkaç ASP hosting sunucusu geliştirildiyse de, işin açıkçası pek başarılı olabilmiş değil. ASP.NET de hali hazırda Windows ve IIS (Internet Information Server)”a mahkumu görünüyor.

2- Güvenlik

Güvenlik açıkları ASP.NET”ten değil ne yazık ki IIS”ten kaynaklanıyor. Her yeni sürümde açıkları kapansa da IIS dünya çapında güvenlik açıklarıyla ünlü. Fakat .NET ile bununda bir dezavantaj olmaktan çıkması bekleniyor

3- Bedava değil

Evet, buna bir çok kişi şaşıracak ama temelde ASP.NET bedava değil. Ne de olsa kendi bilgisayarınızda ASP.NET kullanabilmek için (lisanslı) bir Windows sürümüne ihtiyacınız var. Bu da demek ki tam anlamıyla bedava değil.

4- Eklenti krizi

ASP.NET kaynak olarak bedava gibi görünebilir ama programlama konusunda bilgili değilseniz hazırlıklı olmanız gereken bir durum var, o da eklentiler. Bir işlemi yapmak için gereken eklentiler genelde ücretli olarak satılıyor. Tabii saatlerce uğraştan sonra bedava olan birkaç eklentiyi zor da olsa bulabilirsiniz.

5- Hosting maliyeti

Eğer dışarıdan hosting hizmeti alacaksanız biraz daha fazla para ödemeye hazırlıklı olmanız gerekiyor. Çünkü genel olarak Windows hosting daha pahalı, ki bu da normal olması gereken bir fark.

1 YORUM

  1. ASP ve PHP için şu iyidir yada bu kötüdür demekten çok, yapılacak projeniz için ASP uygun yada PHP uygundur demek daha doğru olacaktır. Her ikiside yapılacak projelerimize göre öne çıkan özelliklere sahip.
    Bize düşense bu yazınızdan da faydalanarak projemiz için hangi yazılımın uygun olacağına karar vermek.

CEVAP VER

Lütfen mesajınızı giriniz.
Lütfen isminizi giriniz

Güvenlik Kodu * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.