Sakin Adam

Web Yazılım Günlüğü

JavaScript Nedir?

JavaScript kullanıcı/tarayıcı taraflı çalışan bir script dilidir. İlk kez bugün kullandığımız bir çok tarayıcının temelini oluşturan Netscape tarafından kullanıma sunuldu. Uzun bir süre; kendisinden beklenildiği gibi, Microsoft Jcsript ile tek eline almak için uğraş verse de bunu başaramadı. Bugün kullanıcı tarafında basitten karmaşığa bir çok işlem için kullanmatadır ve Web Uygulumaları geliştiren herkesin kullandığı büyük bir nimettir. Sliderlardan tutun, basit ve gelişmiş bir çok efektin kullanmasına imkan vermesinin yanında, Json yardımıya sunucu taraflı yapılan listeleme gibi işlemleri kullanıcı tarafına tarafına taşıyarak sunucu kaynaklarından tasaruf etmemize de imkan sağlar.

JavaScript iki şekilde kodlanabilir. Birincisi html kodlarının arasına direkt olarak kodlarımız aşağıdaki gibi yazabiliriz.

<script language="javascript">
//kodlar
</script>

Bir diğer yol ise harici bir JavaScript dosyasına kodlarımızı yazarak sayfamıza çağırabiliriz.

<script src="harici.js"></script>

Bir çok otorite; JavaScript dosyasının dışarıdan çağırılmasının daha doğru olduğunu savunmakta. Bunun iki nedeni bulunmakta. Birincisi; farklı sayfalarda kullanacağınız js fonksiyonlarını tekrar tekrar yazmak zorunda kalmayıp tek bir yerde toplamak ve bütünlüğü sağlamak. İkinci nedeni ise dosya büyüklüğünü azaltarak seo açısından sayfa yüklenme hızını arttırmak. Harici olarak çağırdığınız js dosyaları tarayıcı önbelleğinde saklanır ve tekrar çağırılmalarda önbellekten kullanılır. İki farklı kullınımın işlevsellik olarak arasında pek fark yoktur. Ancak js içerisinde php‘den veri yazacaksanız dahili olarak yazabilirsiniz.

Kısaca anlatmak gerekirse JavaScript hayatımızı kurtaran bir script dili ve yapabileceklerimiz hayal gücümüzle sınırlı. Ajax, Jquery gibi kütüphaneler JavaScript Üzerine inşa edilmiş, birer JavaScript Kütüphaneleridir.

Web Programlama Nedir

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.