![]() |
|
|
#1 |
|
كاربر عادي
![]() تاریخ عضویت: Tuesday 31 January 2006
نوشته ها: 121
با تشکر: 19 تشکر شده 81 بار 26 پست ![]() |
واژه Ajax سرنام عبارت Asynchronous JavaScript and XML و به معني <جاوا اسكريپت و XML آسنكرون يا نامتقارن> است. ايجكس فناوري جديدي است كه به كمك آن ميتوان اينترفيس يك برنامه تحت وب را طوري ساخت كه وقتي كاربر روي دكمه يا لينكي كليك ميكند، كليه عمليات ارسال اطلاعات و دريافت نتايج در پشت صحنه انجام شود و فقط آن قسمت از اينترفيس كه قرار است اطلاعات جديد را به نمايش درآورد تغيير كند بدون اينكه تمام صفحه از نو بارگذاري شود. در اين مقاله ميخواهيم اين فناوري نوين و تحول آفرين را از جنبههاي مختلف مورد بررسي قرار دهيم و با مباني فني آن آشنا شويم. ![]() كمربندها را ببنديد آيا از دنياي كلاسيك وب خسته شدهايد؟ آيا مايليد با چهره جديد وب آشنا شويد؟ آيا ميخواهيد با جديدترين فناوري دنياي برنامهنويسي وب آشنا شويد؟ براي پرواز آماده باشيد! مقصد ما يكي از استانهاي كشور جديد التاسيس Web 2.0 است. ميخواهيم با هم به دنياي هيجان انگيز Ajax سفر كنيم. در سرزمين ايجكس چهره سايتهاي وب مانند نرمافزارهاي روميزي به نظر ميرسند. اكنون وب خانه دوم اطلاعات ديجيتالي شما است. حالا كه با داشتن يك خط اينترنت پرسرعت ميتوانيد در تمام طول شبانه روز به اينترنت متصل باشيد، وقت آن فرارسيده كه نرمافزارهاي تحت وب نيز متحول شوند و كاركرد و قابليتي مانند نرمافزارهاي روميزي داشته باشند. به اين ترتيب فاصله و تفاوت ميان نرمافزارهاي دسكتاپ و نرمافزارهاي آنلاين ناپديد ميشود. ديگر لازم نيست وقتي روي دكمه submit كليك ميكنيد منتظر بارگذاري مجدد صفحه وب بمانيد. همهچيز فورا و به سرعت اتفاق ميافتد. تصور كنيد به صورت آنلاين در حال خواندن نامههاي الكترونيكي خود در يكي از سايتهاي ياهو يا جيميل هستيد. فورا يادتان ميافتد كه بايد به كسي نامهاي بفرستيد. لازم نيست صفحهاي كه در حال مطالعه آن هستيد را ترك كنيد و يا با استفاده از ترفندهايي مانند رايت كليك و فرمان Open in New window يك پنجره جديد بازكنيد و منتظر بارگذاري مجدد صفحه شويد. شما فقط ميخواهيد يك پنجره جديد باز كنيد كه داخلش نامه خود را تايپ كنيد. چه نيازي به بارگذاري مجدد آنهمه اطلاعات جزئي و جنبي (مانند لوگوي سايت، نام آيدي شما و ...) است كه در اطراف اطلاعات اصلي به نمايش درآمدهاند؟ ايجكس همين كار را براي شما ميكند. وقتي كه نامه خود را ارسال كرديد نيز فقط همان پنجره بسته ميشود و چند بايت براي سايت مقصد ارسال ميشود و اينترفيس صندوق پستي نامههاي شما بدون اينكه تكان بخورد و يا دوباره به نمايش درآيد همچنان پيش چشم شما و منتظر فرمان بعدي است. در دنياي ايجكس دكمههاي Back و Forward مرورگر معني و كاربرد خود را تقريبا از دست ميدهند. همه دكمههاي مورد نياز داخل اينترفيس سايت موجود است. برخلاف جهان Web 1.0، در دنياي ايجكس گشت و گذار در وب لزوما خطي نيست. اگر ميخواهيد از يك فروشگاه الكترونيكي خريد كنيد، ميتوانيد محصول مورد نظرتان را به روش drag&drop داخل سبد بيندازيد و با فشردن دكمه نهايي، خريد خود را ثبت كنيد. پيغام ثبت موفقيت آميز سفارش براي شما نمايش داده ميشود و كار تمام است. لازم نيست از صفحه الف به صفحه ب و سپس از آنجا به صفحه ج برويد. ايجكس چيست؟ اين واژه را اولين بار جسي جيمز گرت (Jesse James Garrett)، برنامهنويسي از شركت Adaptive Path در مقالهاي با عنوان <ايجكس: رهيافت جديدي در برنامههاي تحت وب> بهكار برد. ايجكس سرنام عبارت Asynchronous JavaScript and XML و به معني تركيب نامتقارن جاوا اسكپريپت و XML است. چرا نامتقارن؟ چون تركيب اين دو فناوري به شما كمك ميكند قسمتي از يك صفحه وب را بروز كنيد بدون اينكه لازم باشد <همزمان يا متقارن> با اين عمل، كل آن صفحه از نو بارگذاري شود. اين عمليات توسط شيء و فرماني به نام XMLHttpRequest انجام ميشود كه سالها پيش، هنگام معرفي نسخه 4 مرورگر اينترنت اكسپلورر وارد اين نرمافزار شده و به دليل قابليتهاي جالبي كه دارد، اين روزها تمام مرورگرهاي معروف و قدرتمند وب مانند فايرفاكس و اپرا از آن پشتيباني ميكنند. به كمك اين شيء ميتوانيد برنامههايي به زبان جاوا اسكريپت بنويسيد كه در پشت صحنه يك صفحه وب اطلاعاتي را به سرور بفرستند و دادههايي را دريافت كنند. ايجكس اساسا رهاوردي از دنياي جاوا است و بار ديگر فناوري جاوا و زبان اسكريپتنويسي وابسته به آن را در كانون توجه برنامهنويسان قرار داده است. اما خبر خوب اينست كه چون همه پلتفرمهاي برنامهنويسي وب از قبيلPHP ،ASP.NET و JSP از جاوا اسكريپت و XML پشتيباني ميكنند، فناوري ايجكس در همه اين پلاتفرمها پيادهسازي شده و حتي جالب است بدانيد كه تعداد ماژولهاي ايجكس نوشته شده براي دات نت و PHP بيشتر از انواع جاوايي آن است. مايكروسافت كه سالها پيش از شيء XMLHttpRequest در نرمافزار Outlook Web Access استفاده كرد و جزو اولين ترويجدهندگان اين تكنيك به شمار ميرود اخيرا نرمافزاري به نام Atlas معرفي كرده كه مخصوص برنامهنويسي مبتني بر ايجكس است. اما چون ايجكس بر اساس جاوا كار ميكند بديهي است كه جنبش اپن سورس و خيل عظيم برنامهنويسان جاوا نيز بيكار نمانده و ميكوشند تا دير نشده Ajax را به قلب دنياي نرمافزارهاي آزاد بياورند و از انحصاري شدن آن جلوگيري كنند تا اين فناوري به استاندارد جديد وب تبديل شود. به نظر ميرسد كه آنها موفق بودهاند زيرا حتي پيادهسازيهاي دات نتي ايجكس نيز اغلب به صورت اپن سورس است. مكانيزم Ajax جسي جيمز گرت در مقاله معروف خود شيوه عمل ايجكس را چنين توضيح ميدهد: هر عمل از سوي كاربر كه به طور معمول موجب توليد يك تقاضاي HTTP شود به جاي ارسال مستقيم به وب، موجب فراخواني يك فرمان جاوا اسكريپتي و هدايت آن به موتور ايجكس ميشود. هر نوع پاسخي به كاربر از سوي سرور (مانند كنترل صحت دادههاي وارد شده در يك فرم ورود اطلاعات، ويرايش اطلاعات در حافظه و حتي برخي از انواع هدايت كاربر در سايت) نيازي به ارسال يك صفحه جديد به سمت كاربر ندارد و تنها همان قسمتي كه بايد تغيير كند بروز ميشود. به طور سنتي وقتي كاربر فرمي را پرميكند و به سايت ارسال ميكند، وب سرور با بارگذاري مجدد يا تازهسازي صفحه (refresh) و نمايش يك پيغام و يا نتيجه پردازش اطلاعات، به او پاسخ ميدهد و به همين دليل هم وقت سرور براي ارسال كل محتواي آن صفحه گرفته ميشود و هم كاربر بايد براي دريافت كامل آن صفحه منتظر بماند؛ كه نتيجه آن كاهش بازده سرور، مصرف پهناي باند و تلف شدن وقت و هزينه است. اما بهكارگيري تكنيك ايجكس اين مشكلات را به طرز قابلملاحظهاي كاهش ميدهد. گوگل باز هم پيشتار ![]() همانطور كه جسي جيمز گرت مينويسد، گوگل در ميان سايتهاي اينترنتي از نظر ميزان بهكارگيري فناوري ايجكس پيشتاز است و اين تكنيك را در نرمافزار سايتهاي Orkut ،Gmail ،Google Groups، سيستم Google Suggest و سرويس Google Maps به كار برده است. همچنين به گفته گرت بسياري از قابليتهاي دوست داشتني Flickr، سايت به اشتراكگذاري عكس ياهو، و نيز موتور جستجوي A9 در سايت آمازون بر اساس ايجكس كار ميكنند. گرت مينويسد: اگر موتور ايجكس براي پاسخ دادن به كاربر نيازمند گرفتن اطلاعاتي از سمت سرور است، اگر قرار است دادهها براي پردازش به سرور ارسال شوند، اگر لازم است كدهاي اضافي براي نمايش تغييرات اينترفيس بارگذاري شوند، اگر نياز به بازيابي و بيرون كشيدن اطلاعات از بانك اطلاعاتي باشد، همه اين كارها بهطور آسنكرون و با استفاده از XML، بدون اينكه وقفهاي در تماس ميان كاربر و اينترفيس نرمافزار بهوجود آيد توسط موتور ايجكس انجام خواهد شد. شكل 1 شكل 2 شكلهاي 1 و 2 تصاويري هستند كه گرت در مقاله خود استفاده كرده است. شكل 1 مقايسهاي است كه نشان ميدهد كه برنامههاي تحت وب سنتي چگونه كنشهاي كاربر را مديريت ميكنند و ايجكس چگونه همين عمليات را كنترل ميكند. شكل 2 مقايسه ديگري است كه نشان ميدهد اگر تعامل كاربر با يك سايت را در محور زمان ترسيم كنيم، چه تفاوتي ميان فرآيند ارسال و دريافت دادهها در نرمافزارهاي سنتي و نرمافزارهاي مبتني بر فناوري ايجكس وجود دارد. اگر به نمودار شكل 2 دقت كنيد متوجه ميشويد كه هنگامي كه اينترفيس يك برنامه وب از ايجكس استفاده ميكند، تماس ميان كاربر و اينترفيس هرگز قطع نميشود. او همواره نرمافزار را در دسترس و پيش روي خود ميبيند و موتور ايجكس در پشت صحنه عمليات ارسال و دريافت دادهها را مديريت ميكند. مزايا و معايب Ajax طي سالهاي اخير صنعت نرمافزار در عرصه وب به سوي توليد سيستمهايي حركت كردهاست كه هرچه بيشتر مستقل از نوع سيستمعامل و مرورگري باشد كه كاربر استفاده ميكند. نگاهي به سير تحولات مربوط به زبانهاي برنامهنويسي وب مانند PHP و ASP از يكسو و كاهش اقبال برنامهنويسان به فناوريهايي همچون ActiveX و Java Applet در سمت كلاينت از سوي ديگر، مويد اين نكته است. در واقع يكي از دلايل مهم توجه دنياي نرمافزار به فناوري ايجكس همين است. اين دستاورد برخلاف فناوريهايي مانند Macromedia Flash نيازمند نصب هيچ نرمافزار الحاقي و اضافي روي مرورگر نيست و همين حالا بستر لازم براي پيادهسازي ايجكس روي ميليونها سايت و مرورگر وب وجود دارد. در اين ميان، اتكاي ايجكس بر فناوري XMLاز اهميت ويژهاي برخوردار است. زيرا XML ماهيتا يك فناوري باز است كه انعطافپذيري زيادي دارد و هماكنون در مقياس گستردهاي در نرمافزارهاي تحت وب، از سيستمهاي تجارتالكترونيك گرفته تا نرمافزارهاي مديريت محتواي سايتهاي وب و فناوريهايي همچون وبسرويس، RSS و حتي پادكستينگ مورد استفاده قرار ميگيرد. ظهور ايجكس نشان ميدهد كه فناوري XML هنوز قابليتهاي كشفنشدهاي دارد كه همچنان بكر ماندهاند و ميتوانند منشا تحولات بزرگ در سيستمهاي اطلاعاتي و ارتباطي باشند. طعم كد Ajax چگونه است؟ ورود به مباحث كدنويسي ايجكس مقوله پيچيده و مفصلي است كه در اين مقاله نميگنجد، ولي خالي از لطف نيست كه كمي با شكل و قيافه كدهاي ايجكس آشنا شويد. كد زير نمونهاي از اعلان شي ءXMLHttpRequest را نشان ميدهد: كد1 ![]() كد 2 نمونهاي از اعلان شيء XMLHttpRequest را در مرورگرهاي مايكروسافتي نشان ميدهد: كد 2 ![]() كد 3 نمونهاي از كدنويسي جاوا اسكريپت را نشان ميدهد. در ايجكس به وفور از متدولوژي DOM در جاوا اسكريپت و DHTML استفاده ميكنيم: كد 3 ![]() كد 4 نيز نمونهاي از روش ارسال يك تقاضا به وسيله Ajax را نشان ميدهد: كد 4 ![]() اين تقاضا ميتواند مثلا از قسمتي از يك صفحه وب به صورت كد 5 باشد: كد 5 ![]() نهايتا پاسخ دريافت شده از سمت سرور را نيز ميتوان به وسيله كدي شبيه به كد 6 مورد استفاده قرار داد: كد 6 ![]() در همين ارتباط، رويكرد ايجكس به سمت فناوري وبسرويس قابل توجه است. از آنجا كه Ajax تا حد زيادي به معماري XMLHttpRequest وابسته است، اين قابليت را دارد كه فرامين ارسال و دريافت اطلاعات را نه فقط از طريق سايت اصلي نمايش دهنده يك صفحه وب، بلكه از طريق سايتهاي ديگري كه احتمالا اطلاعات خود را بر بستر وب سرويس و XML قرار دادهاند نيز دريافت كند. بنابراين ايجكس بالقوه يك فناوري سازگار با وب سرويس نيز هستد. مزيت مهم ديگر Ajax بهرهگيري آن از استاندارد CSS است. استانداردي كه به تنهايي منشا تحولات ديگري در زمينه اينترفيس نرمافزارهاي وب است و در آينده بسيار نزديك به وجه غالب صفحهآرايي و اينترفيس سايتهاي وب تبديل خواهد شد. توجه ايجكس به CSS شان ميدهد كه اين فناوري همزمان با بهكارگيري جاوا اسكريپت و XML براي مديريت دادهها، از استاندارد پيشرفتهاي براي اينترفيس وب استفاده ميكند و ميتوان حقيقتا آن را يك فناوري مرتبط با اينترفيس ( و نه فقط تعامل ميان كلاينت و سرور) تلقي كرد. با اين وجود، ايجكس معايبي نيز دارد و اين معايب موضوع بحث بسياري در محافل برنامهنويسي روي اينترنت است. يكي از مسائلي كه به عنوان ايراد مطرح شده، دشواري تغيير عادت كاربران در استفاده از كليدهاي Back وForward و Refresh در مرورگرهاي وب است. يكي از مشكلات برنامهنويسان وب همواره اين است كه يا بايد كاربر را عادت دهند كه هرچه كمتر از اين دكمهها استفاده كند و يا نرمافزار خود را طوري بنويسند كه اگر كاربر سهوا يا عمدا از اين دكمهها استفاده كرد، نرمافزار دچار اشتباه و خطا در تفسير عمل كاربر نشود. به عنوان مثال هنوز بسياري از سايتهاي تجارت الكترونيكي كه به كار فروش محصولات مشغولند هنگام طي شدن مراحل نهايي خريد آنلاين به كاربر هشدار ميدهند كه حين پردازش يك سفارش (يعني درست در لحظهاي كه فرمان نهايي از سوي كاربر ارسال شده است و هنوز صفحه نمايش پيغام ثبت موفقيتآميز سفارش يا عدم ثبت آن براي وي نمايش داده نشده) از فشردن كليد Refresh جدا پرهيز كنند وگرنه ممكن است از كارت اعتبار آنها دوبار پول كسر شود. همچنين استفاده از دكمههاي Back و Forward در عملياتي كه به آساني برگشتپذير نيستند ممكن است باعث گيج شدن كاربر است. مثلا اگر نامههاي داخل صندوق پستي خود را پاك كنيد، استفاده از دكمه Back هرگز اين عمل را Undo نميكند. همچنين اگر يك قلم كالا به سبد خريد آنلاين خود اضافه كنيد، فشردن دكمهBack ممكن است در ظاهر چنين نشان دهد كه آن قلم كالا مجددا از سبد برداشته شده اما در سمت سرور همچنان در سبد خريد كاربر باشد. از آنجا كه فناوري ايجكس عمل Navigation يا راهبري در يك سايت را به روندي غيرخطي تبديل ميكند، تمام اين مشكلات به شكل حادتري ممكن است بروز كند. در واقع با حضور Ajax، كاركرد سيستم History مرورگر به مسالهاي بغرنج تبديل ميشود. زيرا برنامهنويس يا بايد با گنجاندن دكمهها و فرامين اضافي، مكانيزم Undo را بازسازي كند و يا موتور ايجكس را طوري بنويسد كه فشردن دكمه Back خود به خود موجب احظار فرمان Undo شود. در هر دو صورت كار برنامهنويس آسان نخواهد بود. البته در اين زمينه ترفندها و تكنيكهايي هم ابداع شده است. از جمله، استفاده از تگ IFRAME مخفي در اينترفيس صفحه كه موتور ايجكس بتواند در صورت فشرده شدن دكمهBack از سوي كاربر، نسخههاي پيشين نمايش داده شده از اينترفيس را از انباره History مرورگر بيرون بكشد و دوباره در چرخه عمليات موتور ايجكس وارد كند. اين ترفند هماكنون در سرويس Google Maps استفاده ميشود. مشكل ديگري كه در رابطه با ايجكس وجود دارد، بي معني شدن مفهوم Bookmark است. بازهم مكانيزم غيرخطي ايجكس مشكل ساز ميشود. آيا شما ميتوانيد در نرمافزارهاي معمولي دسكتاپ يك لحظه مشخص را Bookmark كنيد و دوباره به آن برگرديد؟ بعضي از نرمافزارها مانند فتوشاپ (سيستم Action history) اينكار را انجام ميدهند، ولي اغلب نرمافزارها چنين نيستند. در واقع به سختي ميتوان از لحظات مختلف يك نرمافزار عكس گرفت و snapshot تهيه كرد. اينكار به يك انباره پيچيده نياز دارد كه هم حالتهاي مختلف اينترفيس و هم وضعيتهاي متفاوت دادهها را قبل و پس از تغييرات در خود نگه دارد. البته درمورد Ajax راهكارهايي در اين زمينه پيشنهاد شده است. از جمله استفاده از anchor در HTML كه پس از علامت َ در يك URL ظاهر ميشود. از آنجايي كه جاوا اسكريپت امكان به روزرساني دايناميك آنكورها را دارد، بعضي برنامهنويسان پيشنهاد كردهاند كه از اين ترفند براي نگهداري حالات مختلف يك برنامه مبتني بر ايجكس استفاده شود. تكنيكي كه ممكن است در زمينه حل مشكل دكمههاي Back و Forward نيز سودمند واقع شود. يك مشكل عمده ديگر نيز در ارتباط با ايجكس وجود دارد. اين فناوري به شدت متكي به XMLHttpRequest است و اين شيء به دلايل امنيتي طي ماههاي اخير هرچه بيشتر و بيشتر در نسخههاي جديد مرورگرها محدود شده است. زيرا اگر هر كلاينتي بتواند از هر نقطهاي به هر سروري اين فرمان را بفرستد، آنگاه تهديدهاي امنيتي عليه سايتها افزايش مييابد. محدوديتهاي جديد اعمالشده در نسخههاي اخير مرورگرها موجب شده كه فرمانXMLHttpRequest بهغير از سايتي كه صفحه وب از آنجا آمده است نتواند با سايت ديگري ديالوگ داشته باشد و اين مسئله در تناقض با كاربرد ايجكس در زمينه وبسرويس است. البته براي غلبه بر اين مشكل راهحلهايي هم پيشنهاد شده است، از جمله اينكه شي ءXMLHttpRequest ميتواند تقاضاي ديالوگ با سايتهاي ديگر را به يك وب سرويس روي سايتي كه صفحه وب از آنجا آمده است بفرستد و اين وبسرويس (كه روي ميزبان سايت قرار دارد و با تمام اينترنت در ارتباط است) به صورت يك واسطه عمل كند و تقاضاهاي مورد نظر را براي سايت مقصد ارسال كند. اين وب سرويسهاي واسطه اصطلاحا Application Proxy ناميده ميشوند. البته ايجكس مشكلات كوچك و جنبي ديگري هم دارد كه چندان مايه نگراني نيست ولي به هرحال قابل لمس هستند. به عنوان نمونه، نرمافزارهاي مبتني بر ايجكس از حجم زيادي جاوا اسكريپت استفاده ميكنند كه همه اينها در هر session دستكم يكبار بايد روي مرورگر بارگذاري شوند. بنابراين اولين باري كه چنين اينترفيسي بارگذاري ميشود صفحه وب آنقدر سنگين ميشود كه حتي با ارتباط باندپهن هم چند لحظه طول ميكشد كه صفحه بارگذاري شود. در چنين شرايطي نوشتن يك موتور ايجكس هوشمند كه با كمتر ميزان كد بتواند بهترين كاركرد را داشته باشد، خود به يك چالش برنامهنويسي تبديل ميشود؛ ضمن اينكه كاربران وب در كشورهايي كه سرعت دسترسي به اينترنت در آنها به طور معمول زياد نيست بايد هنگام بارگذاري صفحات وب اينچنيني صبر پيشه كنند و برنامهنويسان نيز مراقب باشند تا در صورتي كه به دليل كندي خط يا قطع شدنها لحظهاي آن، كدهاي جاوا اسكريپت به طور كامل روي مرورگر بارگذاري نشد، نرمافزار دچار خطا و اشتباه نشود و بتواند اين مشكلات را از طريق بارگذاري مجدد و هوشمندانه كد جاوا اسكريپت روي كلاينت، مديريت كند. جنبش Open Ajax هم از راه رسيد در كنار همه تحولاتي كه به دنبال ظهور پديده ايجكس در صنعت نرمافزار پديد آمده است، يك خبر مهم نيز قابل توجه است. شركت IBM كه خود از پيشگامان فناوري XML است، در ابتداي ماه فوريه 2006 اعلام كرد يك ائتلاف بزرگ صنعتي متشكل از شركتهاي بورلند، BEA Systems ،Zend، ناول، ياهو، موزيلا، ردهت، اوراكل و بنياد اكليپس ايجاد كرده است كه در نظر دارد براي توسعه يك پيادهسازي فراگير و اپن سورس از ايجكس تلاش كند. پيش بيني ميشود كه اين پيادهسازي به يكي از استانداردهاي اصلي ايجكس در صنعت نرمافزار تبديل شود. آيبيام در نظر دارد مجموعه Toolkit پيشنهادي خود را از طريق بنيادهاي موزيلا و اكليپس در دسترس جامعه اپن سورس قراردهد. در همين رابطه شركت Zimbra، يك سازنده نرمافزارهاي مبتني بر ايجكس درنظردارد مجموعه Toolkit خود را تحت ليسانس موزيلا و Apache در اختيار برنامهنويسان قرار دهد. در عين حال وقتي حجم جاوا اسكريپت بارگذاري شده روي كلاينت افزايش مييابد سرعت پردازش كامپيوتري كه كاربر استفاده ميكند نيز به يك مسئله تبديل ميشود. به بيان ديگر، ايجكس شديدا منابع و resource هاي سيستم را بهكارميگيرد، چنانكه به جرات ميتوان گفت نرمافزارهاي مبتنيبر Ajax براي كاربراني كه از كامپيوترهاي ضعيف و قديمي استفاده ميكنند قابل استفاده نيست. اگر فرض را بر اين بگذاريم كه اين يك مشكل عمومي است و نه مختص وب، يعني كامپيوترهاي قديمي از اجراي نسخه جديد نرمافزارهاي مخصوص دسكتاپ نيز ناتوانند تا چه برسد به وب، آنگاه اين مشكل چندان اهميتي ندارد زيرا به مرور زمان، با جايگزين شدن سيستمهاي جديد، مسئله حل خواهد شد. در چنين شرايطي ممكن است كندي بارگذاري و اجراي كدهاي جاوا اسكريپت در نرمافزارهاي مبتني بر ايجكس عملا مزيت كاهش زمان انتظار براي بارگذاري مجدد صفحه را خنثي كند و نقض غرض شود. خوشبختانه مرتبا پردازنده هاي سريعتري وارد بازار ميشوند و ميتوان اميدوار بود كه اين مشكل قبل از آنكه جدي شود، ناپديد شود. پياده سازي Ajax يكي ديگر از مشكلاتي كه در ارتباط با ايجكس به نظر ميرسد اينست كه كار زيادي از برنامهنويس ميطلبد و در حال حاضر اجراي موفقيتآميز يك اينترفيس حرفهاي مبتني بر ايجكس كاري بسيار دشوار و وقتگير است. يعنيAjax به همان اندازه كه كار بازديدكنندهها را آسان ميكند، كار برنامهنويسان را مشكل ميكند! با اين حال ايجكس روي پلتفرمهاي مختلف پيادهسازي شده و مجموعه ابزارهاي مختلفي براي تسهيل كار برنامهنويسان عرضه شده است تا تجربه شيرينتري از Ajax داشته باشند. برنامهنويسان ASP.NET در صورتي كه از نسخه دات نت 1.1 استفاده ميكنند ميتوان از ماژولAjax.NET استفاده كنند كه اولين پيادهسازي داتنتي ايجكس و رايگان است. مايكروسافت در ASP.NET 2.0 اين فناوري را با نام Atlas وارد پلتفرم كرده است كه علاقهمندان ميتوانند يكراست سراغ آن بروند. براي پلتفرم جاوا نيز چندين پيادهسازي مختلف، اغلب اپن سورس، وجود دارد. از جمله AjaxAnywhere و AjaxTagsرا ببينيد. همچنين چندين پيادهسازي مخصوصPHP ميتوانيد پيدا كنيد. ماژولهاي CPAINT و xajax از آن جملهاند. ماژول CPAINT براي ASP نيز قابل استفاده است. چند ماژول ديگر هم مانند GeneXus وجود دارند كه مالتي پلتفرم هستند. براي هريك از پلتفرمهاي Perl ،ColdFusion و Python نيز دستكم يك پيادهسازي معروف وجود دارد. فهرست كامل همه اين پيادهسازيها را به همراه آدرس سايت و لينك دانلود آنها را ميتوانيد در ضميمه آنلاين همين مقاله كه همزمان با انتشار اين شماره در بخش دانلود سايت ماهنامه شبكه قرار ميگيرد، پيدا كنيد. بهروز نوعيپور ماهنامه شبکه - شماره 62 |
|
|
|
| 6 کاربر برای پست مفید sharafi تشکر کرده اند |
Behnama (Sunday 19 August 2007),
e-shahshahani (Friday 28 March 2008),
i.lover3000 (Tuesday 19 February 2008),
komeilsh (Monday 14 December 2009),
s_sajjad_JAVA (Tuesday 1 September 2009),
xhosseinakbarix (Thursday 16 April 2009)
|
| ....... | |
|
|
#2 |
|
كاربر عادي
![]() تاریخ عضویت: Tuesday 31 January 2006
نوشته ها: 121
با تشکر: 19 تشکر شده 81 بار 26 پست ![]() |
Ajax :روشي نوين در طراحي برنامه هاي كاربردي تحت وب
تکنولوژی Ajax با نام Atlas وارد ASP.NET 2.0 شد New Ebook : Foundations of Ajax برنامه های وب مبتنی بر سرويس گيرنده : AJAX و Atlas Ajax چيست؟ AJAX and PHP: Building Responsive Web Applications ابزارهاي برنامه نويسي AJAX Free Ajax Books پديده انقلابي Ajax AjaxAC يك فريم ورك php باز متن براي Ajax Ebook : Professional AJAX ![]() |
|
|
|
|
|
#3 |
|
سردبير بخش اخبار و تازه هاي كامپيوتر
![]() تاریخ عضویت: Thursday 1 January 1970
نوشته ها: 2,189
با تشکر: 175 تشکر شده 1,967 بار 518 پست ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
چگونگی بهتر شدن مرور در اینترنت توسط Ajax
![]() |
|
|
|
|
|
#4 |
|
كاربر عادي
![]() تاریخ عضویت: Tuesday 9 May 2006
نوشته ها: 111
با تشکر: 17 تشکر شده 54 بار 30 پست ![]() |
راه اندازی اولين سايت تخصصی اجکس در ايران - سايت اجکس ايران با آدرس http://www.ajaxiran.com راه اندازی شد . این سایت با هدف بوجود آوردن يک انجمن جهت ترویج و آموزش اجکس در ايران راه اندازی شده است . بخش های اصلی که در نسخه اولیه سایت وجود دارد شامل:
|
|
|
|
| این کاربران orasle برای پست مفیدتان از شما تشکر کرده اند |
s_sajjad_JAVA (Wednesday 6 August 2008)
|
|
|
#5 |
|
كاربر عادي
![]() تاریخ عضویت: Wednesday 19 October 2005
نوشته ها: 214
با تشکر: 17 تشکر شده 181 بار 49 پست ![]() |
Ajax.NET Professional Microsoft.NET Framework 2.0 and 1.1 Below you will find some example web pages that are using Ajax.NET to get rid of the postback in typical ASP.NET applications:
|
|
|
|
| این کاربران majidnaderi برای پست مفیدتان از شما تشکر کرده اند |
s_sajjad_JAVA (Sunday 23 August 2009)
|
|
|
#6 |
|
كاربر عادي
![]() تاریخ عضویت: Thursday 1 January 1970
نوشته ها: 28
با تشکر: 26 تشکر شده 11 بار 8 پست ![]() |
شرکت ادوبي اولين راهکار خود در زمينه برنامهنويسي و طراحي وب بر اساس تکنيک ايجکس را معرفي کرد. سرويس خبر شبکه آنلاين – شرکت ادوبي روز چهارشنبه اولين چارچوب نرمافزاري خود در زمينه ايجکس را معرفي کرد. برنامهنويسان و طراحان وب ميتوانند به کمک اين راهکار نرمافزاري که Spry framework for Ajax نام دارد با کمترين ميزان کد نويسي به خلق صفحاتي بر اساس تکنيک ايجکس بپردازند. به گفته ادوبي اين فريم ورک که هماکنون نسخه پيشنمايش آن در دسترس علاقهمندان قرار گرفته است، بيشتر به قابليتهاي HTML تکيه دارد تا کاربراني که دانش اوليه در زمينه صفحات وب، جاوا اسکريپت و CSS دارند نيز بتوانند با آن کار کنند. تاکنون دهها ابزار و راهکار برنامهنويسي و طراحي صفحات وب بر اساس تکنيک ايجکس به بازار آمده است. |
|
|
|
|
|
#7 |
|
سردبير بخش اخبار و تازه هاي كامپيوتر
![]() تاریخ عضویت: Thursday 1 January 1970
نوشته ها: 2,189
با تشکر: 175 تشکر شده 1,967 بار 518 پست ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
نگاهی به محصولاتی ازDojo , Zimbra ، یاهو ، گوگل و مایکرو سافت در زمینه آجاکس
اگر شما هم میخواهید که آژاکس (آجاکس) را به مجموعه جادویی وب بیافزایید و در سایت خود از آن استفاده کنید ، آنگاه دو گزینه کلی را پیش رو دارید: نخست : خرید یک بسته آماده نرم افزاری دوم: آزمودن یک کتابخانه کد باز یا Open source سایت Info World تعدادی از بهترین و برجسته ترین مجموعه های نرم افزاری آجاکس را پوشش میداد و اکنون نیز توجه خود را به رقابت های کد باز (اوپن سورس) معطوف کرده است. آیا این موضوع (جنبش اوپن سورس) برای سازمانها و توسعه دهندگان یک مزیت محسوب می شود ؟ در این مقاله به بررسی شش تا از مهمترین بسته های نرم افزاری مربوط به آجاکس می پردازیم... مجموعه ای از کتابخانه های اوپن سورس را ،که من بررسی نمودم ، محدوده وسیعی از امکاناتی را که فن آوری آجاکس میتواند ارایه دهد را در بر می گیرد. اما آجاکس چیست ؟ آژاکس (آجاکس AJAX) سرنام عبارت Asynchronous JavaScript and XML یا XML و جاوا اسکریپت (Java Script) غیر همزمان میباشد. که سرو کله آن در دنیای وب و اینترنت حدود یک سال است که پیدا شده. این اندیشه که جاوا اسکریپت را همراه یا بدون XML بکار برد تا قابلیت هایی همچون هوشمندی و تعاملی (Interactive) بودن با به صفحه وب افزود به روزهای نخست تولد وب (WEB) باز میگردد. اما اکنون آژاکس یا معادل مایکروسافتی آن Atlas ، بهترین شیوه برای آن است تا برنامه های تحت وب سمت کاربر(Client side) را با کمترین دردسر تولید کنیم. اگر شما هم به این همه امکانات چه از نوع اوپن سورس آن و چه بسته های تجاری آماده ، علاقه مند هستید در پاسخ باید بگوییم که در بعضی موارد و نه همیشه این بسته های اوپن سورس پاسخگوی شما خواهند بود. برخی از شناخته شده ترین و خوشنام ترین بسته های نرم افزاری آجاکس همچون : Backbase, JackBe, General Interface و Tibco's امکانات عالی برنامه نویسی را در کنار محیط توسعه پیشرفته در اختیار شما می نهند. ماژول های خبره برای رویدادها و دیباگر های (debug) حرفه ای نیز، بخشی از این امکانات هستند که با کمک آنها شما میتوانید برنامه های کاملی را برای اجرا در محیط محدود و بسته مرور گر اینترنت خلق کنید. برنامه هایی در حد و اندازه نرم افزارهای کامپایل شده تحت ویندوز (Native code) . البته امکانات هیچ یک از مجموعه های اوپن سورس که من بررسی نمودم در قد و قواره بسته های تجاری نبودند اما این بدان معنا نیست که نکات ارزشمند و توانایی های برجسته ای در این مجموعه ها وجود نداشته باشد. == انتخاب از میان شش گزینه اپن سورس == شاید گذر از نیم دو جین ابزار برتر معرفی شده در دنیای آجاکس با هزاران قابلیت برجسته و چشمگیر که توسط معتبر ترین شرکتهای دنیای فن آوری اطلاعات همچون یاهو ، گوگل و مایکروسافت صورت پذیرفته است کار ساده ای نباشد. البته اطلس مایکروسافت یک پروژه با کدهای باز (اوپن سورس) نیست و در مجوز استفاده از آن محدویتهایی لحاظ شده است اما کدهایی که توسط آن تولید میکنید متعلق به خودتان است و میتوانید مطابق با میل خودتان برای آن مجوز استفاده طراحی و صادر نمایید. لذا شما قادر خواهید بود تا نرمافزارهای اطلس مایکروسافت را نیز با وجود چند محدودیت کاربردی تولید و استفاده نمایید. هر شش مجموعه ابزاری را که من مورد بررسی قرار دادم ، شماری از معمول ترین و پرکاربردترین اجزای مربوط به رابط کاربر (User interface) و سرویسهای پس زمینه ای آن را به خوبی ارایه میکنند تا شخص برنامه نویس وب ، بتواند به سادگی هر چه تمام ، نرم افزارهای مبتنی بر چارچوب (فریم ورک) آجاکس را ایجاد نماید. این برای برنامه نویس ها بسیار جالب و خوشایند است که بتواند برنامه هایی را توسعه دهد که تنها نیاز به افزودن یک بخش کوچک یا بروزرسانی یک صفحه را دارند و نه کل پروژه. اگر شما می خواهید که یک کنسول (پنجره) متحرک و یا یک جدول فعال (متصل به پایگاه داده) داشته باشید ؛ آجاکس گزینه مطلوب است. مثلا این قابلیت که شما جدول یا پانل نامبرده را کپی کنید و در جای دیگری بچسبانید. (Copy/Paste) این مثالها نمونه هایی هستند از قابلیتهای اساسی آجاکس در یک صفحه وب. خیلی اوقات نیاز است که شما برنامه هایی را توسعه دهید که با چارچوب تعریف شده اندکی متفاوت هستند. به نظر می رسد دلیل عمده توجه برنامه نویسان و توسعه دهندگان به مقوله اوپن سورس نیز همین مساله باشد. کدهای قابل ویرایش در مجموعه های اوپن سورس همواره توجه حرفه ای ها را برای ساده سازی - بهینه سازی و ارتقای کیفی آنها جلب می کنند. برای نمونه با کمک برخی از این ابزارها من تنها در عرض چند دقیقه توانستم یک جدول دینامیک (پویا) از داده ها را با قابلیت مرتب سازی در سمت کاربر(کلاینت) ایجاد کنم ! اگر به امکانات موجود در نرم افزار بسنده کنیم مشکلی بوجود نمی آید اما هنگامی که میخواهیم کد ها را دستکاری کنیم و یا کاری را به گونه ای متفاوت انجام دهیم، امکان به هم ریختن و از کار افتادن برنامه وجود دارد و در این وضعیت راهنما و مستندات برنامه نیز دردی را دوا نخواهند کرد. این چهره خشن اوپن سورس ها این هشدار را به توسعه دهندگان و برنامه سازان میدهد که پیش از بهرهبرداری از برنامه های اوپن سورس بایستی ملاحظات مربوط به محیط مورد استفاده کاربر را در نظر بگیرند. به بیان دیگر اگر شما وقت و توان کافی دارید و یا برنامه نویس تفننی هستید استفاده از امکانات اوپن سورسها همچون انعطاف پذیری و آزادی عمل یک انتخاب فوق العاده خواهد بود. اما اگر تازه کارید و یا توان رویارویی با پیچیدگی های کدهای آزاد را در مجموعه های اوپن سورس ندارید و یا از نظر زمان اجرای پروژه هایتان محدودیت دارید ، پیشنهاد می شود با ملاحظات مربوط به هزینه و کارآیی ، هم گزینههای رایگان (اوپن سورس) و همچنین محصولات تجاری و حرفه ای را همزمان مد نظر قرار دهید. اکنون به مقایسه شش محصول کد باز (اوپن سورس) برای آجاکس می پردازیم. شش محصول اوپن سورس برای آجاکس 1- Dojo اگر یک بسته نرم افزاری قرار باشد در این زمینه رهبری کند آن dojo خواهد بود. این بسته اگر چه در همه زمینهها بهترین نیست ، اما امکانات وسیع و بدرد بخوری آنهم به صورت قابل خصوصی سازی (Customize) را در خود دارد. این پروژه توسط یک گروه برنامه نویس بسیار علاقه مند توسعه یافته و مدیریت آن تیم نهایت کوشش خود را برای همکاری بکار گرفته است. هدف از آن نیز سادگی و روشن بودن روش کار و تکنیک های مورد استفاده بوده است. دوجو (dojo) ، یک بسته ویرایشی عالی است. همراه با پنجره های متحرک و امکاناتی برای کشیدن و رها کردن اجزا بوسیله موس (Drag & Drop). از نسخه 0.3.1 به بعد نیز امکاناتی در زمینه ساخت نقشه سایت برای گوگل و یاهو تدارک دیده شده است. دوجو (اطلاعات بیشتر در زمینه نقشه سایت را میتوانید اینجا ببینیدhttp://seo.knowledge.ir/news.aspx?s=1 )به اعتقاد من دوجو نقطه ضعفهایی هم دارد. برخی از قسمتها خیلی خوب مستند سازی شده اند و همراه با عکسهای واضح و توضیحات مفید هستند. اما برخی از قسمتها نیز به خوبی مستند سازی نشده اند و مصرف کننده تنها می ماند. راهنمای آن به طور کلی خوب است و مانند یک کتاب مفصل همه چیز را توضیح داده است. افزودن بخشهایی از امکانات دوجو به سایت بسیار ساده است. کدهای برنامه به صورت ماژولی نوشته شده اند و تنها کافی است بدانید که کدام قسمت را بارگزاری کنید. این کار (آپلود کردن ماژول مورد نظر) توسط مکانیزم تعبیع شده در خود نرم افزار دوجو نیز مقدور است.در بسیاری از موارد تنها چیزی که باید اضافه نمایید یک ویژگی اضافه بر سازمان (property) و اشیا دوجو به HTML صفحه تان است. هنگام بار شدن صفحه کد برنامه خودش بقیه کارها را انجام میدهد. دوجو همچنان به نوآوری ها و افزودن نکات جذاب برای برنامه نویس ادامه میدهد. این مساله در کنار تلاش مدیران حرفه ای این مجموعه آینده امید بخشی را پیش رو قرار می دهد. 2- Zimbara Kabuki AJAX Toolkit از زمانی که زیمبارا به عنوان یک ابزار جامع برای پست الکترونیک و تقویم معرفی گردید بسیاری از حرفه ای ها آنرا به عنوان ابزار خود در دنیای آجاکس برگزیدند. تمامی بخشهای زیمبارا برای پدید آوردن یک احساس سرزندگی و تحرک طراحی شده اند. اگر چه تمامی بخشها و کدهای این مجموعه تنها با مجوز و پروانه (license) شرکت قابل توزیع و بهره برداری است اما زیمبارا مجموعه هایی جدا گانه با نام کابوکی (Kabuki) منتشر کرده است که مجوز لیسانس آنها هم متعلق به آپاچی و هم موزیلا است. ![]() زیمبارا این مجموعه (Zimbara) حاوی امکانات گسترده ای است اما نه همه آنچه که در بسته های بزرگتر (Package) یافت می شوند. این به معنای آن نیست که زیمبارا کوچک شده است بلکه کابوکی نیز مجموعه ای عالی است.یک ساختار درختی زیبا چیزی است که ظاهر سایت شما را حرفه ای می کند و این چیزی است که کابوکی به شما می دهد. زیمبارا فاقد انیمیشن ها و زرق و برق های محصولاتی همچون یاهو و دوجو است. اجزا بسیار ساده ولی کاربردی هستند و خبری از جلوه های شکلاتی و چشمنوازی که برخی مردم از جاوا اسکریپت توقع دارند نیست. البته شما میتوانید برخی از این کمبود ها را به کمک CSS و طراحی خوب از بین ببرید. بهر حال شاید زیمبارا برای تمرین و یا ساختن قسمتهایی که از دید کاربر پنهان است مفید باشد. مثلا کنترل پنل سایت و یا بخش مخصوص مدیریت آن.3- Google Web Toolkit نوبتی هم باشد نوبت گوگل است. بی شک گوگل جوانترین غول دنیای فن آوری اطلاعات است. بسته نرم افزاری گوگل برای آجاکس در میان همه رقبا تک است. درحالی که همه رقبا در مجموعه آجاکس از جاوا اسکریپت استفاده کرده اند تا با کدهای جاوا اسکریپت خود شما (برنامه نویس) یکپارچه و هماهنگ باشد ، گوگل از جاوا (Java) برای توسعه استفاده کرده است و سپس نتیجه را به جاوا اسکریپت بازگردانده است ! وقتی شما کدهایتان را با بسته گوگل می نویسید از جاوا استفاده می کنید و سپس نتیجه را به صورت ترجمه شده به جاوا اسکریپت مشاهده خواهید کرد. این موضوع شگفت آور نیست زیرا جاوا اسکریپت بسیار به خلف خود جاوا نزدیک است. درک چگونگی تبدیل کدهای جاوا به جاوا اسکریپت چندان موضوع بغرنج و پیچیده ای نیست. ![]() گوگل بهر حال این تبدیل یا ترجمه برای برنامه تویسان جاوا هم جذاب و هم نگران کننده است. این پرسش که کدهای جاوا اسکریپت گاهگاهی متفاوت از جاوا عمل می کنند مرا نیز آزرده و سردرگم ساخت. گوگل در این زمینه دیدگاه محدودی را به کار بسته و تنها امکانات استانداردی را در آن گنجانده است ولی فاقد تواناییهای چشمگیری برای خلق جلوه های متحرک (انیمیشن) می باشد. اما نکته مثبت اینجاست. استفاده از بسته گوگل به طرز هیجان آوری ساده است. روشکار این بسته بسیار نزدیک به AWT (Abstract Window Toolkit) و یا نسخه ساده تری از Swing است. این بسته دقیقا برای این هدف طراحی شده است که یک برنامه (اپلیکیشن Application) تمام عیار را در مرور گر اینترنت اجرا نماید نه اینکه تنها کمی وب را جمع و جور کند.4- Rico یکی از برجسته ترین مجموعه های آجاکس که تماما کد باز است بسته ریکو می باشد. که از چند مجموعه پروژه مرتبط به همراه Open Rico ساخته شده است. همانطور که دوجو یک پروژه واحد و یکپارچه بود این یکی از چندین پروژه کوچکتر ساخته شده که همگی از نظر تکنیکی (روش کار) مستقل از هم هستند. هرکسی ممکن است حدس بزند که این یک نقطه ضعف و یا یک سیاست دقیق بوده است اما نتیجه آن است که این مجموعه به همان اندازه دیگران جذاب و گیراست. ریکو و نسخه پیش نمایش (prototype) تاکید زیادی بر انیمیشن و جلوه های بصری داشته اند تا نکات عملگرایانه و کاربردی. ![]() ریکو برای نمونه هیچ امکانی برای ساختار درختی و گردآوری اطلاعات از فرمهای وب در این بسته پیش بینی نشده است که جای تعجب دارد. اما مجموعه امکانات انیمیشن و افکتهای پویانمایی آن جدا دلربا و منحصر به فرد است. نسخه اولیه شامل امکانات پایه ای و ابزارهای اساسی (سطح پایین) مورد نیاز برنامه نویسان است. توابع آن بسیار ساده و نک حرفی هستند تا سرعت بارگزاری (Load) شدن صفحه هر چه بیشتر گردد. البته چنین به نظر می رسد که این موضوع باعث تند نویسی در برنامه نیز شود. ممکن است شما بخواهید کد ها را بازنویسی کنید و یا به گونه ای توسعه دهید که خواناتر و ساده تر باشند. اگر چه این موضوع باعث طولانی تر شدن کار گردد.نهایتا اینکه ریکو یک مجموعه از ابزارهای همومی آجاکس است که بروی یک نسخه اولیه بنا شده است. شما الزامی ندارید که حتما از پروتوتایپ (نسخه اولیه) در کنار ریکو استفاده کنید ولی استفاده توام از آنها باعث سادگی هرچه بیشتر کار توسعه وب خواهد بود. بویژه من قسمت Live Grid ریکو را خیلی پسندیدم که در واقع یک مجموعه از رولها یی است که جدولهای معمولی HTML را بهبود می دهد و مثلا هنگامی که شما صفحه را بالا و پایین می کنید اطلاعات سطرهای جدول را در پس زمینه نگاه میدارد و جلوه زیبایی ایجاد می کند و همچنین باعث سادگی نمایش حجم زیاد اطلاعات در جدولهای کوچک می گردد بدون اینکه کاربر را مجبور کند برای هر سری اطلاعات ، صفحات را پشت سر هم بارگزاری نماید. من گاهی با خود فکرمی کنم کع ریکو نسخه ساده شده ای از دوجو است همراه با امکانات کشیدن و رها ساختن (Drag and Drop) و پویانمایی. 5- Microsoft Atlas اما اطلس مایکروسافت. میگویند نرم افزارهای جهان به دو دسته تقسیم می شوند. نرم افزارهای مایکروسافتی و نرم افزارهای غیر مایکروسافتی ! این حرف به خصوص زمانی که وارد دنیای جاوا اسکریپت و آجاکس می شویم درست از آب در میاید. مایکروسافت با تدارک برخی قابلیت های بسیار حرفه ای آجاکس و جنبه های نوآورانه آن تحت نام اطلس (Atlas) کمک شایانی به رواج و جا افتادن تکنولوژی آجاکس نموده است. ممکن است کتابخانه اطلس مایکروسافت رایگان باشد ، اما تهیه این بسته نرم افزاری برای کسانی که از ویژوال استودیو دات نت استفاده نمی کنند آسان نیست. ![]() مایکرو سافت اطلس مایکروسافت علاقه مند است که شما قبل از آغاز به کار با اطلس نخست نرم افزارهای توسعه وب مربوطه را از سایت آن شرکت دانلود نمایید. این نرم افزارها کارهای بسیار زیادی را برای شما انجام میدهند اما چند صد مگابایت نیز حجم دارند! من آنها را دانلود نکرده ام و به خصوص کتابخانه غنی .js که بدون امکانات نامبرده اصلا قابل استفاده نیست. خود کتابخانه ها کمتر دردسر ساز هستند. آنها امکاناتی را پدید می آورند که توسط مرورگرهای دیگر همچون موزیلا نیز پشتیبانی میشوند که خود این موضوع گاه باعث شگفتی منتقدان مایکروسافت می شود. البته این تعهد چندان هم بی چون وچرا نیست. من چندین بار با عبارت زیر روبرو شده ام:“Due to a known issue with Atlas on Safari” این وضعیت برای کاربرانSafari و فایرفاکس مشابه است. 6- و سرانجام یاهو Yahoo! یاهو ریش سفید سایت های اینترنت است. وکتابخانه آجاکس یاهو تنها یک مجموعه ثابت و خشک از توابع نیست بلکه نمونه بسیار خوبی از یک نرم افزار اوپن سورس است. کلاسها و کتابخانه ها در یک فایل فشرده شده .Zip قرار دارند و با مثالها و کدهای فراوان مجهز شده اند. برخی از توابع آجاکس یاهو توسط 6 تا 10 مثال و صفحه های نمونه به خوبی توضیح داده شده اند. رویکرد یاهو در زمینه آجاکس متفاوت از دیگران بوده است زیرا نیت یاهو از تهیه این پکیج آجاکس شکستن و آزاد سازی قیمت کد ها بوده است. تاکتیک مورد استفاده بسیار مهمتر از آن چیزی است که در نگاه نخست به نظر می رسد زیرا هنوز کاربران معمولی نیاز به آموزش زیادی دارند تا بدانند که آجاکس و برنامه های آن چگونه رفتار می کنند. ![]() یاهو آجاکس توسعه دهندگان این بسته در یاهو تلاش کرده اند تا یک بسته با ثبات و سازگار با همه محیط ها را تهیه کنند. این مجموعه به خوبی نیز مستند سازی شده است. به طور کلی میتوان گفت مجموعه یاهو غنی است. مکانات خوبی برای انیمیشن و جمع آوری اطلاعات از روی وب فرم ها (فرمهای داده در صفحه وب) دارد. همچنین قسمت مدیریت تماس با سرور یا (Connection Manager) به طور خودکار داده هایی را که باید ارسال یا شوند را مدیریت مینماید هم با متد Post و هم Get. و این نقطه قوت خوبی است.چکیده و نگاهی به آینده آنگونه که از این بررسی نتیجه شد به نظر میرسد باید شاهد تفاوتهای بیشتری در آینده میان بسته هایی باشیم که توسط یک شرکت خاص خمایت می شوند و بسته هایی که عمومی ترند. همچنین انتظار میرود که گوگل ، یاهو و مایکروسافت رقابت شانه به شانه خود را برای تسلط و کنترل بر این بازار ادامه دهند. اگر چه این موضوع همواره به نفع مصرف کنندگان خواهد بود و به خصوص به نفع کسانی که نیاز به مستندات و راهنمایی دارند تا با آجاکس آشنا شوند. بسته های یاهو بر اساس مدل تجاری یاهو طرحریزی شده اند و از نقشه سایت (Site map) یاهو پشتیبانی می کنند در حالی که بسته دوجو عمومی تر است و هم از نقشه سایت یاهو و هم گوگل پشتیبانی می کند. نویسنده: July 31, 2006 / By Peter Wayner ترجمه و ویرایش: سعید پوردلیر منبع : http://www.ajaxiran.com |
|
|
|
|
|
#8 |
|
مدیر انجمن
![]() تاریخ عضویت: Monday 12 December 2005
نوشته ها: 663
با تشکر: 110 تشکر شده 384 بار 137 پست ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
اين مقاله صفحه وبي را كه با تكنيكهاي غير AJAXاي نوشته شده است، با استفاده از Atlas كه پيادهسازي AJAX توسط مايكروسافت ميباشد، بهبود ميدهد. سپس دو تكنيك پيادهسازي براي كاهش ترافيك سرويسدهنده وب تشريح ميشود كه راحتي كاربري را در صفحات وب ارتقا ميبخشد.
در اين مقاله تلاش خواهيم كرد كه با استفاده از دو تكنیك برنامهنويسي كاهش ترافیك وب سايت را كاهش دهيم و كاربری و پاسخگويي صفحه وب را ارتقا بخشيم. اولین روش از تگهای UpdatePanel استفاده میكند كه باعث میشوند ناحیهای كه در صفحه وب بازسازی میشود به نواحی كوچكتری محدود گردد. دومین روش از كدهای جاوااسكریپت كه توسط تكنیكهای Atlas پیادهسازی میشوند استفاده میكند و باعث میشود كه صفحه وب با زدن هر كلید در فیلد متن بههنگام و لیستی از كاربران بر اساس حروف تایپشده در این فیلد متن نشان داده شود. بعد از خواندن این مقاله طراحان قادر به پیادهسازی AJAX (در واقع Atlas مایكروسافت) در برنامههایشان خواهند بود. |
|
|
|
|
|
#9 | |
|
مدیر انجمن ها
![]() تاریخ عضویت: Friday 20 January 2006
نوشته ها: 1,446
با تشکر: 256 تشکر شده 767 بار 404 پست ![]() |
نقل قول:
Developer Center > مباحث مربوط به محصولات جديد مايكروسافت > MicroSoft Visual Studio 2005 > ASP.NET 2 ![]() تکنولوژی Ajax با نام Atlas وارد ASP.NET 2.0 شد http://www.developercenter.ir/Forum/...read.php?t=263 |
|
|
|
|
|
|
#10 |
|
سردبير بخش اخبار و تازه هاي كامپيوتر
![]() تاریخ عضویت: Thursday 1 January 1970
نوشته ها: 2,189
با تشکر: 175 تشکر شده 1,967 بار 518 پست ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
بستههاي نرمافزاري گوگل، مايكروسافت، ياهو، Zimbra، و OpenRico/Prototype Dojo، گوناگونيِ كتابخانههاي قابل دسترس براي توسعهدهندگان ايجكس را به نمايش ميگذارند. اگر مي خواهيد ايجكس (AJAX) را به مجموعه لغات جادويي كه توسط وب سايتتان پشتيباني ميشوند، اضافه كنيد (و چه كسي مي تواند در برابر اين جذابيت مقاومت كند؟)، مجبور به انتخاب يكي از دو روش هستيد: يك بسته نرم افزاري اختصاصي خريداري كنيد يا با كتابخانههاي اپنسورس اين كار را انجام دهيد. در اين مقاله چند برنامه اپنسورسي مورد بررسي قرار ميگيرند. تعداد بسيار زيادي از بسته ابزارهاي اپنسورسي كه من بررسي كردم، با ايجكس (Asynchronous JavaScript and :XML) كه بيشتر از يكسال از پيدايش آن نمي گذرد، كار ميكنند. ايده استفاده از جاوااسكريپت همراه با يا بدونXML براي افزايش هوشمندي و كارايي صفحه وب به اولين روزهاي پيدايش وب برميگردد و ايجكس هم اكنون يكي از بهترين روشها براي توزيع برنامههاي كاربردي كلاينت با كمترين دردسر مي باشد. اگر علاقمنديد بدانيد كه آيا اين بستههاي نرمافزاري اپن سورس با بهترين ابزارهاي تجاري رقابت مي كنند يا نه، آسانترين پاسخ اين است كه بگوييم در كليات نه، ولي گاهي در جزئيات خاص، بله. بهترين برنامههاي كاربردي اختصاصي شناختهشده مانند: Backbase ،JackBe، و Tibco's General Interface، همگي محيطهاي پيشرفته را همراه با بسته ابزارهاي جامع، eventهاي سطح بالاو debuggerها، ارائه ميكنند. با آنها، ميتوانيد برنامههاي كاربردياي را كه در محيط محدودي از يك مرورگر وب اجرا ميشوند، اما تقريباً همه فيچرهاي كد محلي را ارائه ميكنند، بنويسيد. هيچكدام از بستههاي نرمافزاري اپنسورسي كه من بررسي كردهام، به لحاظ تعداد و وسعت، به پاي بستههاي نرمافزاري تجاري، نميرسند. اما اين به اين معني نيست كه موارد ارزشمندي در پروژههاي اپن سورس ايجكس وجود ندارد، بلكه همين حالا هم علاقه زيادي به اين محيط وجود دارد. شش انتخاب پس از بررسي بيش از دوازده بسته نرمافزاري خوب و هزارها راهحل جامع و كامل، بسته ابزارهاي قدرتمندي را كه توسط شركتهاي معتبر پشتيباني ميشوند انتخاب كردم كه عبارتند از: DOJO ،Google Web Toolkit ،Microsoft Atlas ،Open Rico and Prototype ،Yahoo AJAX Library و Zimbra's Kabuki AJAX Toolkit ممكن است كهMicrosoft Atlas اپنسورس نباشد (به مجوز نياز داشته باشد)، اما كدي كه شما با سيستم ايجاد ميكنيد بسته به نوعي كه خودتان تمايل داريد، مجوز ميگيرد و قادر خواهيد بود كه برنامههاي كاربردي Atlas را با محدوديتهاي كاربردي اندك، ايجاد كنيد. شش برنامه كاربردي كه مورد بررسي قرار گرفتند، همگي داراي تعداد زيادي ابزارهاي بسيار سودمند، جهت توليد واسط كاربر و background ميباشند كه مراحل ساخت يك برنامه كاربردي ايجكس را آسان ميكنند. توسعهدهندگان وب، استفاده از برنامههاي كاربردي را هنگامي كه تنها ميخواهند قسمت كوچكي را به وبشان اضافه يا صفحهاي را بروزرساني كنند، ترجيح ميدهند. چنانچه براي مثال، ميخواهيد يك پانل متحرك يا يك جدول پويا را اضافه كنيد، معمولاً ميتوانيد آنها را Copy و Paste كنيد. اين مثالها عموماً با روش گفتهشده قابل انجام هستند. با اين حال اگر بخواهيد كاري را انجام دهيد كه با چارچوب اوليه متفاوت باشد،لازم است تغييراتي را در كد اعمال نماييد. اين موردي آشنا براي برنامهنويساني است كه از برنامههاي اپنسورس استفاده ميكنند: اغلب كد كاملاً خوب است، اما به نظر ميرسد كه توسعهدهندهها ترجيح ميدهند كد موجود را كنار گذاشته و از ابتدا كدنويسي كنند تا اينكه مهندسي مجدد انجام دهند؛ حتي اگر اين كار راحتتر باشد. به عنوان نمونه، با برخي از اين ابزارها، تنها چند دقيقه از وقت من صرف اضافه كردن يك جدول از دادهها كه ميتواند روي كلاينت ذخيره شده باشد، ميشود. اما اگربخواهم بيدرنگ چيزي را بسازم يا كار متفاوتي انجام دهم، كد شكسته شده و مستندات هم كمك نخواهد كرد. اين بههمريختگي بدين معني است كه هر تيم توسعهدهنده، قبل از به كارگيري ابزارهاي ايجكس، بايد در مورد محيطي كه ميخواهد كار كند، به خوبي فكر كند. اگر برنامهنويساني داريد كه توانايي، زمان و انعطافپذيري استفاده از كدهاي اپنسورس را دارند، اين ابزارها، فوقالعادهاند. اگر شما يك برنامهنويس جديد يا كسي هستيد كه وقت كافي براي درگير شدن در يك پروژه را نداريد، بايد مجدداً هزينهها را برآورد كرده و به بستههاي نرمافزاري حرفهاي بيشتر توجه كنيد. DOJOاگر يك پروژه اپن سورس ايجكس وجود داشته باشد كه پيشتاز باشد، حتما ًDOJO است. لزوما ًDOJO در هر ويژگي از بقيه بهتر نيست، اما هم به لحاظ وسعت و هم عمق، همراه با مجموعه بزرگي از اجزاي قابلتغيير، بر ديگران برتري دارد. شايد همين ويژگي سبب شده است كه اخيراً شركتهاي آيبيام و سان، پشتيباني DOJO را بپذيرند. پروژه وبسايت و كدنويسي آن كه از امكانات اپن سورس استفاده ميكند و توسط يك تيم توسعهدهنده مشتاق و بيطرف، اجرا شد به طور بيسابقهاي مورد توجه قرار گرفت. مديريت و هدف اين پروژه، به طور مشخص، تشويق هرچه بيشتر به فلسفه اصلي DOJO، يعني شفافيت و سهولت، بود. DOJO يك بسته ويرايشي عالي دارد، مجموعه جامعي از تصاوير متحرك، برخي ابزارهاي drag and drop و خيلي چيزهاي ديگر. ابزاري براي توليد نقشهها از گوگل و ياهو نيز، در نسخه اخيرآن يعني 1.3.0 ايجاد شده است. احساس ميكنم DOJO نيز كمي با مشكلات كيفي معمول در پروژههاي اپن سورس، درگير است. برخي از قسمتهاي كتابخانه به خوبي مستندسازي شده است و از طريق مجموعه خوبي از صفحات دمو، نشان داده ميشود. قسمتهاي ديگر مستندسازي كمتري داشته و مستندسازي به عهده خود توسعهدهندگان، واگذار ميشود كه چنانچه تمايل داشته باشند، خود راهنمايي براي شرح پروژه، ايجاد كنند. اضافهكردن بسته ابزار DOJO به برنامه كاربردي وب شما، خيلي ساده است. منبع كد به صورت ماجولار است. بنابراين برنامه كاربردي شما تنها بايد قسمتهايي را كه از مكانيزم لود DOJO استفاده مي كنند، لود كند. در بيشتر موارد تنها چيزي كه بايد اضافه كنيد، يك خصوصيت اضافي، از نوع DOJO، براي كار HTML شما ميباشد. سپس كد، كار خود را زماني كه صفحه لود ميشود، انجام ميدهد. DOJO به پيشرفت خود ادامه ميدهد تا توسعهدهندگان بيشتر با ايدهها و كدهاي بيشتر را از ساير پروژهها جذب نمايد. رهبرانDOJO براي حفظ اين همكاري خوب كار ميكنند و دلايل بسياري وجود دارد كه آنها مهارت خود را درآينده نيز بيشتر كنند. Zimbra Kabuki AJAX Toolkit ![]() هنگامي كه Zimbra به عنوان يك راهحل كامل براي پستالكترونيكي و مديريت تقويم كاري در يك شركت، پديدار شد، خيليها تحتتأثير استفاده پيشرفته ايجكس در تمامي سطوح قرار گرفتند. با اينكه مجموعهاي از ابزارها تحت مجوز يك انجمن، در دسترس است، Zimbra بسته ابزار ايجكس را در بسته نرمافزاري جداگانهاي به نام Kabuki كه تحت مجوز، Apache يا Mozilla بود، قرار داد. اين بسته ابزار حاوي برخي ابزارها و اجزا كاربردي است و تمامي قسمتهايي كه در بستههاي بزرگتر ديده ميشد را در برنميگيرد. اين بدان معني نيست كه Zimbra بسته ابزار كوچكي است. Kabuki ويرايشگر بسيار قوي، بسته ساختاردرختي، و مكانيزم طرح بندي كه براي ساخت واسط كاربرهاي پيچيده قابل استفاده ميباشد را دارد. سيستم Zimbra مانند بستههاي ايجكس DOJO يا Yahoo، دموهاي واضح و پيشرفته ندارد. اجزا كاملاً كاربردي و البته ابتدايي هستند. هيچ اثري از تصاوير متحركي كه برخي مردم انتظار ديدن آن را زماني كه از جاوااسكريپت استفاده ميكنند تا يك واسط كاربر را اجرا كنند، نيست. ميتوانيد برخي از اين موارد را با style sheetهاي صحيح و طراحي خوب، اصلاح نماييد، اما بايد برنامهنويسي اضافه انجام دهيد. اگر ميخواهيد اين كار انجام شود، مكانيزم Zimbra Ajax ابزارهاي كاربردي بسياري دارد. Google Web Toolkitعجيبترين ابزار در اين دسته، شايد گوگل باشد؛ چرا كه بقيه ابزارها، با جاوااسكريپت نوشته شدهاند و به كد جاوااسكريپت خودشان، ترجمه شده و كامپايل ميشوند، اما بسته ابزار وب گوگل، با جاوا نوشته شده و به جاوااسكريپت ترجمه ميشود. زماني كه كد خود را مينويسيد، جاوا مينويسيد و ميبينيد كه به جاوااسكريپت ترجمه شده است. اين موضوع به عجيبيِ چيزي كه به نظر ميآيد نيست؛ چرا كه جاوااسكريپت حداقل به لحاظ قواعد نحوي ظاهري، تا حدي شبيه به جاوا است. اينكه برخي اطلاعات با كد جاوا وارد شوند و با چيزي شبيه به جاوااسكريپت، خاتمه يابند، مسئله پيچيدهاي نيست. كامپايل يك راه حل جذاب است و چيزي است كه برنامهنويسان جاوا هم آن را دوست دارند و هم در اين مورد نگران هستند. خود من نيز گاهي در مواردي كه جاوااسكريپت كمي متفاوت از جاوا رفتار ميكند، سردرگم ميشوم. در كل استفاده از سيستم گوگل را به طور شگفتآوري، آسان يافتم. كار با اين سيستم شبيه به كار با Abstract Windows Toolkit) AWT)، يا نسخه سادهتر Swing است. بسته نرمافزاري به گونهاي طراحي شده است كه ميتوان يك برنامه كاربردي كامل را داخل مرورگر اجرا كرد؛ نه اينكه فقط به محتويات صفحات چيزي را اضافه نمود. Open Rico and Prototypeيكي از برجستهترين پروژههاي كاملاً اپنسورس ايجكس از به هم پيوستن مجموعهاي از پروژههاي مجزا، شاملRico و Prototype ساخته شده است. مانند Dojo كه يك پروژه بزرگ منفرد است كه به صورت يك پروژه يكپارچه ميباشد، اين دو و برخي پروژههاي كوچكتر ديگر نيز همگي از لحاظ فني، مستقل ميباشند. براي هر كسي اين فكر پيش ميآيد كه آيا پروژههاي مستقل خوب هستند يا نه، اما از نتايج به دست آمده مشخص شده است كه اين كتابخانه مجزا نيز كاركردي همانند بقيه كتابخانهها را دارد. Rico و Prototype، بيشتر روي افكتهاي تصاوير متحرك، تأكيد داشته است و كمتر به ابزارهاي عملي ميپردازد. به عنوان مثال، فاقد ساختار درختي يا تأكيدي براي جمعآوري دادهها از يك فرم ميباشد، اما افكتهاي تصاوير متحرك و ابزارهاي قدرتمند ديگري نظير مجموعهاي از پانلهاي آكاردئوني، وجود دارند. كتابخانه Prototype مجموعهاي ابتدايي از ابزارهاي سطح پايين جهت برنامهنويسان است. اين مجموعه داراي تابعهاي واضح و ساده است تا سرعت دانلود را افزايش دهد. بيشتر توابع مشترك، خلاصهنويسي شدهاند و اگر بخواهيد از تابعي براي كد خودتان استفاده كنيد، صرفنظر از اينكه از مكانيزم ديگري استفاده ميكنيد، اين كار يعني خلاصهنويسي انجام مي شود؛ چرا كه يكي از اصول اين كتابخانه، خلاصهنويسي براي دستيابي به كدنويسي منعطفتر و آسانتر مي باشد. Rico مجموعهاي از برخي ابزارهاي عمومي و تصاوير متحرك ايجكس است كه در بالاترين قسمت Prototype ساخته ميشود. نيازي نيست كه Rico را با Prototype استفاده كنيد، اما اگر اين كار صورت گيرد، ساخت برنامههاي كاربردي ايجكس آسانتر ميشود و تمامي امكاناتي كه آنها ارائه ميكنند، از اين طريق قابل دستيابي است. من خودم به طور خاص،LiveGrid متعلق بهRico را خيلي دوست دارم، مجموعهاي از روتينها كه از طريق الحاق دادهها به پسزمينه زماني كه بين رديفهاي جدول اسكرول ميكنيد، يك جدول HTML را بالا ميبرد. بنابراين نمايش حجم زيادي از دادهها در يك مجموعه كوچك از رديفها بدون اينكه كاربر را مجبور به لود صفحهاي بعد از صفحه ديگر كند، آسان ميگردد. من Rico را نسخه كوچكتر و آسانتر Dojo كه اجزايي بهتر از آن مانند پشتيباني ازDrag&Drop دارد، ميدانم. Microsoft Atlasدنياي نرمافزار اغلب به دو بخش تقسيم ميشود: مايكروسافت و بقيه. اين گروهبندي زماني كه به جاوااسكريپت و ايجكس فكر ميكنيم، تقريباً كامل و دقيق به نظر ميرسد. مايكروسافت از طريق برخي امكانات پيچيده و كامل ايجكس، فضاي قابلقبولي را به وجود آورده است و اين كار را با پديد آوردن Atlas، گسترش داده است. ممكن است كتابخانه Microsoft Atlas، رايگان باشد، اما دستيابي به آن براي كساني كه از بسته نرمافزاري Visual Studio مايكروسافت استفاده نميكنند، آسان نيست. مايكروسافت خيلي خوشحالتر خواهد بود كه شما صدها مگابايت از ابزارهاي توسعه را قبل از نصب كتابخانههايAtlas JavaScript، كه كارهاي بسياري را انجام ميدهند، دانلود كنيد. واقعاً نمي توانيد بدون اينكه از برخي موانع عبور كنيد، به كتابخانههاي JS دسترسي پيدا كنيد. مثلاً من با مكينتاش خودم نتوانستم اين كار را انجام دهم. كتابخانهها هم به تنهايي، متقاضيان كمي دارند. آنها مرورگرهاي خوبي را كه كاربران فايرفاكس و Safari را پشتيباني ميكنند، ارائه ميدهند، چيزهايي كه شايد كاربران متنفر از مايكروسافت را متعجب ميكند، اما محدوديتهايي در اين الزامات وجود دارد: من اين جمله را بارها در مستندات ديدم <براي اجراي Atlas روي Safari، مبلغ ... را پرداخت كنيد.> و همينطور جملات مشابهي براي كاربران فايرفاكس. اجزاي مجموعه Atlas، حداقل در مقايسه با بقيه موارد ارائه شده، كمي پراكنده ميباشد. مثلاً اديتورهاي زيادي وجود ندارد. همچنين ابزارهاي تصاوير متحرك نيز اندك هستند. بيشتر كارها به جاي اينكه ايجكس را با سرور درگير كند، سرويسهاي وب داتنت را به كار ميگيرد. كه در اين حالت، مستندات و نمونهها، بسيار خوب ميباشند. مكانيزمهاي زيادي براي گرفتن اطلاعات از بانكهاي اطلاعاتي و فرمت آنها در كلاينت، وجود دارند. بيشتر آنها به شدت متكي به #C روي سرور هستند و تمام آنها به خوبي با جاوااسكريپت روي كلاينت در تعامل ميباشند. كدها به وضوح در پلتفرم دات نت، بسط داده ميشوند و تنها ابزاري براي يكي كردن اجزا در كلاينت، نيستند. اگر به سرمايهگذاري در داتنت خيلي علاقمند هستيد و ميخواهيد زيربناي سرويسهاي وب سيستمتان را با اين پلتفرم داشته باشيد، Atlas روش خوبي براي زندگي بخشيدن به صفحات وبتان از طريق استفاده از سرويسهاي موجود در آن ميباشد. كتابخانه Yahoo AJAX كتابخانه ايجكس ياهو، نه تنها يك مجموعه نيرومند از توابع است، بلكه نمونه خوبي از نحوه انتشار نرمافزارهاي اپن سورس ميباشد. كدي كه براي اضافهكردن گروهي از موارد به برنامه كاربردي تحت وب شما ميباشد، به صورت فايلي زيپ شده بوده و ياهو نمونههاي بسيار زياد و طرح پيشنهادي را در اختيار ميگذارد. براي بيشتر روتينها شش تا ده مثال همراه با نمونه كدها و صفحات نمايشي وجود دارد. اين مورد به طور مشخص از ديگر بستههاي نرمافزاري، متفاوت است؛ زيرا ياهو ميخواهد فلسفه طراحي را همراه با انتقال كدهاي آن قرار دهد. اين شيوه بسيار مهمتر از چيزي است كه به نظر ميرسد؛ زيرا عموم كاربران هنوز نيازمند آموزشهاي گستردهاي در مورد نحوه رفتار برنامههاي كاربردي ايجكس ميباشند. طراحان ياهو ميخواهند رفتاري منعطف و ثابت را براي اجزاي ايجكس و مستندات بسيار جامعي كه كاربران را تشويق به استفاده از ايجكس ميكند، در كتابخانه خود جا دهند. مجموعه امكانات در كتابخانه ياهو قوي است، اما نه به بزرگي كتابخانه DOJO. كتابخانه ياهو داراي ابزارهاي استاندارد بسيار مانند كتابخانه تصاوير متحرك و مجموعه ساختارهاي درختي ميباشد، اما ابزارهاي قابلتوجهي مانند اديتور يا جدول پوياي موجود در ياهو را ندارد. اما ياهو برخي موارد جالب توجه هم دارد. به عنوان نمونه، كتابخانه تصاوير متحرك، با برخي ابزارهاي استاندارد در تعامل است؛ ابزارهايي نظير اسكرولكننده متن كه به شما اجازه ميدهد رفتار برخي از قسمتهاي HTML را خودكار كنيد. يا اينكه مدير ارتباط به طور خودكار دادههاي به دست آمده از يك فرم را تركيب كرده و به فرمت صحيح قابل استفاده جهت برنامه كاربردي GET يا Post، تبديل ميكند. بهرغم كمبود اديتور، اين تعامل كتابخانه ياهو، احساس منعطفتري را در مقايسه با آشفتگي و به هم ريختگيOpen Rico و Zimbra، به وجود ميآورد. هنگامي كه با بسته ابزار ياهو كدها را بررسي ميكنيد، به اين نتيجه ميرسيد كه اين شركت زمان بيشتري را صرف بهينهكردن توابع و توسعه كتابخانهها كرده است. شروعي در آينده فكر ميكنم با توجه به چيزهايي كه بستههاي نرمافزاري اپنسورس ايجكس عرضه كردهاند، شاهد تفاوتهاي بيشتري بين بستههاي نرمافزاري كه مستقيماً به يك شركت منسوب هستند و بستههايي كه تنها محدود به يك شركت ويژه نميباشند، خواهيم بود. پيشبيني ميكنم كه گوگل، مايكروسافت و ياهو، كنترلهاي بيشتري را اعمال خواهند كرد و راهنماهاي تدوين شده پروژههاي ايجكس خود، در مقايسه با ساير بستههاي نرمافزاريشان، بهتر خواهد بود. اين كنترلها به كساني كه خواهان شفافيت بيشتر و مستندات بهتر ميباشند، كمك خواهد كرد. همانطور كه انتظار ميرود، اين نوع از فروشندگان نسبت به بقيه، بايد تلاش بيشتري بكنند. اينگونه تسهيلات هميشه با افزايش قيمت همراه است؛ هرچند كه اندك باشد. به عنوان نمونه، كتابخانه جاوااسكريپت هميشه براي پشتيباني نقشههاي تجاري ياهو، حضور خواهد داشت. از طرف ديگر كتابخانههايDOJO، حتي با طرحهاي گوگل يا ياهو كار خواهد كرد. در ضمن، بستههاي نرمافزاري سنتي براي جذب سهم بازار و همكاري، توسعه بيشتري پيدا كرده و متنوع تر خواهند شد. پيش از اين نيز برخي ازقسمتهاي DOJO، از امكاناتي كه در برنامههاي اپنسورسي كه جهت استفاده از DOJO مجدداً نوشته شدند، نشأت گرفتند. به نظر ميرسد كه درآينده، افراد كمي، روي اضافه كردن خطهايي به كدهاي پروژههايشان، كار كنند؛ زيرا براي آنها به كاربردن كتابخانهها با پروژههايشان، راحتتر خواهد بود. به طور مشابه بستههاي نرمافزاري سنتي نيز براي تبديل شدن به بستههايي كه ايدههاي مؤثر و چيزهاي جذاب با كمترين زمان و نرخ را ارائه ميكنند، تلاش خواهند كرد. واضح است كه موارد ذكر شده تنها در حد پيشگويي است. در حال حاضر اساس DOJO توسط شركتهاي بزرگ، تحت بررسي است، اتفاقاً اين كار با تمركز بر كارايي و شفاف سازي مستندات آن، شروع خواهد شد. صرفنظر از اينكه چطور اين ابزارها كار ميكنند، بهترين راه براي استفاده از همه اين بستههاي نرمافزاري اپنسورس، به كار بردن و انتخاب قسمتهايي است كه براي چيدن برنامه كاربردي تحت وبي لازم هستند. براي مثال، من اديتور DOJO را از يكي از پروژههايم، زمانيكه اديتور متن آن دستيابي به دادهها به فرمتي كه ساخته بودم را ارائه نميكرد، حذف كردم. خيلي سخت است كه يك كتابخانه ويژه را به عنوان بهترين، پيشنهاد كرد يا اظهارنظر قاطعي را در مورد برتري آنها مطرح كرد؛ زيرا بسياري از ابزارهايي كه بهنظر نامناسب ميآيند، بستگي به روش و نيازمنديهاي برنامهنويسي شما دارد. توصيه ميكنم از اين كتابخانهها به نوبت يا حتي به صورت تركيبي استفاده كنيد و آنها را با هم بهكاربنديد. در هر صورت، دلايل اندكي وجود دارد كه نتوانيد از كدهاي Atlas و DOJO در يك صفحه استفاده كنيد. ترجمه: شيوا گرامي ماهنامه شبکه |
|
|
|
| 6 کاربر برای پست مفید Sardabir تشکر کرده اند |
isivi (Tuesday 26 June 2007),
JavanSoft (Friday 9 March 2007),
pournejati (Sunday 11 November 2007),
s_sajjad_JAVA (Wednesday 6 August 2008),
TriTiliuM (Friday 20 April 2007),
مونا هاديان (Friday 9 March 2007)
|
![]() |
| ابزارهای موضوع | |
| نحوه نمایش | |
|
|