Web programlama kısaca; web üzerinde dinamik sayfalar oluşturmaya yarayan diller topluluğudur. Bu diller; sunucu taraflı olmak üzere başlıca, php, .net ve jsp. Tarayıcı/kullanıcı olmak üzere javascript’tir. Bir çok kişi/otorite bu dillerin programlama dilleri olarak tanımlanmasının yalnış olduğunu söylemektedir. Çünkü bu diller birer script dilleridir. Bu konuyu daha sonra başka bir yazıda derinlemesine işlemeyi planlıyorum.
Sunucu Taraflı Diller
Bu diller adı üzerinde sunucu taraflı çalışan dillerdir. Bu dillerde ağırlıklı olarak, veri tabanıyla ilişkili işlemler yapılmakta. Bu işlemler, üye kaydı, giriş gibi veri girişi ve veri çıkışı gibi işlemlerdir. Veri çıkışı denildiğinde aklınıza sadece bir web sayfası gelmesin. Bu veri çıkışı ihtiyaca göre bir excel dökümanı olabilir, bir pdf dosyası ya da bir xml dosyası olabilir. Aynı şekilde veri girişi de sadece yazı(text) olmak zorunda değil. Bir dosya, resim ya da döküman olabilir. Sunucu taraflı bir dil yardımıyla bir excel dökümanından veri okuyabilirsiniz. Bir resim üzerinde belli düzenlemeler yapabilirsiniz. Web sayfası olarak veri çıkışlarında bir çok kişinin tam olarak kavrayamadığı bir nokta vardır. Sunucu tarafında hazırlayacağınız veri, kullanıcı tarafına ulaştığında sadece html dili ile hazırlanmış bir veri olacaktır. Yani sunucuya yapılan istek sonucunda oluşturulan veri, kullanıcıya ulaştıktan sonra, sunucu tarafında bu dosyaya artık müdahele edemezsiniz. En azından o sayfa için oluşturduğunuz kodlar içerisinde. Sunucu taraflı diller, sadece istek yapıldığında yaşayan yapılardır. Ancak bazı durumlarda bize sürekli canlı olan yapılar gerekebilir. Örneğin bir üyelik formunda anlık doğrulama yaparken. İşte böyle bir durumda karşımıza javascript gibi hayat kurtaran bir dil karşımıza çıkıyor. Son olarak, sunucu taraflı dillerden hangisini tercih etmemiz gerektiğini sorabilirsiniz. Bu tamamen sizin tercihinize kalmış. Bir çok kişi hangisinin daha iyi olduğuyla ilgili uzun tartışmalar girişiyor. Ancak ben onlardan değilim. Sonuç itibariyle, bir dilde yapabildiklerinizi diğer dillerde de yapabiliyorsunuz. Ben şahsen php ile çalışıyorum. Ama dediğim gibi tercih size kalmış.
Kullanıcı Taraflı Diller
Aslında diller demek yalnız olur. Çünkü bu kısımda sadece javascript bulunuyor. Bazılarınız; ajax, jquery var diyebilirsiniz. Ancak atladığınız bir şey var. O da bunların birer javascript kütüphaneleri olduğudur. Bu kodları açarsanız, javascript kodlarından oluştuklarını görebilirsiniz. Şimdi kullanıcı taraflı demek ne anlama geliyor, avantajları nelerdir, dezavantajları nelerdir. Onları konuşalım. Öncelikle javascript kullanmak için bir sunucuya ihtiyaç duymazsınız, çünkü adı üstünde yazdığınız kodlar kullanıcı tarafında çalışır. Javascript sayfa açık kaldığı sürece yaşayan bir yapıdır. Sunucu taraflı dillerde sayfa oluşturulup; kullanıcıya iletildikten sonra bir değişiklik yapılamaz. Ancak bu dil için bu geçerli değildir. Basit bir örnek vermek gerekirse. Sunucu tarafında zaman verisini alıp ekrana bastığınızda bu veri istek zamanın verisi olur ve değişmez. Ancak kullanıcı tarafında o andaki zaman verisini sürekli güncelleyebilirsiniz. Tabi ki bu çok basit bir örnek. Javascript kütüphaneleri yardımıyla yapılabilecek şeyler hayal gücünün sınırlarını zorlamakta. Ancak bu dil ile ilgili sıkıntılı bir durum vardır. Kodlar kullanıcı taraflı çalıştığı için, saatlerce emek vererek yazdığınız kodlar, başkaları tarafından kolaylıkla çalınabilir.
Tasarım Kısmı
Bu kısımda tabiki html ve css bulunmakta. Ancak bunlara birer programlama ya da script demek pek mantıklı değil. Her ne kadar son zamanlarda css için js(javascript)-ten gören çalmaya başladı denilse de, bu kategoriye girmemekteler. İlerleyen zamanlarda bu iki dil ile de ilgili birer makale yazmayı planlıyorum.
Son Söz
Artık günümüzde bilgisayar denildiğinde aklımıza direkt olarak internet gelmekte ve internet üzerinde sayfalar ve çeşitle dökümanlar oluşturmamıza yarayan dilleri öğrenmek, bu sektörün içinde olmak isteyenler için kaçınılmaz olmuş durumda. Umarım bu işe gönül vermiş herkes, belli bir seviyede uzmanlığa ulaşır. Okuduğunuz için teşekkürler.