تبلیغات کلیکی کارت شارژ به قیمت دولتی و نمایندگی ایرانسل و همراه اول
Ajax : تحولی بزرگ در عرصه وب ( بخش دوم ) - گروه اینترنتی جرقه ایرانی
سفارش تبلیغ
صبا ویژن

گروه اینترنتی جرقه ایرانی


پرواز
اشعار و گفتار
upturn یعنی تغییر مطلوب
عاشق آسمونی
زبان آموزی
سیب سرخ
زندگی عاقلانه
ترانه های دیگر
ترنم یاس
انتظار
عشق است زنده یاد ناصر خان حجازی و استقلال
در انتظار آفتاب
آج
شعله ی آواز
لحظه های آبی
زندگی بی ترانه...
به یاد دوست
قاصدک
جزین
>> لــبــخــنــد قـــلـــم <<
جزیره علم
خداجونم
همنشین
هرگز نمیرد آن که دلش زنده شد به عشق
سکه دولت عشق
**دختر بهار**
لیلای بی مجنون
قاصدک
عشق سرخ من
اظهرالمن الشمس
شعر! ؟ نه . . . . دلنوشته
هر چی که بخوای
ایران
آفتاب گردون
ان سالهای دوست داشتنی
اقتصاد بدون یارانه
RAYANCHOUB
کلبه
شعر
موعود هادی
افسونگر

پژواک
جوان ایرانی
hamidsportcars
قیدار شهر جد پیامبراسلام
سکوت خیس
عصر پادشاهان
منتظرظهور
مصطفی قلیزاده علیار
سایه
سرچشمه ادب و عرفان : وب ویژه تفسیر ادبی عرفانی قرآن مجید
چم مهر
آرمان نوین
شقایقهای کالپوش
معلم و تدریس خصوصی در قم
وصل دوست
مهندسی مکانیک ( حرارت و سیالات)-محی الدین اله دادی
چند لقمه حرف حساب
دل نوشته های یک دختر شهید
عاشقم بر همه عالم که همه عالم از اوست
سکوت ابدی
شاعرانه
حامل نور ...
وبلاگ عقل وعاقل شمارادعوت میکند(بخوانیدوبحث کنیدانگاه قبول کنید)
بلوچستان
هم نفس
choobak33
وب نوشته مهدی میانجی
حسن آباد جرقویه علیا
حقوقی و فقهی
چلچراغ شهادت
اطلاعات علمی+تفریح+ترفند+دانلود+کلیپ+آموزش
KING OF BLACK
اشک شور
استان قدس
پرپر
دلتنگی ها
اتاق دلتنگی
علی داودی
پاتوقی برای ایرونی ها
کلبه تنهایی
بحرین پاره تن ایران است
نغمه ی عاشقی
ادبیات و فرهنگ
محمد جهانی
جریان شناسی سیاسی - محمد علی لیالی
رنگین کمان
صداقت و راست گویی
خاک
روز سبزگی
همه چیز آماده دانلود . . . دانلود رایگان بازی و نرم افزار
سخن آشنا
سیب سبز
فروش وپخش لوازم خانگی
فریاد بی صدا
جوانمردى
شوروشعور عشق
ermia............
ندای دریا
جور وا جور
دفاع نیوز (جانم فدای رهبر)
خرید و فروش ضایعات آهن
+O
حباب خیال
شب و تنهایی عشق
عکس های زیبا
ستارگان دوکوهه
بـــــــــاغ آرزوهــــــــــا = Garden of Dreams
برترین لحظه ها
ماییم ونوای بینوایی.....بسم الله اگرحریف مایی
ضیافت
طنین تمدن اسلامی
گیاه پزشکی 92
BABAK 1992
آوای قلبها...
اسلام چیست؟
آرشیوی متنوع از مسائل روزمره
@@@نصرت@@@
سفیر دوستی
آذربایجان
زورق عشق
تنهایی......!!!!!!
ثانیه های خسته
مرد تنهای شب
گل و منظره
دیار من دشتستان- بُنار آبشیرین
ستاره
قاری عشق
جـــیرفـــت زیـبا ( استان کرمان جنوبی)
خاطرات دکتر بالتازار
پروانگی
کودک ونوجوان
آوای روستا
دل نوشته های دینی
ایوون رویا
farzad almasi

معیار عدل
امام زمان
کمالو مجید
پرسپولیس قهرمان
آیا عشق به همین معنی است؟
وب سایت شخصی مهران حداد__M.Hadad personal website
سکوتی پرازصدا
آمنه قصاب
.: شهر عشق :.
منادی معرفت
88783
سردار بی سنگر
سکوت سبز
کلارآباد دات کام
هر چی بخوای
پیامنمای جامع
مهاجران
نظام صنفی کشاورزی ساوجبلاغ
بادصبا
حامیان دکتر محمد باقر قالیباف
معارف _ ادبیات
یاربسیجی
بود نبود
طریق یار
فرق بین عشق و دوست داشتن
ایران اسلامی
...::بست-70..:: بهترین های روز

گوناگون تر از گوناگون
my love
شعر عاشقانه
Har chi delet mikhad
رباتیک
ما تا آخرایستاده ایم
روستای چشام
جـــــــــــــــــــــــــذاب
گیسو کمند
بیا تو ج‍‍‍ـــوان +دانلود صلواتی+کلیپ +اسرارموفقیت+ازدواج
کارشناس مدیریت دولتی
..:: رهگذر ::..
کاسل
دنیای کامپیوتر و شبکه
$$دوست$$
عکس های عاشقانه
چینش ثانیه ها
بچه ها من تنهام!!!کمک
شیخا
همدلی از همزبونی بهتره ...
مهاجر
سالار
یا مهدی (عج)
مطالب جالب
واژه های انتظار
امید مهربانی
منطقه آزاد
احمد چاله پی
ان شاء الله
******ali pishtaz******
همسردوم
هگمتانه
(حضرت فاطمه)
ابـــــــــــرار
تاریخچه های تلفیقی محمدمبین احسانی نیا
عشق گمشده
علمدارمظلوم
نور اهلبیت (ع)
ستاره سهیل
مسجد امام رضا(ع) سمیرم
یادداشتهای من
آسمان آبی جندابه
صادق جان
گروه باستانشناسی
عطر یاس
صدای شهید
آدمـــــــــ بــــــاطــــــــلــــه هــــــــــا
*bad boy*
تنها
خاطرات و دل نوشته های دو عاشق
در ساحت اندیشه
غزل عشق
زبان انگلیسی
پارسی نامه
مژده ی فتح...
واقعه
یاد داشتهای من
درددل
آموزشی - مذهبی
شبح سیاه
جوجولی
مقلدان علمدار
آموزشی- روانشناسی
خلیج همیشه فارس pearsian Gulf
راهیان
حرف های تنهایی
بچه های خدا
درس های زندگی
قافیه باران
هدهد
دبستان هوشمند
گل آفتابگردون وبچه هایش
دانشجویان ورودی 85 زمین شناسی خواف
من.تو.خدا
black boy
صدای دل...
حرم الشهدا
دل شکسته
برو تا راحت شی
شهیدشاعری
کبوتر حرم
welcome to my profile
یامهدی
تنها هنر
دل نوشته
یک قدم تا رهایی
طراوت باران
سعادت نامه
کٌلٌنا عباسِکِ یا زینب
قدرت کلمات
امپراتور
کلبه تنهایی
من الغریب الی الحبیب
دانلود هر چی بخوایی...
نور
تروریست
**عاشقانه ها**

مینای دل
داستان های من
friend weblog
سیاسی
زندگی شیرین
صدای سکوت
بنفشه ی صحرا
پا توی کفش شهدا
عشق
آسمان را دریاب
هیئت حضرت علی اصغر(ع) روستای طولش -خلخال
جزتو
شوق اندیشه
ألا إنّ نصرالله قریب
من یک خبرنگارم ...
چ مثل چرت و پرت
ترخون
عشق پنهان
@@@باران@@@
زندگی
Manna
عبد عاشق
بانوی اسمانی
مصطفی
آشیانه سخن
راه های دور دل های نزدیکKH
Deltangi
زیبا ترین وبلاگ
پیروان ولایت
حرف آخر برای خداست...
وارثان شهدا
سیاه مشق های میم.صاد
ولایت عشق
قرآن مجید
دلنوشته های من
بهشت بهشتیان

Ajax : تحولی بزرگ در عرصه وب ( بخش دوم )



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

تولد Ajax
در فوریه سال 2005 ، Jesse James Garrett از Adaptive Path مقاله ای را با عنوان " یک رویکرد جدید به برنامه های وب " بر روی وب سایت خود منشتر کرد . وی در این مقاله ضمن اشاره به این موضوع که فاصله بین برنامه های وب و desktop در حال از بین رفتن است ، به بررسی دو نمونه از برنامه های وب جدید با نام Google Suggest و Google Maps پرداخته بود . Garrett پس از تشریح نحوه عملکرد برنامه های فوق ، برای اولین مرتبه از واژه Ajax در مقاله خود استفاده کرد .
وی در مقاله خود دنیائی را پیش بینی کرده بود که در آن برنامه های وب از لحاظ قابلیت دستیابی ، پاسخ گوئی و سادگی قابل مقایسه با برنامه های desktop خواهند شد .

Ajax چیست ؟


Ajax برگرفته شده از Asynchronous JavaScript XML است و مشتمل بر مجموعه ای از فناوری ها است ، نه صرفا" یک فناوری .


Ajax ، اساس و پایه چیزی است که امروزه از آن با نام وب 2 نام برده می شود ( نسل جدید وب ) . ایده اصلی ، ایجاد برنامه های وبی است که دارای شکل ظاهری و توانمندی هائی مشابه با برنامه های desktop باشند .


Ajax چی‍زی بیشتر از یک نگرش جدید به برنامه های وب نیست . نگرشی که در آن صرفا" یک حجم اندک از اطلاعات بین سرویس گیرنده و سرویس دهنده با هدف افزایش تعامل کاربر با برنامه ، مبادله می گردد .


Ajax ، مشتمل بر مجموعه ای از فن آوری ها است که هر یک دارای جایگاه مختص به خود می باشند :

- فن آوری های استاندارد presentation نظیر XHTML و CSS
- بهنگام سازی پویای یک صفحه مستقر شده در حافظه با استفاده از DOM ( برگرفته شده از Document Object Model )
- مبادله و پردازش داده با استفاده از XML (فرمت مبادله داده ) و XSLT ‌( تبدیل XML به XHTML )
- بازیابی داده غیرهمزمان با استفاده از XMLHttpRequest ( کارگزار اولیه مبادله اطلاعات )
و جاوا اسکریپت که همه چیز را به یکدیگر مرتبط می نماید و از آن برای برنامه نویسی Ajax engine استفاده می گردد .


در دنیای واقعی ، از تمامی فناوری های فوق در Ajax استفاده می گردد ولی به وجود HTML/XHTML ، DOM و Javascript بیش از همه نیاز است چون :
از XHTML برای نمایش اطلاعات استفاده می گردد .
از DOM برای تغییر بخش هائی از یک صفحه XHTML بدون نیاز به load مجدد صفحه استفاده می گردد.
از جاوا اسکریپت ، برای مقداردهی اولیه ارتباط بین سرویس گیرنده و سرویس دهنده و بهنگام سازی صفحات وب به کمک DOM استفاده می گردد .


یک عنصر اساسی و مهم دیگر که در مقاله Garrett به آن اشاره نشده است ، ضرورت انجام پردازش های سمت سرویس دهنده است . تمامی فناوری های اشاره شده ( در پاراگراف قبل ) ، در ارتباط مستقیم با Ajax engine سمت سرویس گیرنده می باشند . بدون وجود یک سرویس دهنده مطمئن و پاسخگو به منظور ارسال محتویات برای Ajax engine ، در عمل Ajax فاقد کارآئی لازم خواهد بود . صرفنظر از فناوری استفاده شده در سمت سرویس دهنده ( نظیر PHP و یا ASP.NET ) ، می بایست این اطمینان حاصل گردد که داده با فرمت صحیح برای Ajax engine ارسال می گردد .


از شی XMLHttpRequest درون جاوا اسکریپت برای ارتباط با سرویس دهنده استفاده می گردد تا در ادامه بتوان داده برگردانده شده از سرویس دهنده ( با فرمت Xml و یا متن معمولی ) را پردازش کرد .


از DHTML و CSS برای نمایش نتایج در مرورگر استفاده می گردد .


هدف از کنارهم قرار گرفتن تمامی فناوری های اشاره شده ، این است که شکل ظاهری برنامه های وب و نحوه پاسخ گوئی آنها به خواسته کاربران مشابه برنامه های desktop گردد .

همانگونه که در نام این فناوری مشخص است ، Ajax مشتمل بر مجموعه ای از فناوری ها است : Asynchronous JavaScript XML


غیرهمزمان و یا asynchronous بدین معنی است که مرورگر لازم نیست منتظر بماند تا داده از سرویس دهنده برگردانده شود و می تواند به محض دریافت داده آن را پردازش نماید . به عبارت دیگر ، انتقال داده در پس زمینه انجام شده و مرورگر مجبور به توقف و انتظار برای تحقق اتفاقی نخواهد بود .
رویکرد فوق نشاندهنده یکی از ویژگی های مهم و حیاتی Ajax است . در چنین مواردی‌، می توان داده را پس از ارسال توسط سرویس دهنده ، پردازش کرد . لازم نیست تمامی برنامه را معطل رسیدن داده از سمت سرویس دهنده کرد .
در صورتی که لازم است پردازش های سمت سرویس گیرنده منتظر دریافت داده بمانند ، مکانیرم دریافت و پردازش داده می بایست بطور همزمان انجام شود . در صورتی که یک ارتباط ضعیف بین سرویس گیرنده و سرویس دهنده برقرار شده باشد این موضوع می تواند عملکرد و موفقیت یک برنامه وب را با مشکل مواجه نماید .


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


بخش xml واژه Ajax دارای چه مسئولیتی است ؟ XML به عنوان یک استاندارد جهانی در عرصه وب مطرح است و به کمک آن می توان از یک روش مبتنی بر متن برای مبادله داده در عرصه اینترنت استفاده کرد . یکی از دلایل مهم گسترش xml ، ماهیت مبتنی بر متن آن است . با توجه به این که طراحی اینترنت بگونه ای انجام شده بود تا بتواند مستندات مبتنی بر متن نظیر اسناد HTML را نمایش دهد ، وجود xml به منزله قلابی است که می توان آن را دور اینترنت انداخت و به صید داده پرداخت. داده ئی که به همراه ساختار خود می تواند امکان پردازش را در سایر سیستم ها فراهم نماید . به همین دلیل است که برنامه های Ajax بگونه ای نوشته می گردند تا بتوانند بر روی داده برگردانده شده از سرویس دهنده با فرمت xml ، عملیات مورد نظر را انجام دهند . به عبارت دیگر ، پس از برقراری ارتباط با سرویس دهنده ، داده با فرمت xml برگردانده خواهد شد .
xml ، صرفا" یکی از روش های برگرداندن داده است و در صورت لزوم می توان از فرمت هائی دیگر نظیر متن معمولی نیز استفاده کرد .


در کنار جاوا اسکریپت و XML ، فناوری Ajax با فناوری های دیگری نظیر DHTML و CSS نیز کار می کند . به کمک فناورهای فوق می توان داده موجود در یک صفحه وب را بدون نیاز به load تمامی صفحه بهنگام کرد ( صرفا" load بخشی که ضرورت آن احساس می شود ) . پتانسیل فوق یکی از اهداف و ویژگی های مهم برنامه های وب مبتنی بر فناوری Ajax محسوب می گردد .


بخشی از جاوا اسکریپت که امکان Ajax را میسر می سازد ، شی XMLHttpRequest است . شی فوق تقریبا" در تمامی مرورگرهای مدرن و پیشرفته از قبل تعبیه شده است . به کمک این شی امکان اتصال به سرویس دهنده و مدیریت داده برگردانده شده از آن در پس زمینه فراهم می گردد .
اقتدار Ajax نه تنها وابسته به جاوا اسکریپت بلکه مدیون شی XMLHttpRequest است .

اصول Ajax
Ajax هنوز در ابتدای راه است و بسیاری از پیاده کنندگان با این پرسش مواجه هستند که از این فناوری در چه زمانی و در چه نوع برنامه هائی می توان استفاده کرد . عدم شناخت مناسب از این فناوری باعث می شود تا از آن در برنامه هائی استفاده گردد که نه تنها قابلیت و یا ویژگی جدیدی را به برنامه اضافه نمی نماید بلکه در بسیاری از موارد عدم موفقیت یک برنامه و نارضایتی کاربران آن را به دنبال خواهد داشت .
زمانی می توان این ادعا را داشت که یک برنامه وب مبتنی بر Ajax در اهداف خود موفق بوده است که در آن اصول زیر رعایت شده باشد .


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


عدم سردرگمی کاربر : برنامه های وب مبتنی بر فناوری Ajax مدل تعامل با کاربر مختلفی را نسبت به برنامه های وب سنتی معرفی کرده اند . در مقابل وب استاندارد ( کلیک کن و منتظر باش ) ، برخی برنامه های Ajax از یک رویکرد دیگر برای پیاده سازی بخش رابط کاربر خود نظیر drag-and-drop و یا double-clicking استفاده می نمایند . صرفنظر از نوع مدل انتخاب شده برای پیاه سازی تعامل با کاربر ، مهم ارائه امکانات بخش رابط کاربر بگونه ای است که همواره کاربر در سریع ترین زمان بتواند در خصوص انجام حرکت بعدی خود تصمیم گیری نماید .


استفاده منطقی از تجارب مثبت گذشته : وقت خود را بی خودی به ابداع مدل های تعامل با کاربر جدید که کاربران شما با آنها آشنا نیستند ، هدر ندهید . استفاده از تجارب برنامه های وب سنتی و desktop می تواند پیاده کنندگان را در طراحی یک مدل مناسب جهت تعامل با کاربر کمک نماید .


اجتناب از بکارگیری عناصر غیرضروری : از بکارگیری عناصر غیر ضروری نظیر تکرار انیمیشن و بخش هائی نظیر blinking page اجتناب کنید. بکارگیری این چنین عناصری باعث می شود تا کاربران در زمان انجام فعالیت های مورد نظر دچار سردرگمی شوند .


قابلیت دسترسی و رضایت کاربران : برنامه های Ajax را با در نظر گرفتن رفتار و نوع خواسته کاربران طراحی و پیاده سازی نمائید . برای طراحی و پیاده سازی خود را در یک مکان بسته محبوس ننمائید. در غیر اینصورت همواره این احتمال وجود خواهد داشت که خواسته برخی از کاربران نادیده گرفته شود . قابلیت دسترسی و رضایت کاربران یکی از نکات بسیار مهم در موفقیت یک برنامه کامپیوتری محسوب می گردد .


پیشگیری از دانلود تمامی صفحه : تمامی ارتباط با سرویس دهنده پس از مقدار دهی اولیه دانلود صفحه ، می بایست توسط Ajax engine مدیریت گردد . عدم مدیریت صحیح بر روی فرآیند فوق می تواند بخش رابط کاربر یک برنامه وب را با مشکل اساسی مواجه سازد ( نظیر دانلود حجم اندکی از داده در یک مکان و دانلود تمامی صفحه در بخش دیگر )


توجه به نیاز کاربران قبل از هر چیز : برنامه های Ajax را قبل از هر چیز با کاربران خیالی در ذهن طراحی نمائید . سهولت در انجام عملیات متداول می بایست در دستور کار قرار بگیرد . کمتر در اندیشه انجام کارهای تبلیغاتی و یا افکت های غیرضروری باشید .

نقطه مشترک بین تمامی اصول اشاره شده ، قابلیت استفاده از یک برنامه با حداکثر ظرفیت و رضایتمندی کاربران است . هدف اولیه Ajax ، بهبود و ارتقاء بخش رابط کاربر برنامه ها با هدف رضایتمندی بیشتر کاربران است .

نحوه کار Ajax
در برنامه های وب سنتی مرورگر مسئولیت مقداردهی اولیه درخواست ها و پردازش آنها جهت ارسال به سرویس دهنده وب را برعهده دارد . در مقابل ، در Ajax یک لایه میانی ( که Garrett آن را Ajax engine نامید ) مسئولیت مدیریت ارتباط برقرار شده را برعهده می گیرد . Ajax engine در واقع یک شی جاوا اسکریپت و یا تابع است و زمانی که به اطلاعاتی از سرویس دهنده نیاز باشد ،‌ از آن استفاده خواهد شد .
در مقابل برنامه های وب سنتی که یک لینک به یک منبع دیگر ارائه می گردد ( نظیر یک صفحه وب دیگر ) ، در برنامه های وب مبتنی بر Ajax ، هر لینک باعث فراخوانی Ajax engine می گردد که وظیفه آن زمانبندی و انجام درخواست بطور غیرهمزمان است .
سرویس دهنده ( که از لحاظ سنتی اسناد HTML ، تصاویر ، CSS و جاوا اسکریپت را ارائه می نماید ) ، بگونه ای پیکربندی می گردد تا داده مورد نیاز را در اختیار Ajax Engine قرار دهد. این داده می تواند متن معمولی ، XML و یا سایر فرمت های مورد نیاز داده باشد. بدیهی است در چنین مواردی ، Ajax engine می بایست قادر به خواندن و تفسیر داده باشد .
پس از دریافت پاسخ لازم از سرویس دهنده ، Ajax engine عملیات خود را که اغلب بررسی داده و ایجاد تغییرات لازم در بخش رابط کاربر است ، آغاز می نماید . با توجه به این که در فرآیند فوق به اطلاعات کمتری نسبت به برنامه های وب سنتی نیاز است ، بخش رابط کاربر با سرعت بیشتری بهنگام می گردد و کاربر قادر به انجام کارهای خود با سرعت بیشتری است .
در شکل 1 ، عملکرد برنامه های وب سنتی نسبت به برنامه های وب مبتنی بر Ajax نشان داده شده است .


ارسال شده در توسط سعید کریمی