Bence Amerika'yi yeniden kesfetmeye gerek yok. Madem W3C'nin getirdigi standartlari test edebiliyoruz doctype belirterek; browser'lar bu standartlara uyan uygulamalar icin kolaylik saglar. Aynisini JS icin de yaparlar. Boylece Vista'nin dustugu durumdan kurtulmus oluruz. Eger bir
site guvenilirlik etiketi tasiyorsa, browser kullaniciya sormadan JS'yi aktif hale getirebilir. Sanirim bunun onundeki tek
sorun, tarayici gelistirenlerin interpreter'larini diger firmalarla paylasmayi istememesi ki anlayisla karsilamak lazim. Mozilla'nin JS'yi daha iyi ve kisa surede cozumlemesi
Firefox'u IE'nin onune gecirecegi icin kod paylasiminin soz konusu olacagini sanmiyorum. 3. parti bir yazilimla bu yapilabilir ancak. Dahasi, duzgun bir JS compiler yazilip bunun temeli atilabilir. Tabi sonrasini kovalamak lazim asil. Add-on araciligiyla tum browser'lara yayilmasi lazim. Tabi yazilan ek paketlerin tarayicinin temel koduna ne kadar hukmedebilecegine bakiyor bu da. Sonuc olarak firmalarin taviz vermesi gerek ki onlar da vermezler...
flash vs. JS: Simdiki basit uygulamalar nedeniyle kullanimi ve implementasyonu kolay oldugu icin tercih sebebi. Ama hic bir zaman compiled diller kadar ileri gidemez ki zaten ongorulen amaci bu degil. Elimin altinda hesap makinasi varsa, ben Java'da 2+2'yi hesaplayan bir kod yazmakla ugrasmam. Ayni mantikla, elimin altinda Python gibi (compile gerektirmeyen) bir dil varsa ve yapacagim islem agir bir is degilse, compiled bir dil kullanmaktansa interpreted bir dil tercih ederim. Ama is agirlasirsa gerekirse Java, hatta dogrudan C'ye bile gecmek gerekebilir. Siz de biliyosunuz ki eger islem suresi birazcik bile farketse bile daha kisa surecekse, C'ye gecmek tercih edilmeli. Durumu compiled diller acisindan degerlendirdiginiz zaman JS ayni Python gibi oldukca hantal kaliyor ve gerekli islemleri gerceklestirmesi beklenemez zaten. Cunku yapilis amaci bu degil... Ama ActionScript daima compiled kalacaktir. Add-on gerektirip gerektirmemesi Java vs. C++ tartismalarini hatirlatti bana. Trende gore herkes renk degistirir bu tartismalarda. Java'nin platform bagimsiz olmasi her zaman avantajinadir ki aynisi
flash vs. JS'de de browserlar icin gecerli.
JS'nin yerine baska dil gelir mi? Daha once baska bir konuda da belirtmistim. Sahsen JS'nin gelecegi oldugunu dusunmuyorum bile. Bundan 10 sene once kullanilan bir teknoloji, isler biraz agirlasinca yerini dogrudan
flash'a birakmisti.
ajax'in sicramasiyla tekrar hortlayan canavar, bence en fazla 2 3 sene yer yuzunde barinabilir. Yukarida da soyledigim gibi, isler agirlastigi zaman yerini baska dillere birakacaktir.
Isler nasil agirlasacak? JS'nin sadece kopru gorevi gordugu bir
ajax yazilimi dusunelim. JS sunucu ile tarayici arasindaki kopru konumunda. Ama kopru her gelip gecene yol veriyor. Yollanan ve alinan veriler fazlalastikca, trafik gereksiz yere artacaktir tabii ki. Verinin rafine edilmesi benim aklima ilk gelen
sorun ki JS ile yazilan O(n) sureli algoritmalarin uzun surecegi su goturmez bir gercek. Biraz dikkatsiz olup da O(n^2) sureli kod yazarsak basimizin ne kadar agriyacagini ben dusunmek istemiyorum. Dahasi cok guvendigimiz
PHP,
ASP bile bize yetmezken, JS'ye bel baglamak sadece gecici bir cozumdur.
Yukaridaki paragrafi yazarken aklima bircok soru geldi, simdiden paylasayim istedim. Ssunucu tarafinda bu rafine etme islemi yapilamaz mi? Dahasi bu algoritmalarin sunucu tarafinda olmasi yetmiyor mu? Yetmiyor elbet; yollanan veriyi de optimize etmek gerek.
program yeterince iyi yazilirsa yollanan
veri optimum olarak ayarlanir ve yollanirsa o zaman JS'de bu algoritmalara gerek kalmaz (mi acaba?). Yapilan isin karmasikligina bakiyor yine. Ozellikle gercek zamanli bir uygulamaysa, islerin cok ama cok karisacagina eminim ki bu isler icin
flash veya Java kullaniyor insanlar.
Acikcasi sunucu-tarayici arasi yeni protokol yazilmasi taraftariyim ben. Boylece yollanan
veri sadece "text"ten ibaret degil, objelere de kayabilir. Daha guzeli, geceleri ruyamiza giren obje bazli websiteleri artik bir ruya olmaktan cikar ki
HTML ve
CSS yeniden sekillenir. Tabi bu soylediklerim tamamen JS'nin
veri transferiyle ilgiliydi. Baska kullanimlari icin de heralde kitap yazmam gerekir.
Tabi bu soylediklerime ragmen, bu gun JS'nin gerekliligi su goturmez bir gercek. Eger oyle olmasaydi zaten kullanilmazdi. Butun mesaji ozetleyecek olursam, JS bir iki yil daha ortalikta olacaktir. Daha sonra papucu yine dama atilacak ve yerine gelistirilmesi daha kolay bir sistem gelecektir. Ama bu demek degildir ki bundan 10 sene sonra tekrar hortlamayacak... Elbet her yeni gelen teknolojiyle birlikte, hardware olarak biz ilerledikce, islem suresi kisaldikca yeniden kullanilmaya baslanacaktir.
Cok uzun oldu biliyorum, benim de kahvem bitti zaten. Epey de karisik oldu sanirim. Umarim dusunduklerimi iyi anlatabilmisimdir.
Iyi calismalar.