PDA

View Full Version : پدیده‌ انقلابی Ajax و جاوا



zehs_sha
چهارشنبه 24 اسفند 1384, 09:56 صبح
نوشته شده توسط : shahramasp
Ajax چیست؟

امروزه، معمولا وقتی صحبت از طراحی برنامه های تعاملی(interaction design ) می شود،بیشتر توجه ها معطوف به وب است. برنامه های کاربردی تحت وب به سرعت در حال رشد و توسعه هستند و کاربران دوست دارند که با همان راحتی و سرعتی که با Desktop application ها کار می کنند با Web application ها هم کار کنند. طراحان برنامه های کاربردی وب هم برای از بین بردن این شکاف ، روش های طراحی گوناگونی را پیشنهاد کرده اند.یکی از این روش ها روش Ajax است. Ajax مخفف Asynchronous JavaScript + XML می باشد.
نگاهی به Suggest Google و Google Maps بیندازید . در Google Maps وقتی روی قسمتی از نقشه zoom می کنید و یا بالا و پایین می روید همه چیز تقریبا به طور همزمان و بدون Load شدن مجدد صفحات انجام می شود. در Suggest Google نیز وقتی مشغول تایپ کلمه مورد نظر خود هستید، به طور همزمان کلمات مرتبط با آن و نیز نتایج حاصل از جستجوی آنها نمایش داده می شود. این برنامه ها چگونه کار می کنند؟
مدل کلاسیک برنامه های کاربردی وب به این صورت است که: کاربران توسط یک واسط، درخواست خود را به وب سرور ارسال می کنند. سرور پردازشی خاص برای درخواست مورد نظر کاربر انجام می دهد و سپس نتیجه را به صورت HTML به کاربر برمی گرداند. این مدل با کاربرد اولیه وب به عنوان واسط انتقال hypertext سازگار است اما تجربیات نشان می دهد که در طراحی برنامه های کاربردی لزوما استفاده از این مدل نتیجه مطلوب کاربران را نمی دهد!
وقتی که سرور مشغول پردازش درخواست ها است، کاربر چه می کند؟ مسلم است که انتظار می کشد! و این انتظار در هر مرحله از انجام کار بیشتر و بیشتر می شود! زمانی که یک فرم وب را در برنام کاربردی خود قرار می دهید کاربر باید تا زمان دریافت نتایج صبر کند.اصلا چه لزومی دارد که کاربر ببیند برنامه او به سمت سرور می رود؟! Ajax به این پرسش ها پاسخ می دهد
AJAX ( Asynchronous Javascript And XML ) تکنولوژی جدیدی می باشد که به کمک شما آمده تا سایت های اینترنتی خود را به طرز وحشتناکی سرعت بخشید طوری که دهان همه باز بماند و به قول بچه ها فک همه بخوره زمین !!! google از این تکنولوژی به طرز احسن در قسمت های Google Suggest و Google Maps استفاده کرده البته مختص google نیست و سایت های دیگری نیز هستند که از این تکنولوژی استفاده کرده اند .
اما AJAX چیست ؟ چه قدر خوب می شد اگر می تونستیم هنگامی که کاربر صفحه وب ما رو باز کرده در پشت صحنه و دور از دید کاربر اطلاعات مورد نیاز صفحات بعد یا هر چیز دیگه رو از سرور دریافت کنیم. مثلا کاربر صفحه لاگین رو باز کرده و آماده می شه تا بعد از وارد کردن نام کاربری و کلمه عبور خود میل باکس خود رو ببینه و یا وارد فروم مورد علاقه خود بشه اصلا مهم نیست می خواد کجا بره مهم اینه که در این حین شما فرصت بسیار زیاده دارید تا اطلاعات مورد نیاز صفحه بعد را خیلی آروم و بی دقدقه از سرور دریافت کنید. بیایید واضح تر و تخصصی تر صحبت کنیم; ما می خواهیم در حین اینکه کاربر مشغول تماشای صفحه فعلی می باشد با استفاده از اسکریپت های سمت کلاینت اطلاعات مورد نیاز برای برپائی صفحه بعدی را که حدس می زنیم کاربر می خواهد به آن رجوع کند از سرور دریافت کنیم. خوب Ajax این کار را برای ما انجام میده

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

واژه Ajax با تلفظ <ای‌جکس> یا <ای‌ژاکس> سرنام عبارت Asynchronous JavaScript and XML و به معنی <ترکیب نامتقارن جاوا اسکریپت و>XML است. ماهیت صفحات وب و پروتکل HTTP به گونه‌ای است که به طور معمول وقتی درحال وب‌گردی هستیم، به ازای هر کنش و واکنش میان ما و سایتی که در حال کار با آن هستیم، کل یک صفحه وب از نو بارگذاری و تازه‌سازی (refresh) می‌شود.
ای‌جکس فناوری جدیدی است که تغییر محسوسی را در این سناریو به وجود می‌آورد؛ به این ترتیب که به جای بارگذاری مجدد کل صفحه، فقط قسمتی تغییر می‌کند که قرار است اطلاعات جدید را به نمایش درآورد و کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام می‌شود. در نتیجه هیچ‌گاه صفحه سفید و خالی وب در فواصل کنش و واکنش‌های هنگام کار با مرورگر دیده نمی‌شود و احساسی مشابه تجربه کار با یک نرم‌افزار دسکتاپ به کاربر دست می‌دهد.
جادوی ای‌جاکس چیزی نیست جز یک فکر بکر و آن هم ترکیب کردن جاوا اسکریپت و XML در قالب یک موجود ‌نرم‌افزاری جدید.
اصطلاح Ajax را اولین بار کارشناسی از شرکت Adaptive Path به نام جسی جیمزگرت در مقاله‌ای با عنوان <ای‌جکس؛ رهیافت جدیدی در برنامه‌های تحت وب> مطرح کرد و خیلی سریع مورد استقبال گسترده برنامه نویسان وب در سراسر جهان قرارگرفت. اعتقاد عمومی این است که تاریخچه به‌کارگیری تکنیک مذکور به پیدایش نرم‌افزار Outlook WebAccess و استفاده از فرمان XMLHttpRequest که مایکروسافت ابداع کرده و در نرم‌افزار اینترنت اکسپلور به‌کار رفته است، برمی‌گردد. اما امروزه اغلب مرورگرهای مهم و شناخته‌شده (از جمله فایرفاکس) از آن پشتیبانی می‌کنند و دیگر یک فناوری محدود به اینترنت اکسپلورر نیست.

فناوری ای‌جکس جدید است و شگفت‌انگیز به‌نظر می‌رسد. ولی در حقیقت کل این شعبده بر اساس فناوری‌هایی بنا شده است که هم‌اکنون موجودند: جاوا اسکریپت و XML. هر دوی این فناوری‌ها تا حد زیادی باز هستند و منحصر به شرکت خاصی نیستند. به همین دلیل این روزها تمام محافل دنیای برنامه نویسی مملو از مقالات و تحلیل‌هایی درباره Ajax است. به عنوان نمونه می‌توانید صفحه نخست سایت موسوم به <کانال شبکه برنامه نویسان سان> را بازکنید.

بیشتر این صفحه (در زمان نگارش این یادداشت) به مقالات و مطالب متنوعی درباره Ajax اختصاص یافته است. مجلات برنامه‌نویسی نیز مقالات متعددی در این زمینه منتشر کرده‌اند و سایت‌های معروفی مانند
O' Reilly و xml.com نیز در این باره مطلب دارند.
بنابراین ظرفیت بالایی برای تبدیل ای‌جکس به یک استاندارد جهانی وجود دارد. از این رو قرار است در تاریخ سیزدهم مارس سمینار مهمی در زمینه Ajax برگزار شود. اگر همین الان به سایت ajaxseminar.com مراجعه کنید، متوجه می‌شوید که علاوه بر طراح این تکنیک، چندین برنامه‌نویس شاخص از شرکت‌های بزرگی همچون یاهو در آن شرکت خواهند داشت.
این فناوری از یک جنبه دیگر نیز اهمیت دارد. به‌دلیل عدم نیاز به بارگذاری مجدد کل یک صفحه وب، مقدار داده‌هایی که لازم است برای تکمیل یک Interaction میان کاربر و سایت مبادله شود، به شدت کاهش می‌یابد و این به معنی افزایش محسوس سرعت نرم‌افزارهای تحت وب، سهولت به‌کارگیری اینترفیس‌های مبتنی بر ای‌جکس و کاربرپسندترشدن آن‌ها می‌شود. به همین دلیل این روزها اکثر پورتال‌های بزرگ (مانند یاهو) مشغول طراحی اینترفیس‌های مبتنی بر Ajax هستند.
با این همه مزایای ای‌جکس‌ به همین‌ موارد ختم نمی‌شود. تصور کنید وقتی در طول شبانه روز میلیاردها بار فرآیند بارگذاری مجدد صفحات وب تعاملی در شبکه اینترنت تکرار می‌شود، استفاده از ای‌جکس چگونه موجب آزاد شدن پهنای‌باند اینترنت و در نتیجه میلیاردها دلار صرفه‌جویی اقتصادی در این زمینه می‌شود و این به نوبه خود انقلابی در عرصه وب و فضای سایبر به شمار می‌رود. این تحول در شرایطی اتفاق می‌افتد که همزمان فناوری‌های اینترنت پرسرعت همچون ADSL به شدت در حال رشد هستند.
حال تصور کنید اگر فناوری ای‌جکس در مقیاس گسترده‌ای مورد استفاده نرم‌افزارهای تحت وب قرارگیرد. آنگاه افزایش سرعت کار با اینترنت چند برابر خواهد شد. چنین تحولی می‌تواند اینترنت را به کامپیوتر دوم کاربران تبدیل کند. به گونه‌ای که برای آن‌ها اجرای یک نرم‌افزار از روی وب تفاوت محسوسی با اجرای آن از روی کامپیوتر دسکتاپ نداشته باشد. در این صورت ممکن است واقعا بخش مهمی از توان پردازشی نرم‌افزارها، چه از نوع دسکتاپ و چه از نوع تحت وب به سیستم‌های موسوم به Web Service واگذار شود. از این رو کسانی که مبتکر و مشوق ایده وب سرویس بوده‌اند، این روزها انگیزه تازه‌ای برای سرعت بخشیدن به این فناوری پیدا کرده‌اند و تلاش می‌کنند دو فناوری ای‌جکس و وب سرویس‌ را به‌یکدیگر پیوند دهند و راهکارهای تازه‌ای بیافرینند.
کدام سایت‌ها از ای‌جکس استفاده کرده‌اند؟
دنیای برنامه‌نویسی وب هنوز درگیر هیجانات مربوط به آشنایی با این پدیده است و در حال بررسی مشکلات تکنیکی و هضم و جذب آن در بافت برنامه‌های تحت وب می‌باشد. به همین دلیل میزان استفاده عملی از آن چندان گسترده نیست. اما چون کارایی ای‌جکس دیگر برای همه ثابت شده است، حرکت‌های بزرگی در سراسر اینترنت به سمت استفاده از این فناوری در جریان است. از جمله اینترفیس نسخه دوم Yahoo Mail که به نسخه بتا معروف است و فعلا در دسترس کاربران سرویس غیر رایگان یاهو قراردارد، از همین فناوری استفاده می‌کند که به زودی اینترفیس جدید در دسترس عموم قرار می‌گیرد. سرویس Gmail و Google Map نیز از این فناوری استفاده می‌کنند

zehs_sha
چهارشنبه 24 اسفند 1384, 10:16 صبح
ThinkCAP JX (http://www.shabakeh-mag.com/links.aspx?L=http://www.clearnova.com/) - یک محیط (برنامه نویسی سریع) برای و که از مدل سه لایه‌ی
برای کاستن از میزان کدنویسی جاوا اسکریپت استفاده می‌کند
Echo2 (http://www.shabakeh-mag.com/links.aspx?L=http://www.nextapp.com/products/echo2) - یک کتابخانه ای‌جکسی رایگان برای جاوا
AjaxAnywhere (http://www.shabakeh-mag.com/links.aspx?L=http://ajaxanywhere.sourceforge.net/) - یک پروژه اپن سورس برای ارتقاء نرم‌افزارهای کنونی تحت وب که با نوشته شده باشند
AjaxTags (http://www.shabakeh-mag.com/links.aspx?L=http://ajaxtags.sourceforge.net/) - یک سری]های رایگان که کار با ای‌جکس در این پلاتفرم را آسان می‌کند
Guise (http://www.shabakeh-mag.com/links.aspx?L=http://www.javaguise.com/) - یک فریم ورک برنامه نویسی که تکنیک را بدون نیاز به نوشتن جاوا اسکریپت در امکان پذیر می‌کند
DWR (http://www.shabakeh-mag.com/links.aspx?L=http://www.getahead.ltd.uk/dwr/) - یک کتابخانه مجانی برای جاوا
jWic (http://www.shabakeh-mag.com/links.aspx?L=http://www.jwic.de/) - یک فریم ورک اپن سورس که از برای هماهنگ کردن سمت کلاینت و سمت سرور استفاده می‌کند
ICEfaces (http://www.shabakeh-mag.com/links.aspx?L=http://www.icesoft.com/products/icefaces.html) - یک فریم ورک برای نوشتن برنامه‌های ای‌جکسی

zehs_sha
چهارشنبه 24 اسفند 1384, 10:25 صبح
راهنمای Ajax برای مبتدیان (http://www.shabakeh-mag.com/links.aspx?L=http://www.mousewhisperer.co.uk/ajax_page.html)
چرا اکنون Ajax مهم است؟ (http://www.shabakeh-mag.com/links.aspx?L=http://www.ok-cancel.com/archives/article/2005/09/why-ajax-matters-now.html)
به نرم‌افزار‌های تحت وب حال و هوای تازه‌ای می‌دهد (http://www.shabakeh-mag.com/links.aspx?L=http://beta.news.com.com/Ajax+gives+software+a+fresh+look/2100-1007_3-5886709.html)
راهنمای موزیلا برای شروع کار با Ajax (http://www.shabakeh-mag.com/links.aspx?L=http://developer.mozilla.org/en/docs/AJAX:Getting_Started)
چگونه یک Ajax در ASP.NET بسازیم؟ (http://www.shabakeh-mag.com/links.aspx?L=http://www.developerfusion.co.uk/show/4704/)
روش استفاده از Ajax (http://www.shabakeh-mag.com/links.aspx?L=http://www.sitepoint.com/article/remote-scripting-ajax)
پورتال ای‌جکس کاران (http://www.shabakeh-mag.com/links.aspx?L=http://www.ajaxmatters.com/)
معرفی انواع نرم‌افزارها و پیاده‌سازی‌های Ajax (http://www.shabakeh-mag.com/links.aspx?L=http://www.ajaxreview.com/)
تشکل آنلاین ای‌جکسی‌ه (http://www.shabakeh-mag.com/links.aspx?L=http://www.ajaxian.com/)
اصول و قواعد طراحی با Ajax] (http://www.shabakeh-mag.com/links.aspx?L=http://www.ajaxpatterns.org/)
پادکست یکی از علاقه‌مندان Ajax
مجله Ajax

mahdionline
چهارشنبه 06 اردیبهشت 1385, 18:45 عصر
میهن نیک یک نمونه اجرا شده با آجاکس است. تمام ارتباط های با سرور از طریق آجاکس صورت می گیرد .

zehs_sha
پنج شنبه 06 اردیبهشت 1386, 10:30 صبح
شش ابزار برای توسعه ای‌جکس - ‌بررسی اجمالی ابزارهای اپن سورس AJAX

سته‌های نرم‌افزاری گوگل، مایکروسافت، یاهو، Zimbra، و OpenRico/Prototype Dojo، گوناگونیِ کتابخانه‌های قابل دسترس برای توسعه‌دهندگان ای‌جکس را به نمایش می‌گذارند. اگر می خواهید ای‌جکس (AJAX) را به مجموعه لغات جادویی که توسط وب سایتتان پشتیبانی می‌شوند، اضافه کنید (و چه کسی می تواند در برابر این جذابیت مقاومت کند؟)، مجبور به انتخاب یکی از دو روش هستید: یک بسته نرم افزاری اختصاصی خریداری کنید یا با کتابخانه‌های اپن‌سورس این کار را انجام دهید. در این مقاله چند برنامه اپن‌سورسی مورد بررسی قرار می‌گیرند.
ادامه مطلب :
http://www.shabakeh-mag.com/Articles/Show.aspx?n=1002906

zehs_sha
پنج شنبه 06 اردیبهشت 1386, 10:33 صبح
ابزار برای تولید Ajax
http://www.smartclient.com/product/download.jsp

گوگل ابزار برنامه‌نویسی Ajax معرفی کرد
http://code.google.com/webtoolkit/versions.html