دنیای AJAX

مسايل كلي مربوط به وب و اينترنت
موضوع جدید ارسال پست
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

دنیای AJAX

پست توسط ali-msh »

دوستان در این تاپیک قصد داریم تا به بررسی تکنولوژی جدید AJAX در طراحی وب بپردازیم و اصلا بفهمیم که چی هست

آژاکس یا اِیْ‌جکس (Ajax؛ سرواژهٔ «Asynchronous JavaScript And XML»)، مجموعه‌ای از استانداردها و فناوری‌های وب است که به کمک آن‌ها می‌توان برنامه‌هایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند. با استفاده از این فناوری‌ها طبق معماری که آژاکس پیشنهاد می‌کند و با کمک انتقال تکه‌های کوچک داده و اطلاعات از رایانهٔ خادم (Server)، صفحات وب از حالت منفعل خارج می‌شوند و واکنش‌هایی مناسب با رویدادها انجام می‌دهند.

در اینجا مقاله ای از جسی جیمز گرت رو میارم و فکر میکنم که ساده و روان توضیح داده باشه
آژآکس ، خط مشی جدیدی برای برنامه های وب
جسی جیمز گرت
18 فوریه 2005
ترجمه کسرا یوسفی
اگر یک موضوع جذاب در طراحی تعامل وجود داشته باشد آن خلق برنامه های وب است. قبل از هرچیزی به آخرین باری فکر کنید که کسی در مورد طراحی تعامل یک محصول با هیجان صحبت کرد که این محصول روی وب نبود؟ (بسیار خوب ، آی پاد را ندیده می گیریم). {نتیجه می گیریم که} تمامی پروژه های جالب آنلاین هستند.

علیرغم این امر، طراحان تعامل وب نمی توانند جلوی احساس حسادت ملایم خود را درباره برنامه نویسان برنامه های رومیزی بگیرند. برنامه های رومیزی داری قوت و واکنشگری ای هستند که در{برنامه های} وب غیر ممکن می نماید.

آن سادگی ای که موجب تکثیر سریع وب شد همچنین شکافی بین تجربه ای که ما می توانیم به کاربر ارایه کنیم و آنچه که کاربر می تواند از یک برنامه رومیزی بگیرد ایجاد کرد.

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

دو سایتی که در باره آنها صحبت شد دو مثال یک مشی جدید برای برنامه های وب هستند که Adaptive Path آنها را آژآکس می خواند. این نام خلاصه نویسی جاواسکریپت نا همگام + اکس ام ال و نمایانگر تغییری بنیادین در آن چه در وب ممکن است می باشد.

شرح آژآکس

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

نمایش مبتنی بر استاندارد ها با استفاده از XHTML و CSS

نمایش و تعامل فعال با استفاده از DOM

تبادل و پردازش اطلاعات با استفاده از XML و XSLT

رفت و برگشت نا همگام اطلاعات با کمک XMLHttpRequest

جاواسکریپت برای به هم پیوستن همه اینها

مدل سنتی برنامه های وب به این شکل کار می کند: بیشتر فعالیت هایی که کاربر در ارتباط با واسط تصویری انجام می دهد ماشه درخواست هایHTTP را در وب سرور می کشند.سرور مقداری کار پردازش و استخراج اطلاعات ، خرد کردن اعداد ، صحبت کردن با سیستم های متعدد قدیمی انجام می دهد و سپس صفحه HTML را به کاربر بر می گرداند. این مدلی است که از کاربرد اولیه وب به عنوان یک رسانه ابرمتن به اقتباس شده است ولی همانطوری که طرفداران کتاب “عناصر تجربه کاربر”(کتابی از نویسنده همین مقاله.م.) می دانند، آنچه که وب را برای {مدیریت} ابرمتن مفید کرده لزوما آن را برای برنامه های کاربردی مفید نمی کند

این روش از دید فنی بسیار منطقی است ولی تنیجه درخشانی از دید تجربه کاربر ندارد. هنگامی که سرور مشغول انجام دادن وظایف خود است ، کاربر چه می کند؟ بله، صحیح است، صبر می کند. و در هر گامی{ که در مسیر انجام دادن یک} کار برداشته می شود ، کاربر کمی بیشتر صبر می کند.

بدیهی است اگر ما وب را از ابتدا برای برنامه های وب طراحی کرده بودیم اجازه نمیدادیم که کاربران منتظر بمانند. هنگامی که یک واسط بار می شود چرا باید برهم کنش کاربر هربار که برنامه چیزی را در سرور نیاز دارد متوقف کنیم. در واقع اصولا چرا کاربر باید متوجه ارتباط سرور و برنامه شود؟

آژاکس چگونه متفاوت است؟

یک برنامه آژاکس طبیعت شروع – توقف – شروع – توقف – شروع – توقف تعامل در وب را با آوردن کردن یک واسطه بین کاربر و سرور ، یعنی موتور آژاکس رفع می کند. به نظر می رسد اضافه کردن یک لایه به برنامه باید واکنشگری آنرا کاهش دهد ولی در واقیت عکس این اتفاق می افتد.

به جای بار زدن یک صفحه وب در ابتدای نشست ، مرورگر یک موتور آژاکس را – که با جاواسکریپت نوشته شده و در یک فریم پنهان جاسازی شده بار می زند. این موتورهم مسوول راندو کردن واسط تصویری که استفاده کننده می بیند است و هم از طرف استفاده کننده با سرور مراوده می کند. موتور آژاکس این امکان را ایجا د می کند که تعامل کاربر با برنامه به صورت ناهنگام – مستقل از کننده مراوده {برنامه} با سرور انجام پذیرد. بنابر این استفاده کننده هرگز به یک صفحه خالی مرورگر و شمایل ساعت شنی خیره ، در انتظار این که سرور کاری را انجام دهد نمی ماند.

هر حرکت کاربر که به طور سنتی منجر به ایجاد یک درخواست HTTP {در گذشته } می شده تبدیل به یک صدا زدن جاواسکریپت به موتور آژاکس می شود.

هر پاسخی به کار بر که نیازی به ارجاع به سرور را ندارد – مانند یک {فرایند} تصدیق اطلاعات ساده ویرایش اطلاعات در حافظه و حتی مقداری راهبری – را موتور خودش مدیریت می کند. اگر موتور برای پاسخ دادن {به کاربر} نیاز به چیزی در سرور داشته باشد. – مثل ارایه کردن اطلاعات برای پردازش، بار زدن بقیه کد واسط تصویری یا گرفتن اطلاعات جدید- این درخواست ها را به صورت ناهمگام با استفاده از XML و بدون متوقف کردن تعامل کاربر با برنامه {به سرور} می فرستد.

چه کسانی از آژاکس استفاده می کنند؟

گوگل سرمایه گذاری کلانی برای توسعه خط مشی آژاکس کرده است. تمامی محصولات مهمی که گوگل در سال گذشته معرفی کرده است {یعنی} اورکات، جی میل ، آخرین نسخه بتای Google Groups ، Google Suggest وGoogle Maps برنامه های آژاکس هستند. (برای مطالعه عمیق تر این پیاده سازی های آژاکسی، این تحلیل های درخشان Gmail ، Google Suggest و Google Maps را مطالعه کنید). دیگران نیز {از همین مسیر} پیروی می کنند : بسیاری از امکاناتی که مردم در فلیکر دوست دارند بر آژاکس تکیه دارند و موتور جستجوی آمازون {یعنی} a9.com از تکنیک های مشابهی استفاده می کند.

این پروژه ها نشان می دهند که نه تنها آژاکس از نظر فنی استوار است بلکه همچنان برای برنامه های دنیای واقعی نیز کارآمد است. {آژاکس} یکی دیگر از آن تکنولوژی هایی نیست که فقط در آزمایشگاه کار می کنند. همچنین {نشان می دهد} برنامه های آژاکس می توانند در هر اندازه ای ، از یک کاربرد خیلی ساده و انفرادی {مانند} Google Suggest وجود داشته باشند تا سک برنامه بسیار پیچیده و قامض مانند Google Maps .

در {شرکت} Adaptive Path (شرکتی که نگارنده در آن کار می کند.م.) ما کار{تحقیقاتی} خود روی آژاکس را در طی چند ماه گذشته انجام داده ایم و حس می کنیم که تنها کمی از سطح فوقانی {امکانات} غنی واکنشگری و تعامل پذیری که برنامه های آژاکس می توانند ارایه کنند را خراشیده ایم. آژاکس گام تکاملی بزرگی برای برنامه های وب است و اهمیت آن تازه رشد خود را آغاز کرده است. همچنین به دلیل این که برنامه نویسان بی شماری وجود دارند که که از قبل می دانند چگونه باید با این تکنولوژی ها کار کنند، ما انتظار داریم شاهد دنباله روی موسسات بسیاری از مسیری که گوگل - با بدست آوردن برتری رقابتی که آژاکس تامین می کند- در آن پیشتاز است باشیم

چشم انداز

بزرگترین موانع در ایجاد برنامه های آژاکس فنی نیستند. هسته تکنولوژی های آژاکس پخته ، استوار و خوب فهمیده شده است. در عوض موانع برای طراحان این برنامه ها وجود دارد : فراموش کردن آنچه فکر می کنیم درباره محدودیت های وب می دانیم و شروع تخیل یک دامنه بزرگ تر و غنی تر امکانات.{انچه در آینده می آید}بسیار جذاب خواهد بود.

توضیحات مترجم

من تصمیم گرفتم برای آشنایی بیشتر علاقه مندان آژاکس متن مقاله مهم جسی جیمز گرت یعنی ” آژآکس ، خط مشی جدیدی برای برنامه های وب”را به مرور ترجمه کنم. این مقاله اولین سندی است که آقای گرت که مبدع آژاکس است تالیف کرده و می تواند برای کسانی که می خواهند با آژاکس آشنا شوند مفید واقع شود. لطفا اگر نحوه ترجمه به نظرتان غریب و نامانوس آمد ، مطمئن باشید روی هر جمله ای با دقت خاصی کار شده و برای آمدن هر واژه ای دلایل کافی وجود دارد. در هر صورت اگر انتقادات خود را برای من بفرستید من هم برایتان یک جعبه که داخل آن یک جفت دستکش بوکس است خواهم فرستاد. مهمترین هدف من در ترجمه شفافیت متن به حدی است که لحن نویسنده را از آن طرف کاغذ بشنویم.از شوخی گذشته، بی صبرانه منتظر انتقادات هستم.اگر جایی نیاز به اضافه کردن واژه ای بوده که برای فهم خواننده فارسی زبان لازم می دانسته ام آن را در میان {} قرار داده ام. لغاتی که من معادلی برایشان پیشنهاد کرده ام که احتمالا نو است با قلم ضخیم نوشته ام. مانند بار شدن در برابر Load که معمولا بار گذاری ترجمه می شود که به نظرم زیادی “گذاری” اش زیادی است و نو شدن که به جای به روز آوری به کار برده ام.(لابد اگر شب بود صفحه باید به شب آوری شود و وقتی ما روی دکمه ای ده بار در یک ثانیه کلیک می کنیم، اطلاعات مرتبا به روز آوری می شوند در حالی که همه این به روز آوری ها درچند ثانیه متوالی و یک روز اتفاق افتاده است).

------------------------------------------------------------------------
لینک مقاله : http://www.adaptivepath.com/publication ... 000385.php


علي شفق
sajjad_eb
کاربر خیلی فعال
کاربر خیلی فعال
پست: 243
تاریخ عضویت: سه‌شنبه 22 آذر 1384, 12:00 am

پست توسط sajjad_eb »

این مقاله رو به استاد هم بده :lol: :roll:
حتما شما هم نظر بدین تا یه چیز توپی بشه
اینجا کلیک کنید
mahdi
مدیر سایت
مدیر سایت
پست: 837
تاریخ عضویت: سه‌شنبه 3 تیر 1382, 12:00 am
تشکر شده: 1 دفعه
تماس:

پست توسط mahdi »

دوستانی که تمایل به افزایش اطلاعات خود در مورد AJAX دارند پیشنهاد میکنم کتاب AJAX IN ACTION منتشر شده در سال 2006 رو مطالعه کنند. در ضمن اگر دوستان کتاب رو نداشتند اطلاع بدهند.
مهدي
مردي از دياري ديگر

http://irbook.ir
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

پست توسط ali-msh »

مهدی جان اگه PDF شو داری بزار بچهها استفاده کنن
علي شفق
mahdi
مدیر سایت
مدیر سایت
پست: 837
تاریخ عضویت: سه‌شنبه 3 تیر 1382, 12:00 am
تشکر شده: 1 دفعه
تماس:

پست توسط mahdi »

http://m-mansoori.com/eBook/Ajax In Action-Dave Crane-Eric Pascarello-Manning-2006.pdf

حدود 10MB
مهدي
مردي از دياري ديگر

http://irbook.ir
sajjad_eb
کاربر خیلی فعال
کاربر خیلی فعال
پست: 243
تاریخ عضویت: سه‌شنبه 22 آذر 1384, 12:00 am

پست توسط sajjad_eb »

10MB فایل از نوع PDF اونم با زبانه اصلی :D
من که با همون HTML و CSS راحت ترم :? :lol: :wink:
حتما شما هم نظر بدین تا یه چیز توپی بشه
اینجا کلیک کنید
sajjad_eb
کاربر خیلی فعال
کاربر خیلی فعال
پست: 243
تاریخ عضویت: سه‌شنبه 22 آذر 1384, 12:00 am

پست توسط sajjad_eb »

:lol:
من از این آژاکس خاطره بدی دارم
8O
حتما شما هم نظر بدین تا یه چیز توپی بشه
اینجا کلیک کنید
ali-msh
مدیر سایت
مدیر سایت
پست: 1315
تاریخ عضویت: سه‌شنبه 29 شهریور 1384, 12:00 am
محل اقامت: آنجا که دل خوش است
تماس:

پست توسط ali-msh »

تا جاييکه يادمه سر وب 2 بود نه آجاکس ، ولي سجاد جان ثواب داره پيش ما هم بياي
دلمون برات تنگ شده ( البته سمپل آجاکس بزاري بيشتر خوشحال ميشيم :arrow: )
علي شفق
موضوع جدید ارسال پست

بازگشت به “وب و اينترنت”