<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Murat Çorlu &#187; Web Programlama</title>
	<atom:link href="http://muratcorlu.com/tr/kategori/web-programlama/feed/" rel="self" type="application/rss+xml" />
	<link>http://muratcorlu.com/tr</link>
	<description>"Gölgede duranın, gölgesi olmaz"</description>
	<lastBuildDate>Fri, 30 Apr 2010 10:53:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Internet Explorer&#8217;dan CSS Kullanımına Kota</title>
		<link>http://muratcorlu.com/tr/yazi/internet-explorerdan-css-kullanimina-kota/</link>
		<comments>http://muratcorlu.com/tr/yazi/internet-explorerdan-css-kullanimina-kota/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 00:45:54 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/tr/?p=128</guid>
		<description><![CDATA[Sahibinden.com için uğraştığımız bir web mimarisinde, sayfalarımızdaki stil tanımlamalarını geliştirme ortamımızda kullanım alanlarına göre küçük parçalara ayırıyoruz. Böylece sayfalarda bölgesel işler yapılırken geliştirme daha kolay ilerletilebiliyor ve modüler bir yapıya ulaşabiliyoruz. Bu stil dosyaları yayımlama ortamına alırken otomatik bir işlemle birleştiriliyor ve tek bir css dosyası haline getiriliyor. Geçenlerde önyüz kodlayan arkadaşlardan ilginç bir şikayet [...]]]></description>
			<content:encoded><![CDATA[<p>Sahibinden.com için uğraştığımız bir web mimarisinde, sayfalarımızdaki stil tanımlamalarını geliştirme ortamımızda kullanım alanlarına göre küçük parçalara ayırıyoruz. Böylece sayfalarda bölgesel işler yapılırken geliştirme daha kolay ilerletilebiliyor ve modüler bir yapıya ulaşabiliyoruz. Bu stil dosyaları yayımlama ortamına alırken otomatik bir işlemle birleştiriliyor ve tek bir css dosyası haline getiriliyor.<br />
<span id="more-128"></span><br />
Geçenlerde önyüz kodlayan arkadaşlardan ilginç bir şikayet geldi. Söylediklerine göre Internet Explorer&#8217;da bazı css dosyaları yüklenmiyordu. Önyüz ekibi olarak Internet Explorer&#8217;da karşılaştığımız herhangi bir problemde çok şaşırmıyoruz artık. Bilakis artık bizi şaşırtan, yazdığımız standartlara uygun doğru bir kodun herhangi bir işleme tabi tutulmadan Internet Explorer&#8217;da da çalışması oluyor. Şaşırıyoruz; çünkü bu nadiren oluyor.</p>
<p>Yalnız bu problem bizi çok uğraştırdı. Yüklenmediği ya da içinde yazılanların etkisini görmediğimiz stil dosyalarının link etiketleri HTML dokümanımızda görünüyordu, ancak o dosyanın içine ne yazarsak yazalım hiçbir şekilde etkilemiyordu. Sonra dosyanın adını değiştirerek daha ön sıralara aldığımızda dosyanın okunduğunu farkedince bu sefer şaşırdık. Neden olduğu hakkında manidar bir açıklama bulamayınca ben de yarı ciddi olarak &#8220;Internet Explorer aynı sayfada -farzı muhal- 20 taneden fazla css yüklemiyordur belki&#8221; dedim. Gülüştük ettik&#8230; Sonra biraz bakıştık ve yüklenen dosyaları saymaya başladık: 33 tane. Google&#8217;a sorduk ve sonucu görünce daha çok güldük: <a href="http://support.microsoft.com/kb/262161">http://support.microsoft.com/kb/262161</a></p>
<p>Evet, Internet Explorer&#8217;lar (sadece 6 falan değil, bütün versiyonları) aynı sayfada 30&#8242;dan fazla stil etiketi kullanmaya müsade etmiyor. 30&#8242;dan sonrakileri de kale almıyor. 30 sayısı da biraz şüpheli. Bunun <a href="http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/ad1b6e88-bbfa-4cc4-9e95-3889b82a7c1d">31 yada 32 olduğunu iddia edenler de</a> var(ki bizim duruma 32 daha uygun). </p>
<p>Microsoft ekibinin böyle bir karara nasıl vardığını, neden 20 ya da 50 falan değil de 30&#8242;da karar kılındığını ekip olarak çok merak ettik, üzerine bolca da geyik yaptık ama mantıklı bir gerekçe bulamadık.</p>
<p>Evet, bir Internet Explorer vakası daha ekibimize saatlere maloldu. Hep derim, Internet Explorer aradan çekilse Internet teknolojisi daha hızlı gelişir diye. Buna bir sağlam örnek daha gördük.</p>
<p>Nasıl çözdüğümüzü merak edenler de olabilir: Biz geliştirme ortamımızda stil dosyalarını anlık olarak birleştirip gönderen bir kod yazarak çözdük. Yayına alırken zaten tek dosya haline getirdiğimizden orada böyle bir sorun yoktu. Bu yöntemin yanında stil dosyalarını birkaç başka stil dosyasından @import yöntemiyle çağırmak gibi bir yöntem de kullanılıyormuş. Ancak bu konuda da bazı performans sıkıntıları var. Zira bir sayfada hem HTML&#8217;den hem de stil içinden css dosyaları çağrıldığında bunlar sıraya konuyor ve yüklenmeleri uzuyor. Falan filan&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/internet-explorerdan-css-kullanimina-kota/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sahibinden.com Anasayfasına Önyüz Kodlaması Dopingi</title>
		<link>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/</link>
		<comments>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 09:29:35 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Bilgisayar Tecrübeleri]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/tr/?p=107</guid>
		<description><![CDATA[2 ay kadar zamandır Sahibinden.com&#8216;da önyüz yazılımcısı olarak çalışmaktayım. Önyüz kodlaması konusunda ülkemizdeki eksiklikler sahibinden.com gibi Türkiye&#8217;nin en çok ziyaret edilen sitelerinden birinde de kendisini gösteriyordu. Bu ölçüde büyük web projelerinin önyüz kodlamasını tümden değiştirmek de oldukça büyük bir işgücü ve süre gerektirebiliyor. Bu yüzden önyüz kodlamasını aşama aşama yeniden yazmaya niyetlendik ve sunucu tarafında [...]]]></description>
			<content:encoded><![CDATA[<p>2 ay kadar zamandır <a href="http://www.sahibinden.com">Sahibinden.com</a>&#8216;da önyüz yazılımcısı olarak çalışmaktayım. Önyüz kodlaması konusunda ülkemizdeki eksiklikler sahibinden.com gibi Türkiye&#8217;nin en çok ziyaret edilen sitelerinden birinde de kendisini gösteriyordu. Bu ölçüde büyük web projelerinin önyüz kodlamasını tümden değiştirmek de oldukça büyük bir işgücü ve süre gerektirebiliyor.<span id="more-107"></span></p>
<p>Bu yüzden önyüz kodlamasını aşama aşama yeniden yazmaya niyetlendik ve sunucu tarafında nisbeten daha az işlemin yapıldığı ana sayfayı ilk çalışma alanımız olarak seçtik. Hedeflerimiz şunlardı:</p>
<ul>
<li>Görsel diğer sayfalarla farklılık yaratacak bir değişiklik yapmamak</li>
<li>Geçerli (valid) HTML üretmek</li>
<li>Bilinen bütün modern tarayıcılarda sayfanın problemsiz çalışmasını sağlamak</li>
<li>HTML kodlarında tasarım için kullanılan table etiketlerinden kurtulmak</li>
<li>HTML içindeki(inline) CSS ve Javascript tanımlamalarından kurtulmak</li>
<li>Arama motoru optimizasyonu(SEO) kriterlerine uygun HTML yazmak</li>
<li>Harici CSS ve Javascript dosyalarını birleştirip küçülterek HTTP talep sayılarını ve boyutlarını düşürmek</li>
<li>HTML&#8217;deki gereksiz yorum, tab, enter ve boşlukları temizleyerek HTML boyutunu düşürmek</li>
<li>Tasarım grafiklerinde CSS Sprite yöntemini kullanarak HTTP talep sayısını düşürmek</li>
<li>Javascript kodlarını &#8220;Event Driven&#8221; yazmak</li>
</ul>
<p>Bu amaçlarımızı uygulayabilmek için doğal olarak önyüz kodlarını tamamen sistemden ayırmak gerekti. Bu amaçla ana sayfaya özgü Javascript ve CSS kodlarını sıfırdan yazdık, HTML üretme sistemimizi yeniledik, bazı yerlerde şablon motorumuza gönderilen verilerin yapısında değişiklikler yaptık. Dinamik olarak Javascript, CSS ve HTML kodlarımızı küçülten, birleştiren uygulamalar yazdık. HTML&#8217;i sıfırdan yazdık, tablolardan arındırdık, SEO&#8217;ya uygun şekilde etiketlendirdik. Javascript kodlarını &#8220;Olay Tetikli&#8221; çalışır hale getirdik.Tasarım grafiklerimizin sayılarını olabildiğince azalttık, kalıtsallığı maksimum derecede kullanacak şekilde stil tanımlamaları yaptık.</p>
<p>Tüm bu çalışmalardan sonra geçen cuma (18 Eylül 2009) yeni ana sayfamızı yayına aldık. İçerikte herhangi bir değişiklik yapmadan sadece teknikleri değiştirerek kazandıklarımız ise şunlar oldu:</p>
<ul>
<li>Valid HTML&#8217;imiz oldu: <a href="http://validator.w3.org/check?uri=http://www.sahibinden.com">http://validator.w3.org/check?uri=http://www.sahibinden.com</a></li>
<li>HTML boyutumuz yaklaşık 80KB&#8217;dan yaklaşık 40KB&#8217;a indi.</li>
<li>CSS ve Javascript dosyalarını birleştirme ve CSS Sprite yönetmiyle tasarım grafiklerinin birleştirilmesiyle sayfadaki HTTP talep sayısı 30&#8242;lardan, 8-10&#8242;a indi.</li>
<li>Sayfanın render süresi oldukça azaldı.</li>
<li>IE6 için transparan PNG ve :hover desteği sağlandı.</li>
</ul>
<p>Web standartlarının uygulanması yaygınlaştıkça yapılan bu tür müdahalelerin değeri daha da günyüzüne çıkıyor.  Sahibinden&#8217;deki bu geliştirme büyüyerek devam edecek. Darısı diğer büyük Türk sitelerinin başına&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/sahibinden-com-anasayfasina-onyuz-kodlamasi-dopingi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer&#8217;dan kurtulmak için bir fırsat daha: Firefox 3!</title>
		<link>http://muratcorlu.com/tr/yazi/internet-explorerdan-kurtulmak-icin-bir-firsat-daha-firefox-3/</link>
		<comments>http://muratcorlu.com/tr/yazi/internet-explorerdan-kurtulmak-icin-bir-firsat-daha-firefox-3/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 10:55:40 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/?p=52</guid>
		<description><![CDATA[Bugün Firefox&#8217;un heyecanla beklenen 3. versiyonu duyruldu: http://www.mozilla-europe.org/tr/ Biz web yazılımcıları için Internet Explorer&#8217;ın varlığı ve üstüne üstlük en çok kullanılan browser olması ne büyük talihsizliktir bilemezsiniz. Özelleştirilmesi güç, performansı iğrenç, kod yorumlaması komik Internet Explorer yüzünden 2 saatlik işimiz 4 saate, 8 saate çıkar. Bazen deveye hendek atlatmaktan zordur IE&#8217;ye birşey anlatmak. IE olmasa, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full no-border" style="float: right;" title="Mozilla Firefox" src="http://muratcorlu.com/depo/icerik/firefox-wordmark-horizontal_small.png" alt="Mozilla Firefox" width="206" height="96" />Bugün  Firefox&#8217;un heyecanla beklenen 3. versiyonu duyruldu: <a href="http://www.mozilla-europe.org/tr/">http://www.mozilla-europe.org/tr/</a></p>
<p>Biz web yazılımcıları için Internet Explorer&#8217;ın varlığı ve üstüne üstlük en çok kullanılan browser olması ne büyük talihsizliktir bilemezsiniz. Özelleştirilmesi güç, performansı iğrenç, kod yorumlaması komik Internet Explorer yüzünden 2 saatlik işimiz 4 saate, 8 saate çıkar. Bazen deveye hendek atlatmaktan zordur IE&#8217;ye birşey anlatmak. IE olmasa, internet teknolojileri daha hızlı ilerlerdi diyorum, artık gerisini siz anlayın.<span id="more-52"></span></p>
<p>Son zamanlarda Firefox kullanıcı sayısı büyük bir yükselişte. İnsanlar farkında olmadan kullandıkları IE&#8217;nin daha iyi bir alternatifinin olduğunu değişik vesilelerle farketmeye başladılar. Bu konuda özellikle Firefox&#8217;un eklentiler ile özelleştirilebilir olmasının büyük payı var. Örneğin; Facebook&#8217;u Türkçe olarak gezebilmek için bir çok kişi Firefox kurdu ve eklenti ile işini gördü. Bir aralar oynadığım <a href="http://www.travian.com.tr">Travian</a> oyununu daha efektif oynayabilmek için de Firefox kullananların sayısı artmıştı. Zira Firefox ile kullanılabilecek bir eklenti sayesinde oyunda otomatik çözümler ayrıntılı hesaplamalar görülebiliyordu.</p>
<p>Bu ve bunun gibi sebeplerle adından söz ettiren Firefox, yeni sürümüyle daha da bir sağlamlıştaracak gibi yerini. Zira Firefox 2&#8242;de görünen bazı performans sorunları Firefox 3&#8242;de büyük oranda giderilmiş ve kullanım kolaylığına daha çok eğilinmiş.</p>
<p>&#8220;Neden rahatımı bozup IE&#8217;yi bırakayım ki&#8221; diyorsanız daha soruyu sorarken yanılıyorsunuz. Aslında rahat olduğunuzu sandığınız şey alışkanlığınızdan başka birşey değil. Firefox&#8217;u kısa süre kullandığınızda IE&#8217;yi bir daha açmak istemeyeceğinizi garanti ederim. IE gibi her işletim sisteminde kullanamayacağınız, hatta bir işletim sürümünün versiyonlarında bile köklü farklılıklar gösteren bir browser ile kendinize devamlı iş çıkarmaktansa, neredeyse tüm işletim sistemlerinde ve sürümlerinde kullanılabilen, istediğiniz zaman rahatça kaldırılabilen, hatta USB diske yerleştirip yanınızda bile taşıyabileceğiniz(bkz: <a href="http://portableapps.com/">Portable Applications</a>) bir browser kullanıcısı olmak size uzun vadede büyük kafa rahatlığı sağlayacaktır.</p>
<p>Tüm bunların yanında Firefox(Hatta o olmadı, <a href="http://www.opera.com">Opera</a>, <a href="http://www.apple.com/safari/">Safari</a>, bunlar da güzeldir) kullanarak biz web yazılımcı kardeşleriniz için de büyük bir hayır işlemiş olacaksınız. IE kullanılmadığında(veya pazarı kaybetmenin acısıyla Microsoft gerçekten kaliteli bir browser yaptığında) daha güzel siteleri daha hızlı şekilde üretebiliriz, siz de internette daha rahat ve eğlenerek dolaşabilirsiniz.</p>
<p>Hadi artık, hem kendinize hem internet teknolojisine bir katkıda bulunun, IE&#8217;den vazgeçin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/internet-explorerdan-kurtulmak-icin-bir-firsat-daha-firefox-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux için Adobe AIR Alpha1 duyuruldu</title>
		<link>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/</link>
		<comments>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 04:03:43 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/yazi/linux-icin-adobe-air-alpha1-duyuruldu/</guid>
		<description><![CDATA[Adobe, dikkatle takip ettiğim AIR ürününün, heyecanla beklediğim Linux versiyonunun alpha&#8217;sını bir hafta kadar önce duyurdu: http://labs.adobe.com/technologies/air/ HTML, CSS ve Javascript yazarak platform bağımsız(Win, Mac, Linux), masaüstü uygulamaları geliştirme imkanı vermesi AIR&#8217;e karşı çok sıcak bakmamı sağladı. Web&#8217;i masaüstüyle birleştirme çabalarının bir başka örneği olan AIR, ücretsiz olmasıyla da dikkat çekiyor. Yaptığımız sitelerle ilişkilendirilecek küçük [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe, dikkatle takip ettiğim <a href="http://www.adobe.com/products/air/" title="Adobe Air">AIR</a> ürününün, heyecanla beklediğim Linux versiyonunun alpha&#8217;sını bir hafta kadar önce duyurdu: <a href="http://labs.adobe.com/technologies/air/" target="_blank">http://labs.adobe.com/technologies/air/</a><br />
<span id="more-48"></span><br />
HTML, CSS ve Javascript yazarak <strong>platform bağımsız(Win, Mac, Linux),</strong> masaüstü uygulamaları geliştirme imkanı vermesi AIR&#8217;e karşı çok sıcak bakmamı sağladı. Web&#8217;i masaüstüyle birleştirme çabalarının bir başka örneği olan AIR, <strong>ücretsiz</strong> olmasıyla da dikkat çekiyor. Yaptığımız sitelerle ilişkilendirilecek küçük masaüstü araçları yapmak için bile harika bir araç bence. Örneğin yaptığınız bir sitenin yeni içeriklerini takip edebilmesi için kullanıcılarınıza bir masaüstü aracı kullandırmak isteyebilirsiniz. Veya, bir intranet uygulamanızı, masaüstü uygulaması gibi kullandırmayı isteyebilirsiniz. Benzer mantıkla, sitenizin yönetici panelini siteye koymak yerine, bu şekilde bir masaüstü aracı gibi kullandırabilirsiniz.</p>
<p>Benim için Linux versiyonu olması oldukça önemli bir özellik olduğu için(nedeni başka bir yazıya inşaallah&#8230;), bu alpha sürümü çıkana kadar üzerine tam manasıyla eğilmeyi bekletiyordum ancak görünen o ki, Adobe sözünün eri ve Linux için ciddi manada çalışmaya devam ediyor.</p>
<p>Front-end web yazılımcılarının Adobe AIR&#8217;i mutlaka denemelerini ve incelemelerini tavsiye ediyorum. Kullanan, takip eden arkadaşlar varsa, onlarla da yazışmayı, tecrübelerimizi ve fikirlerimizi paylaşmayı isterim.</p>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/linux-icin-adobe-air-alpha1-duyuruldu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dünya&#8217;nın İlk AJAX Sunucusu: Jaxer</title>
		<link>http://muratcorlu.com/tr/yazi/dunyanin-ilk-ajax-sunucusu-jaxer/</link>
		<comments>http://muratcorlu.com/tr/yazi/dunyanin-ilk-ajax-sunucusu-jaxer/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 02:35:23 +0000</pubDate>
		<dc:creator>Murat</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[jaxer]]></category>
		<category><![CDATA[serverside]]></category>

		<guid isPermaLink="false">http://muratcorlu.com/yazi/sunucu-tarafli-javascript-sunucusu-jaxer/</guid>
		<description><![CDATA[Web uygulama geliştirme dünyası müthiş bir ivmeyle büyümeye devam ediyor. Neredeyse her gün yeni bir terimle, teknolojiyle veya uygulamayla karşılaşıyoruz. Geliştirenlerden değil de takipçilerden biri olarak kalanlar için, izlenmesi zorlaşan, insanı hayretler içerisinde bırakan bir ivme bu. Bu ivmeye ulaşılmasında ve bu kadar çok uygulama geliştirme teknolojisinin ortaya çıkmasında Web 2.0 felsefesinin internette büyük kabul [...]]]></description>
			<content:encoded><![CDATA[<p>Web uygulama geliştirme dünyası müthiş bir ivmeyle büyümeye devam ediyor. Neredeyse her gün yeni bir terimle, teknolojiyle veya uygulamayla karşılaşıyoruz. Geliştirenlerden değil de takipçilerden biri olarak kalanlar için, izlenmesi zorlaşan, insanı hayretler içerisinde bırakan bir ivme bu.</p>
<p>Bu ivmeye ulaşılmasında ve bu kadar çok uygulama geliştirme teknolojisinin ortaya çıkmasında Web 2.0 felsefesinin internette büyük kabul görmesini payının büyük olduğunu düşünüyorum. Bütün web sitelerinin birbirleriyle entegre çalışıp, milyonlarca ziyaretçinin el birliğiyle oluşturdukları sitelerin var olduğu internet ortamında, tüm bu entegrasyonun daha kolay, daha performanslı ve daha esnek bir şekilde sağlanabilmesi için bir çok fikir ortaya atılıyor. Tüm bu ihtiyaçlarda, tartışmasız yeri en sağlam olan dil olan Javascript&#8217;in, istemci-browser taraflı dil yapısından alınıp, her alanda kullanılmaya başlanması da bu sürecin bir parçası gibi. Ve işte bu sürecin önemli adımlarından biri daha meydana geldi ve Dünya&#8217;nın ilk AJAX sunucusu <a href="http://aptana.com/jaxer">Jaxer</a>, web uygulaması geliştiricilerinin ilgisine sunuldu.<br />
<span id="more-43"></span><br />
Güçlü ve işlevsel AJAX IDE&#8217;si <a href="http://aptana.com/studio">Aptana Studio</a>&#8216;nun üreticileri, muhtemelen bu başarılı IDE&#8217;yi yaparken JavaScript&#8217;i ve AJAX teknolojisini hatmettikleri için, adı çok söylenmesine rağmen bir türlü kimsenin üretmediği &#8220;sunucu taraflı Javascript&#8221; teknolojisini üretmek amacıyla kolları sıvadılar ve Jaxer&#8217;ı ürettiler.</p>
<p>Jaxer ücretsiz ve açık kaynak kodlu bir AJAX sunucusu. Bir <a href="http://apacher.org">Apache</a> modülü olarak çalışıyor. Web geliştiricilerine client tarafında yazdığı dille sunucu taraflı işlemler de yapma imkanı vermeye çalışan Jaxer geliştiricileri, bu amaçla, sunucu taraflı, client taraflı ve &#8220;hem sunucu, hem client taraflı&#8221; Javascript kodları yazma imkanı vermişler. Bu demek oluyor ki, HTML ve Javascript biliyorsanız Jaxer uyumlu dinamik web uygulamaları geliştirebilirsiniz demektir.</p>
<p>Jaxer&#8217;ın sağlayacağı en önemli imkanlardan biri, AJAX uygulamaları yazarken sunucu taraflı kodlarımızla (örn. PHP, Java, Ruby), istemci taraflı kodlarımız(Javascript) arasında veri alışverişi yaparken gerçekleştirmek zorunda olduğumuz bir dizi işlemden (XMLHTTP nesnesi oluşturmak, veriyi göndermek, sonucu beklemek, sonucu işlemek vs.) bizi kurtarıyor olması. Jaxer uygulamalarında aradaki bu prosedürel işlemlerin hepsini Jaxer kendisi hallediyor. Bu işlemlerin tamamını Jaxer&#8217;ın sunucu ve istemci taraflı frameworkleri otomatik olarak yapıyor.</p>
<p>Jaxer&#8217;ın adım adım nasıl çalıştığını şu şekilde özetleyebiliriz:</p>
<ol>
<li>Talep edilen HTML dokümanı sunucudan istemciye gönderilmek üzere web sunucusu tarafından (Apache) hazırlanır. Bu statik bir HTML dokümanı veya PHP, Java veya Ruby gibi bir dille üretilmiş bir HTML dokümanı olabilir.</li>
<li> Jaxer oluşturulan HTML dokümanını, istemciye gönderilmeden önce Apache&#8217;nin bir çıkış modülü olarak alır, bir browserın yaptığı gibi, onu çözümler ve içindeki sunucu tarafında çalışması istenen Javascript kodlarını çalıştırır.</li>
<li>Sonuç Jaxer Server Framework ve geliştirici kodlarıyla oluşturulmuş yeni bir HTML dokümanıdır. Fark şudur ki; Jaxer sunucu taraflı javascript kodlarını, istemci tarafından çağrılabilir metodlar haline çevirir, istemci tarafla sunucu tarafının oturum iletişimini sağlayacak bilgi ve metodları üretir.</li>
<li>Yeniden üretilmiş HTML istemci tarafında gönderilir.</li>
<li>İstemci dokümanı alır, HTML&#8217;den DOM üretilir ve bu sefer istemci taraflı javascrpt kodlarını çalıştırır.</li>
<li>Eğer sunucu taraflı bir metod çağrılırsa, parametreler otomatik olarak <a href="http://json.org"><abbr title="JavaScript Object Notation">JSON</abbr></a> formatına çevrilir ve server tarafındaki gerçek metod tetiklenmek için bir XMLHttpRequest talebi sunucuya gönderilir.</li>
<li>Sunucu bu özel talebi aldığında parametreler tekrar özgün haline çevrilir, çağrılan fonksion tekrar oluşturulup bu parametrelerle çalıştırılır ve dönen sonuç tekrar JSON verisine çevrilir.</li>
<li>İstemciye dönen veri yine otomatik olarak JSON türünden özgün veri türüne çevrilir ve işlem bu şekilde tamamlanır.</li>
</ol>
<p>ASP.NET ile uğraşırken sadece VB.NET kodu yazmamıza rağmen .NET Framework&#8217;un bizim için bir sürü Javascript kodu üretmesiyle, bu yapıyı benzer görmek mümkün, ancak tek fark var, bu sefer üretilen dil yazdığınız dilden farklı değil. (Gerçi sizi bilmem ama ben, benim yerime kod üreten yapılara hiç ısınamadığımı itiraf etmeliyim.)</p>
<p>Jaxer&#8217;ın şu anda en büyük eksiği henüz Linux versiyonunun olmaması gibi görünüyor. Windows ve Mac versiyonları <a href="http://aptana.com/jaxer/download/">sitesinden indirilebilen</a> Jaxer&#8217;ın Linux versiyonunun da kısa zamanda kullanıma sunulacağı belirtilmiş.</p>
<p>Bir not ile yazıma son vereyim. Daha önceden var olan fakat bu şekilde herkesin kullanımına sunulmamış bir sunucu sunucu taraflı Javascript çalışması olarak <a href="http://appjet.com">AppJet</a> sitesini belirtmek lazım. Bu sitede size verilen web arayüzüne javascript kodları yazarak, AppJet sunucularında çalışan dinamik web uygulamaları üretme şansınız bulunuyor.</p>
<h3> Kaynaklar</h3>
<ul>
<li><a href="http://www.aptana.com/node/43">http://www.aptana.com/node/43</a></li>
<li><a href="http://ejohn.org/blog/server-side-javascript-with-jaxer/">http://ejohn.org/blog/server-side-javascript-with-jaxer/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://muratcorlu.com/tr/yazi/dunyanin-ilk-ajax-sunucusu-jaxer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
