Ajax :روشي نوين در طراحي برنامه هاي كاربردي تحت وب - صفحه 2
Loading
صفحه 2 از 5 نخستنخست 12345 آخرینآخرین
نمایش نتایج: از 11 به 20 از 44

موضوع: Ajax :روشي نوين در طراحي برنامه هاي كاربردي تحت وب

  1. #11
    گروه مديران انجمن ها Array
    تاریخ عضویت
    Thursday 1 January 1970
    نوشته ها
    181
    Thanks
    0
    Thanked 1 Time in 1 Post

    پیش فرض The Ten Best Ajax Links: Tutorials, Examples, and History




    ویرایش توسط dotnetuser : Saturday 25 February 2006 در ساعت 12:41 PM
پاسخ با نقل قول پاسخ با نقل قول

  • #12
    كاربر عادي Array
    تاریخ عضویت
    Wednesday 31 August 2005
    نوشته ها
    81
    Thanks
    0
    Thanked 0 Times in 0 Posts

    پیش فرض

    AJAX for ASP.NET



    .................................................. ............


    AJAX Date Picker for ASP.NET


  • #13
    كاربر عادي Array
    تاریخ عضویت
    Thursday 13 October 2005
    نوشته ها
    233
    Thanks
    3
    Thanked 1 Time in 1 Post

    Post آشنایی با روش ajax و به کارگیری آن در PHP



    امروزه، معمولا وقتی صحبت از طراحی برنامه های تعاملی(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 ، طبیعت start-stop-start-stop برنامه های کاربردی وب را با معرفی یک واسط به نام Ajax engine بین کاربر و سرور، از بین می برد. ممکن است به نظر برسد که افزودن یک لایه جدید به برنامه کاربردی، عکس العمل آن را کند کند اما نتیجه حاصله کاملا برعکس است! به جای load کردن یک صفحه وب در آغاز یک session ، مرورگر کاربر، ajax engine را که توسط JavaScript نوشته شده است load می کند. این engine مسئولیت render کردن واسطی که کاربر می بیند و همچنین ارتباط با سرور از سمت کاربر را بر عهده دارد.این engine سبب می شود که تعامل کاربر با برنامه کاربردی، نا همگام(asynchronously) با ارتباط کاربر با سرور انجام شود. بنابر این ،کاربر هرگز یک صفحه مرورگر خالی یا یک آیکون ساعت شنی برای انتظار نمی بیند و منتظر سرور نمی نشیند!



    به کارگیری روش ajax


    مقدمه: XMLHttpRequest یکی از اشیای محلی(Native Object) جاوااسکریپت است که اجازه درخواست های HTTP را از یک صفحه لود شده به کاربران می دهد.این شیء به کاربران اجازه می دهد که یک سری ریزدرخواست(Microrequests) در پاسخ به رویدادهای کاربر، بدون لود شدن مجدد صفحات ارسال کنند و این امر باعث می شود که یک برنامه تحت وب ، ماهیتی مثل desktop applications پیدا کند. این شیء ، یک جزء استاندارد از Javascript یا DOM محسوب نمی شود و به صورت آزمایشی درInternet Explorer 5.5 ، Mozilla/Firefox، Safari 1.2، و Opera 7 به کار رفته است. W3C در حال تدارک دیدن امکان LOAD وSAVE است که عمیاتی مشابه XMLHTTPRequest انجام می دهند ولی هنوز در هیچ Web browsersای پیاده سازی نشده اند. (نکته: با اینکه نام XML در این شیء به چشم می خورد،هیچ لزومی برای استفاده ازXML وجود ندارد. فقط اگر می خواهید کاملا cross browser عمل کنید، باید در نظر بگیرید که در نسخه فعلی مرورگر وب Safari متعلق به APPLE ،پاسخ SERVER حتما باید به صورت text/xml mimetype باشد!)

    برای استفاده از روش ajax مراحل زیر باید انجام گیرد:


    ساخت یک نمونه از شیء XMLHTTPRequest

    در Internet Explorer به صورت یک کنترل ActiveX
    در سایر مرورگرهای وب به صورت یک شیء نرمال جاوااسکریپت
    مهیا کردن داده ها و ارسال آنها برای پردازش
    ارسال داده ها با متد GET
    ارسال داده ها با متد POST
    دریافت نتایج حاصل از پردازش و نمایش آنها


    در ادامه با نوشتن یک مثال ساده به توضیح هر یک از مراحل فوق می پردازیم:


    فرض کنید که می خواهیم برنامه ای برای ضرب دو عدد بنویسیم. قرار است که ضرب دو عدد در سمت Server و توسط php انجام شود.(ممکنه که این مثال کمی احمقانه به نظر برسه چون خیلی راحت با جاوااسکریپت میشه این کارو انجام داد! ولی هدف ما توی این مقاله استفاده از یک زبان برنامه نویسی سمت server بدون لود شدن مجدد صفحات است و هدف ما به هیچوجه، انجام عمل ضرب نیست!)


    قدم اول ، ساخت یک نمونه از شیء XMLHTTPRequest است. نمونه سازی از این شیء مشابه سایر اشیای جاوااسکریپت می باشد.تنها تفاوت ، مربوط به نمونه سازی درInternet Explorer می باشد،زیرا درIE ،شیء درخواست یک کنترل ActiveX محسوب می شود. برای ساخت این شیء به صورت مستقل از مرورگر، از precompile directives استفاده می کنیم.(این دستورات با /*@cc_on شروع شده و به @end @*/ ختم می شوند.) در اینجا از دستورات try-catch برای کنترل ساخت این شیء استفاده شده است.در هنگام لود صفحه اصلی، یک نمونه از این شیء درست می شود:










    مرحله بعدی کار، مهیا کردن داده ها و ارسال آنها برای پردازش است. فرمی ساده با سه فیلد با نام های مشخصه a,b,c درست می کنیم. رویداد onblur مربوط به فیلد b را با تابع echoResult اداره می کنیم. قصد داریم وقتی کاربر با فشار دادن کلید tab ،تمرکز را از این فیلد گرفت، نتیجه ضرب a در b را در فیلد c نشان دهیم:












    یک صفحه php با نام handleMultiply.php درست می کنیم که پارامترهای a و b را دریافت کرده و حاصلضرب آنها را بر می گرداند:

    اگر از متد GET استفاده کنیم:



    php

    $a=$_GET["a"];
    $b=$_GET["b"];
    $c=$a * $b ;
    echo $c;
    ?>



    اگر از متد POST استفاده کنیم:



    php

    $a=$_POST["a"];

    $b=$_POST["b"];

    $c=$a * $b ;
    echo $c;
    ?>





    حالا باید تابعی بنویسیم که داده های فرم را برای پردازش به صفحه handleMultiply.php ارسال کند:

    اگر از متد GET استفاده کنیم:



    var url = "handleMultiply.php"; // The server-side script


    function makeRequest() {

    var a = document.getElementById("a").value;

    var b = document.getElementById("b").value;

    var str=url + "?a=" + a + "&b=" + b;

    http.open("GET", str, true);

    http.onreadystatechange = handleResponse;

    http.send(null);

    }



    اگر از متد POST استفاده کنیم:



    var url = "handleMultiply.php"; // The server-side script


    function makeRequest() {

    var a = document.getElementById("a").value;

    var b = document.getElementById("b").value;

    var str="a="+a+"&b="+b;

    http.open("POST",url,true);

    http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");

    http.onreadystatechange = handleResponse;

    http.send(str);

    }



    همانطور که در کد بالا مشاهده می کنید، این تابع مقادیر a‌ و b را از فرم دریافت می کند. با استفاده از متد Open مربوط به شیء XMLHTTPRequest ، به برنامه سمت Server که در اینجا hanldeMultiply.php می باشد متصل می شود.وقتی از روش GET استفاده می کنیم در هنگام باز کردن آدرس صفحه سمت سرور، باید مقادیر a و b را هم ضمیمه کنیم.در این صورت پارامتر تابع send مقدار null‌می گیرد. وقتی از روش POST استفاده می کنیم در هنگام باز کردن آدرس صفحه سمت سرور،فقط آدرس صفحه سمت سرور را می نویسیم اما باید مقادیر a و b را بعدا از طریق تابع send ارسال کنیم. فرق دیگری که میان ارسال به روش GET و POST وجود دارد این است که وقتی از متد POST استفاده می کنیم باید قبل از فراخوانی تابع send، header درخواست را تنظیم کنیم. در هر دو حالت خصوصیت onreadystatechange شیء http را برابر تابع handleResponse قرار دادیم.این تابع مسئول دریافت نتایج و نمایش آنهاست که در مرحله بعد آن را می نویسیم:



    function handleResponse() {


    if (http.readyState == 4) {

    result = http.responseText;

    document.getElementById("c").value=result;

    }

    }



    وقتی http.readyState برابر 4 باشد عمل دریافت کامل شده است و حالا می توانیم نتایج را دریافت کرده و نمایش دهیم.

    این تمام کاری بود که باید انجام می دادیم.حالا می توانیم برنامه خود را تست کنیم و یک گام به سمت روش ajax برداریم.نتیجه اجرای این مثال را می توانید در زیر مشاهده کنید:

    اجرای برنامه با روش GET

    اجرای برنامه با روش POST

    دریافت سورس برنامه




    نویسنده : علی خلیلی
    ویرایش توسط alireza ershad : Wednesday 1 March 2006 در ساعت 02:18 PM

  • #14
    كاربر عادي Array
    تاریخ عضویت
    Friday 14 October 2005
    نوشته ها
    22
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Post


    چند وقتی هست که بحث AJAX گل کرده ! چیز خیلی جالبی هست و خودم هم دارم یاد میگیرم البته بعد از خواندن یکسری راهنماهای فارسی و اینگلیسی ! اگر میخواهید برنامه هاتون چیز متفاوتی بشه بهتون پیشنهاد میکنم که این برنامه رو یاد بگیرید چون واقعا بدرد بخوره !

    لینکهای آموزشی :

    مقدمه : http://www.ali1k.com/blog/index.php?ArticleID=59

    بخش اول : http://www.ali1k.com/blog/index.php?ArticleID=60

    بخش دوم : http://www.ali1k.com/blog/index.php?ArticleID=64

    این جمع بندی و یکم بیشتر از لینکهای بالاست : http://www.ali1k.com/ajax/ajax.htm

    نويسنده : http://www.mamalionline.blogfa.com

  • #15
    كاربر عادي Array
    تاریخ عضویت
    Wednesday 19 October 2005
    نوشته ها
    239
    Thanks
    3
    Thanked 0 Times in 0 Posts
    ویرایش توسط majidnaderi : Wednesday 1 March 2006 در ساعت 08:38 PM

  • #16
    گروه مديران انجمن ها Array
    تاریخ عضویت
    Thursday 1 January 1970
    نوشته ها
    181
    Thanks
    0
    Thanked 1 Time in 1 Post

  • #17
    مدیر انجمن Array narsis آواتار ها
    تاریخ عضویت
    Monday 12 December 2005
    نوشته ها
    740
    Thanks
    3
    Thanked 2 Times in 2 Posts
    ویرایش توسط narsis : Monday 6 March 2006 در ساعت 10:42 AM

  • #18
    گروه مديران انجمن ها Array
    تاریخ عضویت
    Thursday 1 January 1970
    نوشته ها
    181
    Thanks
    0
    Thanked 1 Time in 1 Post

    پیش فرض Meebo = Web 2.0 + AIM + ICQ + MSN + Yahoo! Messenger

    دنیای مجازی اینترنت هر چند آرام اما در حال انجام یک تحول اساسی است، تحولی که با نام Web 2.0 خوانده می شود. در صورتی که زمان مجال دهد سعی خواهیم کرد در پستهای بعدی با معرفی سایتهای جدید که به عنوان نخستین نشانه های این تغییر محسوب می شوند، به معرفی Web 2.0 بپردازیم.

    تکنولوژی به سرعت در حال پیشرفت است و ظاهراً Web 2.0 می خواهد هر روز با معرفی یک پروژه ی جدید از آن هم پیشی بگیرد. یکی از پروژه های فوق العاده ای که امروز با آن برخورد کردم سایت جدید Meebo است. هدف پروژه ی Meebo که توسط سه برنامه نویس جوان راه اندازی شده آن است که شما بدون نیاز به نصب هرگونه نرم افزار و از هر مکانی که به اینترنت دسترسی داشته باشید بتوانید به پیغام رسان دلخواه خود وارد شوید و با دوستانتان در یاهو مسنجر، ICQ، MSN، AIM و حتی GTalk به طور همزمان به گفتگوی آنلاین بپردازید.

    این پروژه ی دوست داشتنی، بسیار زیبا و پایه گذاری شده بر اساس AJAX با امکانات بی نظیر خود مرا بسیار هیجان زده کرده است. امکان وارد شدن با اشتراک های گوناگون (Multilogin)، نمایش لیست کاربران آنلاین و آفلاین، دریافت پیغام های آفلاین به محض ورود به سیستم، آگاهگر پیامها و طراحی کاربر پسند همه در این پروژه پیش بینی شده اند.


    تصویر بالا، عکسی از محیط Meebo در حال اجرا را نشان می دهد. در سمت چپ تصویر، یک پنجره ی کوچک آبی رنگ قرار دارد که به نمایش اخبار وبلاگ تیم برنامه نویسان Meebo می پردازد. در وسط تصویر یک پنجره ی گفتگو بین من و یکی از دوستان باز شده است که در حال انجام یک بحث کارشناسانه پیرامون وب 2 هستیم! و در سمت راست لیست تمام کاربران (آنلاین و آفلاین) نشان داده شده است.

    همانگونه که مشاهده می کنید، محیط ظاهری سیستم بسیار شبیه به اصل برنامه آن (در اینجا یاهو مسنجر) است. همچنین محیط ظاهری در نظر گرفته شده در عین سادگی، زیبا می باشد. شما می توانید تمامی پنجره های موجود را تغییر اندازه دهید آنها را بزرگ (Maximize) و یا کوچک (Minimize) کنید. جالب است که بدانید، حتی اگر شخصی در حال نوشتن پیام برای شما باشد و شما متوجه آن نشوید، آیکون وی در لیست کلی شروع به چشمک زدن می کند.

    من برای مدتی بیش از نیم ساعت با تمام بخشهای Meebo کار کردم و در هیچ کدام مشکلی ندیدم. اما تیم برنامه نویسی Meebo را چه کسانی تشکیل می دهند؟ آقای "Seth" مشاور بخش تجاری، خانم "Elaine" برنامه نویس AJAX و آقای "Sandy" آشنا به سرورهای ارتباطی. بله، تنها همین سه نفر. اطلاعات بیشتر در رابطه با آنها را در وبلاگشان می توانید مطالعه کنید.

    مشاهده:
    Meebo
    منبع خبر: WinBeta.Net

  • #19
    كاربر عادي Array VBkar آواتار ها
    تاریخ عضویت
    Tuesday 11 October 2005
    نوشته ها
    1,035
    Thanks
    50
    Thanked 19 Times in 18 Posts
    ویرایش توسط VBkar : Saturday 25 March 2006 در ساعت 02:24 PM

  • #20
    administrator Array terminator آواتار ها
    تاریخ عضویت
    Wednesday 12 January 2005
    نوشته ها
    1,313
    Thanks
    0
    Thanked 1 Time in 1 Post

    پیش فرض

    Professional Ajax -Programmer to Programmer


    http://rapidshare.de/files/16473609/0471777781.zip
    UndeRtakeR



  • صفحه 2 از 5 نخستنخست 12345 آخرینآخرین

    علاقه مندي ها (Bookmarks)

    علاقه مندي ها (Bookmarks)

    مجوز های ارسال و ویرایش

    • شما نمیتوانید موضوع جدیدی ارسال کنید
    • شما امکان ارسال پاسخ را ندارید
    • شما نمیتوانید فایل پیوست کنید.
    • شما نمیتوانید پست های خود را ویرایش کنید
    •