PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : همه چیز در مورد آژاکس



TAHA
09-28-2009, 06:57 AM
وب 2 چیست ؟

http://pnu-club.com/imported/mising.jpg
وب تغییر کرده است. رویدادهای تازه ای در آن شروع شده اند و چه هیجان انگیز. موجی از یکنواختی بر وب حکمفرما شده بود اما مدتی است که حباب وب ترکیده است. در هفته های گذشته "وب 2" را دنبال می کردم. برای آنکه خیالتان را راحت کنم می توانم به سادگی بگویم "وب 2" یعنی gMail، AJAX، Shared Bookmarks، Tagging و ... اما همه "اینها که گفتم یعنی چه"؟

تعریف روشنی از "وب 2" وجود ندارد. اجازه دهید آنرا با طرح چند مثال و مقایسه، بیشتر بشکافیم. در "وب 1" سایتهایی توسط گروه کوچکی از تولید کنندگان محتوا برای خوانندگان بسیار راه اندازی شد. خوانندگان اگر درباره ویندور اطلاعات می خواستند به سایت مایکروسافت مراجعه می کردند، اگر خبر می خواستند به CNN سر می زدند و مواردی از این قبیل.
به مرور زمان خوانندگان علاوه بر خواندن شروع به نوشتن کردند. مسیر وب به گونه ای شد که اشخاص تمایل بیشتری برای انتشار محتوا در وب پیدا کردند. آنها نظرات شخصی خود را منتشر کردند، از تجربیاتشان نوشتند، تحلیل کردند و همینطور آموزش دادند. در نتیجه ناگهان اطلاعات بسیاری در وب منتشر شد. بدین ترتیب پیگیری همه اطلاعات و مراجعه به همه سایتها و حتی سایتهای مورد علاقه برای خوانندگان غیر ممکن شد.
آیا می توان پذیرفت که اطلاعات مهم به دلیل کثرت سایتها و کمبود زمان از دسترسی کاربران دور بماند؟ روشن است که پاسخ "خیر" می باشد. با طرح سوالات بسیار دیگری از این دست، کم کم نیاز به تغییر در "وب 1" احساس شد.

به "وب 2" خوش آمدید!
رویکرد جدید وب اینگونه است: اطلاعات به واحدهای کوچکتری از "محتوا" خرد می شود و بوسیله سایتهای بسیاری توزیع می گردد. وب جدبد "دنیای اسناد" نیست بلکه "دنیای داده" است. ما دیگر به دنبال منابع قدیمی اطلاعات نیستیم بلکه به دنبال ابزاری هستیم که واحدهای کوچک اطلاعات را به روشهای تازه و موثر جمع آوری و تلفیق کند و در اختیارمان قرار دهد.

یک راه بسیار عالی برای درک بهتر "وب 2" بررسی ابزارهایی نظیر Google Earth, Google Maps, Microsoft Virtual Earth می باشد. به کمک این ابزار می توان کارتوگرافی، عکسبرداری ماهواره ای و جستجو در اینترنت را همزمان برای پاسخ دادن به پرسش "کجا؟" به خدمت گرفت.

Google Earth اطلاعات هر مکان را از منابع مختلف جمع آوری می کند و با توجه به شرایطی که کاربر مشخص می کند، نمایش می دهد.

Flicker را که سایتی معتبر برای مدیریت و به اشتراک گذاشتن عکس می باشد بررسی می کنیم. کاربران عکسهای خود را به کمک آن منتشر می کنند، سایز آن را تغییر می دهند، دسترسی به آن را مشخص می کنند، برای عکسهای خود و دیگران Tag (شناسه) تعریف می کنند. بدین ترتیب همه عکسها توسط خود کاربران دسته بندی و قابل جسجو می شوند.

درک بهتر "وب 2" با انجام چند مقایسه:

Web 1.0 <--> Web 2.0
mp3.com <--> Napster
Britannica Online <--> Wikipedia
personal websites <--> blogging
domain name speculation <--> search engine optimization
publishing <--> participation
directories (taxonomy) <--> tagging ("folksonomy")

با انجام مقایسه های مذکور به خوبی رویکردها را در "وب 1" و "وب 2" نمایان می سازد. ویکی پدیا و بریتانیکا را مقایسه کنید: محتوای بریتانیکا را ویراستاران تهیه می کنند و کاربران تنها از آن استفاده می کنند اما تقریبا تمام محتوای ویکی پدیا را کاربران آن توسعه می دهند در حالیکه هر کاربر می تواند هر مطلبی را ویراش کند. هر داوطلب می تواند مقالات آنرا به سبک ویکی اضافه و ویرایش کند. این بدین معناست که دیگری نیز می تواند همان مقاله را ویرایش کند. مقایسه این دو سایت با هم به خوبی تمایز publishing و participation را نیز می رساند.

"وب 2" را یک رویکرد نو می دانند نه یک تکنولوژی تازه. خمیرمایه "وب 2" مشارکت با دیگران برای انجام دادن چیزهایی است که به تنهایی امکان انجام دادن آنها را نداریم. واقعا چه لذت بخش است که آدرس سایتهایی که آنها را دوست داریم، کلماتی که جستجو کرده ایم را با دیگران به اشتراک بگذاریم.
اگر هنوز هم "وب 2" برایتان مفهوم نیست، باید بگویم که وبلاگ و RSS هم جزو ابزار "وب 2" قلمداد می شوند. با در اختیار گذاردن RSS و یا XML یک سایت، داده های آن هم در سایتهای دیگر قابل استفاده است و هم با ابزار دیگر.

آیا برای خواندن مطالب یک سایت باید حتما از یک مرورگر استفاده کنیم؟ خیر. می توانیم به کمک RSS سایت مدنظر و نصب ابزار لازم حتی بدون مرورگرها محتوای مورد علاقه مان را پیگیری کنیم. من این کار را کرده ام و از آن لذت می برم. هر روز صبح در حالیکه مشغول خواندن و پاسخ دادن به ایمیلها هستم، در پشت صحنه intraVnews عزیز مشغول جمع آوری اطلاعات از منابعی است که دوست دارم. جالب نیست؟
همینطور می توانید صفحه گوگل را متناسب با سلیقه خود شخصی سازی کنید و RSS های مختلف را به آن معرفی نمایید. در این صورت نیازی به نصب برنامه خاصی ندارید و در هر جا که باشید به منابع اطلاعی مورد علاقه خود تنها از طریق صفحه گوگل دسترسی خواهید داشت! باور کنید وب جذاب تر شده است. شاید همین قابلیتهای ساده باعث شده است که جمع آوری اخبار 15 برابر بیشتر از خواندن وبلاگها طرفدار داشته باشد (قابل توجه طرفدار متعصب وبلاگها!)

"وب 2" آثار متفاوتی دارد. بر روی رفتارهای اجتماعی، فرهنگی و حتی سیاسی کاربران خود تاثیر می گذارد. یکی از گروههایی که بیشترین تاثیر را می پذیرد، طراحان و توسعه دهندگان وب هستند. درست است که مهارتهای فنی آنها تغییر می یابد اما تغییر اصلی آنجاست که آنها باید محتوا را به صورتی منتشر کنند که بخشی از کل باشد به گونه ای که در کل وب قابل استفاده باشد نه یک جزیره دور افتاده.
تا دسترسی کامل به "وب 2" راه بسیاری وجود دارد. "وب 2" حتی مخالفانی دارد. زمانی Tim Bray مدیر تکنولوژیهای وب شرکت سان برداشت منفی خود را از آن ابراز داشت که البته زمینه ساز بحثهای بسیاری نیز شد.

اما وقتی سایتی مانند 43things.com اینهمه طرفدار دارد، مایکروسافت live.com را برای حفظ انحصارش راه اندازی می کند و یاهو del.icio.us را خریداری می کند، نمی توانیم "وب 2" را ساده بگیریم. به هر حال "وب 2" در راه است.

ولی آژاکس چیست ؟
آژاکس یا همان آجاکس چیست ؟

در این مقاله که نوشته آقای جسی جیمز گررت است سعی بر تعریف فناوری آژاکس شده است تا کسانی که تازه در این باره شنیده اند راحتتر این فناوری نو ظهور را درک وشناسایی نمایند.

تعریف آژاکس
همانطور که گفته شد آژاکس یک فناوری است، آژاکس متشکل از چندین فناوری دیگر است که هر کدام در مسیری جدید و قوی می آیند. آژاکس از بهم پیوستن پنچ مورد زیر بوجود آمده است:


_ ارائه استاندارد پایه با استفاده از XHTML و CSS
_ نمایش پویا و تعامل با کاربر با استفاده از DOM(Document Object Model)
_ دستکاری و تبادل اطلاعات با استفاده از XML و XSLT
_ بازیابی غیر همزمان داده ها با استفاده از XMLHttpRequest
_ تقید همه چیز با هم (JavaScript)

مدل قدیمی یا در واقع کلاسیک وب همانند این کار می کرد که بیشترین فعالیت های کاربربا واســط (Interface) ، یــک درخــواست HTTP بود که به سـرور برگشت داده می شد. سرور بعضی پردازش ها از قبیل بازیابی اطلاعات را انجام می داد و آنگاه یک صفحه HTML به سمت مشتری باز می گرداند. این یک مدل اقتباس گرفته شده از اصل وب ــ که از رسانه ابر متن (HyperText) استفاده می کند است.
اما بطوریکه مشتاقان اساس آزمون کاربر می دانند ، چقدر ما وب را عالی می سازیم بدون اینکه نیازی به این عالی سازی برای نرم افزارهای کاربردی داشته باشیم؟
در شکل زیر دو مدل کلاسیک و آژاکس با هم مقایسه شده اند تا کمی متوجه اختلاف آنها و همچنین اساس کارAJAX شوید.

http://pnu-club.com/imported/mising.jpg

این رویکرد جدید مفاهیم فنی زیادی را میسازد اما یک آزمون کاربر عالی نمی سازد. تا زمانی که سرور در حال انجام کارهای خودش است کاربر باید چکاری انجام دهد؟ درست است ، او باید صبر کند و در هر گام یک عمل ، باید بیشتر زمان را صبر نماید.
واضح است اگر ما یک طراح وب بودیم نبایستی در این مدت کاربر را منتظر نگه داریم. یکبار واسط (Interface) در سمت مشتری بارگذاری می شود ، چرا باید فعل و انفعال کاربر دچار مکث شود در هر باری که برنامه کابردی نیاز به چیزی از سرور دارد ؟ در حقیقت چرا کاربر باید همیشه برنامه را در حال رفتن به سرور مشاهده کند؟

به چه سبب آژاکس متمایز است ؟
یک برنامه کاربردی آژاکس طبیعت Start-Stop-Start-Stop فعل و انفعال در وب را بااستفاده از مطرح کردن واسطی میان کاربر و سرور به نام موتور آژاکس بر طرف نموده است. بنظر میرسد که مانند اضافه کردن یک لایه به برنامه کاربردی است تا برنامه را کمتر به سمت سرور فرستاده و از آن پاسخ دریافت نمایید. اما برعکس این حالت درست می باشد.
درابتدای یک جلسه با یک سرور بجای بارشدن صفحه ابتدا مـرورگر موتور آژاکس را بار می نماید که معمولا با جاوا اسکریپت نوشته شده است و در یک فریم مخفی چیده شده است. این موتور مسئول بین رندر کردن واسطی که کاربر می بیند و ارتباط بر قرار کردن با سرور از طرف کاربر می باشد. این موتور به کاربر اجازه می دهد که مستقل از ارتباط برقرار کردن با سرور ، با برنامه تعامل داشته باشد. همچنین کاربر هرگز در یک صفحه جدید سفید مرورگر با یک آیکون ساعت شنی شروع نمی کند و در حال صبر نخواهد بود تا سرور کارهایش را انجام دهد.
در شکل زیر دو مدل را از لحاظ زمان مورد بررسی قرار داده ایم و در واقع نحوه بهبود سیستم کلاسیک وب با استفاده از مدل آژاکس را نمایش داده ایم.

http://pnu-club.com/imported/mising.jpg

هر عمل معمول کاربر یک درخواست HTTP تولید می کند و به صورت یک قالب جاوا اسکریپت بسوی موتور آژاکس فرستاده می شود. هر پاسخی به کاربر که احتیاج به گرفتن جواب از سرور ندارد مانند اعتبارسنجی ساده داده ها ، ویرایش داده ها در حافظه و غیره ، موتور آژاکس این عمل کاربر را در درون خود اداره کرده و به کاربر پاسخ می دهد.حال اگر موتور نیاز به چیزهایی از سرور برای پاسخ دادن به کاربر داشته باشد همانند دادن اطلاعات برای پردازش ، بارگیری کدهای اضافی واسط یا بازیابی اطلاعات جدید روند کار کمی دچار تغییر می شود ، به این صورت که موتور اینگونه نیازها را تبدیل به درخواست های غیر همزمانی می نماید که معمولا با استفاده ازXML و بدون متوقف کردن تعامل کاربر با برنامه می باشد.
در پایان این مقاله به این موضوع اشاره می کنم که در حال حاضر یکی از معروفترین سایتهایی که از این فناوری استفاده می نماید Google است که آخرین ورژن Google Maps را می توان به عنوان یکی از بارزترین نمونه های استفاده ازAJAX نام برد .
اینگونه پروژه ها ثابت می کند که AJAX فقط حرف فنی نیست و نمونه های عملی در جهان واقعی کاربردی دارد.

TAHA
09-28-2009, 06:58 AM
اگه مي خواهيد از كد آجاكي استفاده كنيد اينجا هست



<script language="javascript" type="text/javascript">
function CheckB()
{
var R=false;
try
{
R=new XMLHttpRequest();//Firfox
}
catch(err1)
{
try
{
R=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(err2)
{
try
{
R= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(err3)
{
R=false;
}
}
}
return R;
}
var http = CheckB();
function CAjax()
{
var id=document.w.m.value;
var url="select.php?id=" + id;
//alert(url);
http.open("GET",url,true);
http.onreadystatechange=RAjax;
http.send(null);
}
function RAjax()
{
if(http.readyState==4)
{
if(http.status==200)
{
var txt=http.responseText;
document.getElementById("t").innerHTML=txt;
}
else
{
//ERROR
}
}
else
{
document.getElementById("t").innerHTML="<img src='wait3.gif'>";
}
}
</script>
<a onclick="CAjax()" style="cursor:pointer">Click Here</a>
<div id="t">
</div>