C Dersleri | Sunucu Tabanlı Uygulama Geliştirme

PHP Nedir?

Rasmus Lerdorf tarafından öncelikle kendi kişisel web sayfalarını yazmak için geliştirilmesi nedeniyle ‘P’ersonal ‘H’ome ‘P’ages adının kısaltması olarak karşımıza çıkan PHP, HTML gömülü (HTML-embedded) bir script dilidir. özellikle web uygulamaları geliştirenlerin dinamik ve havada (on the fly) üretilen web sayfalarını hızlı bir şekilde yazmaları için düşünülmüştür. Dilin sentaksı gelştirilirken C, Java ve en çok da Perl’den esinlenilmiştir. Bu nedenle bu dillerden her hangi birisini bilen bir kullanıcı için PHP’ye geçmek hiç de zor olmamaktadır.

Sunucu Tabanlı Uygulama Geliştirme

HyperText Transfer Protocol (HTTP)’nin ortaya çıkışı ile Internet gerçek kimliğine kavuştu. Bu sayede web sunucusu ile konuşan bir web browserinin sunucudan aldığı zengin içerikli bilgi uç kullanıcılara imaj, ses, video vs gibi zengin içerikte ve kullanıcı dostu bir ara yüzle ulaştırılabilir hale geldi.

Bu zengin içeriğin değişmeyen sayfalar olarak tutulması kullanıcılar için çok şey ifade etmediği için onlara içeriği otomatik değişebilen, havada üretilen ve hatta veri tabanı erişimi sunan siteler oluşturmak için çok çeşitli teknolojiler geliştirildi.

Webde dinamik sayfalar oluşturmanın temel olarak iki yolu vardır:

  • Sunucu tarafında çalışan (server-sided) uygulamalar kullanmak
  • İstemci tarafında çalışan (client-sided) uygulamalar kullanmak

İstemci tarafında çalışan uygulama olarak Java Appletleri veya Netscape’in JavaScript’i veya Microsoft’un VBScript’i gibi script dilleri kullanılabilir. Avantajları:

  • Sunucuyu meşgul etmemesi. Veri girişi kontrolleri (data validation), menüler, genişleyebilir listeler gibi istemci tarafında yapılabilecek işler için sunucu meşgul edilmemiş olur.
  • Bant genişliğini etkili kullanma. Yukarıdaki avantaj bant genişliğini de etkilemiş oluyor.

Sunucu tarafında çalışan (server-sided) uygulamalar kullanmak ise şu noktalarda istemci tarafı uygulamalara üstünlük sağlıyor:

  • Web tarayıcılarında scriptler için standart bulunmamaktadır. Bu nedenle bir tarayıcıda çalışan bir script diğerinde çalışmayabilir. Tarayıcıların java appletlerini yorumlamada kullandıklarıjava sınıflarının versiyonu sizin appletinizi çalıştıramayabilir. Kullanıcıdan yeni sınıfları download etmesini sağlamanız gerekebilir.
  • Sunucu tarafta çalışmasıı zorunlu bazı uygulamalar olabilir (veri tabanı erişimi, işletim sistemi komutları veya başka bazı araçlar ancak sunucu üzerinde çalıştırılabilirler).
  • Bant genişliğini kullanım açısından işlemlerin önemli bir bölümünün sunucu tarafında yapılması gerekebilir. (Bir veri tabanı sunucusuna evimden sunucuya ait bir istemci yazılımla bağlandığım taktirde pekçok ara komutun iletilmesi sözkonusu olabilir. Sunucu tabanlı uygulamam ise benden sadece sorguyu alacak ve bana da sadece sonucu gönderecektir. Bu noktada HTTP protokolünün bindireceği yük de hızı azaltabilir. Kurulacak denge önemli.)
  • Uygulamaların güncel tutulması ve bunu yaparken de istemciler üzerinde değişiklik yapılmayıp sadece sunucu üzerinde (tek bir merkezden) gereken değişikliği yapmak tercih edilebilir.

Günümüzde sunucu tarafı uygulama geliştirme yönünde genel bir eğilim bulunuyor. Uygulamaların tek bir merkezden sunumu ve hatta kullnıcılara program değil network üzerinden hizmet satma giderek daha çok önem kazanıyor.

Ancak web tarayıcılarının neredeyse bir işletim sistemi kadar şiştiği günümüzde hem istemci hem de sunucu taraflarda yukarıdaki faktörleri göz önüne alarak dengeyi koruyacak şekilde uygulamala geliştirmek gerkiyor.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

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