![]() |
![]() |
|
| آموزش طراحی وب سایت دینامیک |
|
همه چيز درباره Ajax
واژه 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 |
|
+ نوشته شده در
دوشنبه سی و یکم فروردین 1388ساعت 10:0 توسط حمید رضا حباب |
|
|
كوتاه در مورد وب 3 يا وب معنايي
وب 3 يا وب معنايي گسترش جدیدی بر وب فعلی است که به وسیله مخترع وب آقای برنرزلی و همکارانش در کنسرسیوم جهانی وب (w3c)پیشنهاد شده است.
هدف از آن هوشمندسازی وب به گونهای است که اطلاعات نه تنها برای انسانها بلکه برای ماشینها نیز قابل فهم و پردازش باشد. برای نیل به این ایدهآل تحقیقات دانشگاهی و توسعههای صنعتی زیادی در چند سال اخیر انجام شده و در حال گسترش است. در این تحقيق جديد وب معنایی معرفی و مورد بررسی قرار میگیرد و برای مشخص کردن جایگاه و اهمیت آن در ابتدا به مروری اجمالی بر محدودیتهای وب متداول پرداخته خواهد شد و سپس اهداف مورد انتظار از وب معنایی مشخص شده و معماری پیشنهادی کنسرسیوم جهانی وب معرفی خواهد شد. وب 3 اصطلاحی است که برای اشاره به وب آینده به کار میرود. پس از آنکه اصطلاح وب 2برای تکامل اخیر وب رواج یافت، بسیاری از متخصصین ،روزنامه نگاران و رهبران فن، اصطلاحوب 3 را بکار بردند تا فرضیاتی درباره موج آینده تغییرات اینترنت مطرح کنند. نظرات پیرامون مرحله بعدی سیر تکاملی وب، بسیار متفاوت است، برخی معتقدند؛ پدیدار شدن تکنولوژی وب مفهومی راه وب را تغییر خواهد داد و آنرا به سوی هوش مصنوعی خواهد برد. دیگر نظریه پردازان اظهار میکنند که وب3افزایش سرعت اینترنت، اپلیکیشن های تحت وب، یا پیشرفت گرافیکی رایانه، نقش کلیدی را در سیر تکاملی وب بازی خواهد کرد. جستوجو یکی از پرکاربردترین استفاده از وب است و به عنوان یکی از اهداف مهم وب معنایی موتورهای جستوجوی معنایی معرفی شدهاند که در این تحقيق نیز مورد بررسی قرار میگیرند. یکی دیگر از عناصر مهم وب معنایی وب سرویسهای معنایی هستن كه تحقیقاتی که در این زمینه انجام شده و اين به معناي هوشمند كردن سرويس هاي مختلف است. نظرات بزرگان IT در مورد وب3: تیم برنزلیـ مخترع وب ـ در ماه می سال 2006 گفت: مردم مدام میپرسندوب 3 چیست؟ من فکر میکنم وقتی شما تعداد زیادی کاغذ کالک را روی هم میگذارید همه چیز ناهموار و چین خورده شده، مبهم به نظر میرسد. وب 2 و دسترسی به وب مفهومی، سراسر حجم عظیم اطلاعات را یکپارچه میکند، شما دسترسی غیر قابل باوری به منابع اطلاعاتی خواهید داشت. در ماه می سال 2006 از اریک اسمیت ـ مدیر گوگل ـ خواسته شد تا وب3 را تعریف کند. او پاسخ داد: ... اگر بخواهید که حدس بزنم که چه خواهد بود، خواهم گفت که «وب 3» راهی متفاوت در ساخت اپلیکیشن ها است. پیش بینی من این است که «وب 3» در نهایت در قالب اپلیکیشن هایی تحقق می یابد که تکه ای از یکدیگرند. شماری از ویژگی های آنها از این قرار است: اپلیکیشن ها نسبتا کوچک ، اطلاعات توده ای ، اپلیکیشن ها روی هر وسیله ای اعم از پی سی یا تلفن همراه قابل اجرا، اپلیکیشن ها بسیار سریع و بسیار قابل کاستومایز و اپلیکیشن ها توزیعی خواهند بود، بصورت لفظ به لفظ؛ با شبکه های اجتماع، با ایمیل. شما به فروشگاه نمیروید تا آنها را بخرید... آنها نوع بسیار متفاوتی از اپلیکیشن ها خواهند بود که ما هرگز در محاسباتمان ندیده ایم. در نوامبر سال 2006، جری یانگ ـ بنیانگذار و رئیس یاهو ـ گفت: وب 2 خوب مستند شده و درباره آن سخن گفته اند، نیروی اینترنت با امکاناتی که در مرحله شبکه میتوان انجام داد به نقطه بحرانی رسیده است، ما همچنین از چهار سال قبل شاهد ابزارهای قدرتمند هستیم، همچنین راه های قدرتمند تعامل با شبکه را نه تنها در سخت افزار مانند کنسول های بازی و ابزارهای همراه، بلکه حتی در شاخه نرم افزار مشاهده میکنیم، شما لازم نیست که متخصص کامپیوتر باشید تا یک برنامه ایجاد کنید. ما میبینیم که توسعه بزرگ در وب 2 و وب 3، توسط مانیفست صورت میگیرد، یک اشتراک حقیقی میانی ... تمایز میان حرفه ای، نیمه حرفه ای، و مصرف کننده گان محو میشود. ایجاد یک شبکه، تجارت و اپلیکیشن ها را نتیجه میدهد. |
|
+ نوشته شده در
سه شنبه هجدهم فروردین 1388ساعت 14:13 توسط حمید رضا حباب |
|
|
بررسی و توضیح کامل Web 2 و ابزارهای مرتبط با آن (بخش اول)
بخش اول؛ مرور کلی جزییات Web 2 همراه مراحل ساخت آنها با
آمدن وب 2 تغییرات گسترده در ظاهر و عملکرد صفحات ایجاد شد. حالت های خیلی
جدیدی برای عموم کاربران ایجاد شد و خیلی ها علاقه مند تر شدن نسبت به
سایت ها. در ادامه به توضیحات و منابع کلی برای طراحی سایت هایتان به صورت
وب 2 بسنده می کنیم.
Badges این واژه را می توانیم در فارسی علامت
یا " امضای سایت " نیز نام ببریم. در اکثر سایت هایی که به شکل وب 2 در
آمده اند می توانید این علائم را مشاهده نمایید. در زیر چند نمونه را
مشاهده می نمایید : ![]() این علائم بیشتر برای نمایش دادن موارد خیلی مهم صفحات با کمک استایل و رنگ های جذاب صورت می گیرد. برای ساختن این علائم می توانید از ابزار آنلاین موجود که در ادامه آدرس آنها را قرار می دهم استفاده نمایید یا اینکه با کمک فتوشاپ خودتان بسازید که برای این روش نیز یک مقال آموزشی معرفی خواهم کرد: روش اول: ساخت آنلاین؛ لینک اول - لینک دوم روش دوم: ساخت با کمک فتوشاپ به صورت دلخواه و اختصاصی؛ لینک اول - لینک دوم Buttons در سایت های وب 2 دکلمه ها و باتن ها
خیلی تاثیر گذار و یکی از بخش های خیلی مهم کار می باشند. در ادامه قبل از
توضیحات کامل تر و ارائه آموزش تهیه این کلید ها به چند نمونه مثال توجه
می نماییم :
برای تهیه این دکمه ها نیز که کار اطلاع رسانی امکانات و خدمات خیلی
مهم سایت و برخی از امکانات روتین امروزی را دارد نیاز به طراحی اختصاصی
نیست چون سایت های زیادی در کمتر از چند دقیقه به شما کمک می کنند ده ها
دکمه با طرح های مختلف طراحی نمایید. برخی از سایت های رایگان به شرح زیر
است: Rounded Corners در وب 2 گوشه های اشکالی که
قبلا مستطیلی شکل بوده اند و گوشه ای تیز داشته اند اکنون به صورت گرد شده
در آمده که جلوه و حالت حرفه ای تری به صفحات وب می دهد. برای ساخت صفحات
وب 2 شما نیز تمام تلاش خود را انجام دهید تا از گوشه های تیز کمتر
استفاده نمایید. با کمک ابزار های آنلاین هیچ سردردی نیز نخواهید داشت
برای اجرای گوشه های گرد و زیبا ! به مراجع زیر مراجعه کنید و دعا به جان
طراحان آن! :
لینک اول - لینک دوم - لینک سوم - لینک چهارم
Logos
![]() Icons در وب 2 یکی از مهمترین بخش های کار همین آیکون ها می باشند که وجود آن نعمت بزرگی به حساب می آید .
![]() حرفه ای ترین آیکون ها را انتخاب و استفاده نمایید تا تاثیر آنرا خودتان در صفحات وبتان تجربه و مقایسه نمایید: Gradient Images با این گزینه در فتوشاپ آشنا
هستید افکت زیبایی که در تصاویر تغییرات جالبی می دهد و دارای سایه روشن و
تیره های زیبایی می باشد و یکی از پرکاربردترن بخش های فتوشاپ و همین طور
وب 2 به شمار می آید.
لینک اول - لینک دوم - لینک سوم
حباب های زیبا و خاص خب نوبتی هم باشد نوبت کادر ها و حباب مانند های زیبای وب 2 می باشد.
![]() آموزش انجام دستی این کار: لینک اول عکس های پشت زمینه در گذشته برای پشت زمینه های
سایت ها از تصاویر استاتیک و یا تک رنگها بسیار استفاده می شود. یکی از
نکاتی که تغییر نموده است استایل همین پشت زمینه ها می باشد.
![]() لینک اول - لینک دوم - لینک سوم ترکیب رنگ بندی ها
همیشه انتخاب رنگ بندی های زیبا و جذاب در تمامی دوره های طراحی وب
مورد بحث و بررسی بوده است و اکثر افرادی که موفق به ایجاد صفحات زیبا و
کاربر پسند شده اند به کار گیری به موقع همین ترکیب های رنگی بوده است.
ترکیب های جذاب و زیبا را در این سایت مشاهده نمایید که به چه صورتی با هم
هماهنگ و سازگار شده اند: برای حرفه ای تر و مداوم کار نمودن می توانید این نرم افزار ها را نیز دانلود نمایید تا خیلی حرفه ای تر وارد مبحث رنگ ها شوید: Favicons همگی با آیکون هایی که کنار browser ها
لود میشوند آشنا می باشند . در مورد ساخت و طراحی آیکون یک مقاله نوشته
بودم می توانید با کمک مقاله من به این آدرس مراجعه نمایید یا از این
مقاله ی خارجی بهره ببرید و در غیر اینصورت بروید سراغ ابزار های آماده!
لینک اول - لینک دوم
این مطلب تنها بخش مقدماتی و آشنایی کلی و اجمالی بود به مبحث وسیع وب 2 در مقالات بعدی که قسمت 2 و 3 خواهد داشت بررسی دقیق تر و تخصصی تر خواهیم داشت. ترجمه و تنظیم: حمید رضا کاظمی (آدرس سایت) |
|
+ نوشته شده در
چهارشنبه پنجم فروردین 1388ساعت 13:31 توسط حمید رضا حباب |
|
|
||||
|
+ نوشته شده در
چهارشنبه بیست و هشتم اسفند 1387ساعت 17:7 توسط حمید رضا حباب |
|
||||
|
وب 1، وب 2، وب 3 ! مدت ها است که بحث پر سرو صدایی در مورد عبارتی به نام «وب ۲.۰» آغاز شده. کافی است که در گوگل این عبارت را جستجو کنید تا هزاران مطلب و تعریف از «وب ۲.۰» پیدا کنید. با وجود تمام اینها هنوز این عبارت برای بسیاری از کاربران نامفهوم است. موضوع اصلاً آن طور که فکر میکنید پیچیده و عجیب و غریب نیست. بنابراین اگر میخواهید تصویر سادهای از وب و نسخههای مختلف آن داشته باشید این مطلب برای شماست. ![]() وب ۱.۰از سال ۱۹۸۹ که وب توسط آقای «برنرزلی» ابداع شد جنبشی به وجود آمد که بیایید همه چیز را از روی کاغذ به اطلاعات الکترونیکی تبدیل کنیم. افراد و شرکتها تلاش میکردند محتوای کاغذی خود را به محتوای دیجیتالی تبدیل کنند. جنبش پر سرعت دیجیتالی شدن اطلاعات سبب شد که کاربران امکان دسترسی به انبوهی از اطلاعات را داشته باشند. نتیجه این حرکت میلیونها صفحه حاوی اطلاعات مختلف است که امروز در دسترس ماست و خیلیها برای تعریف آن از این جمله استفاده میکنند: «چیزی که در اینترنت نیست، وجود ندارد.» هر چند باید توجه کنید که این حرکتی نیست که تمام شده باشد. دیجیتالی شدن اطلاعات همچنان با سرعت زیادی ادامه دارد و احتمالاً تا سال های زیادی نیز ادامه خواهد داشت. وب ۲.۰ به تدریج کاربران با انبوهی از اطلاعات رو به رو شدند که خود یک مشکل محسوب میشد. باید راه حلی پیدا میکردند. از این جا بود که کم کم «نرم افزارهای مبتنی بر وب» به کمک کاربران آمدند. هر روز انبوهی از مطالب و اخبار در وب سایتها و وبلاگهای مختلف به زبان فارسی منتشر میشود. تصورش را بکنید که شما به عنوان یک کاربر چگونه میتوانید از تمام اخبار مهم و مطالب جالب مطلع شوید؟ برخی از سایتهای فارسی هم بر اساس تفکر «وب ۲.۰» ساخته شده است. صدها کاربر سایت هنگام وب گردی هر مطلب جالبی که پیدا میکنند را در این سایت قرار میدهند و کاربران دیگر به آن ها رای میدهند. مطالبی که رای بیشتری بگیرند در رتبه بالاتری قرار می گیرد. نتیجه کار این است که هر روز میتوان از مطالب پرطرفدار وب فارسی مطلع شد بدون این که مجبور باشید خودتان را در انبوهی از اطلاعات غرق کنید. «نرم افزارهای مبتنی بر وب» محیط وب را از صفحات ساده تبدیل به دنیایی چند بعدی کردهاند که امکان ارتباطات فردی و کارهای گروهی را فراهم کرده است. شبکههای اجتماعی به سرعت به وجود آمدند و با استقبال گسترده کاربران رو به رو شدند. نرم افزاری که بر روی اینترنت قرار دارد. یکی از بهترین تعاریف «وب ۲.۰» این است که وب تبدیل به بستری شده که میتوان همه جور نرم افزاری را بر پایه آن ساخت تا کاربران فارغ از نیاز به نصب آن بر روی کامپیوتر شخصی خود بتوانند از هر جایی به آنها دسترسی داشته باشند. ![]() وب ۳.۰ نسخه سوم وب تازه در حال متولد شدن است. با این که هنوز نمی توانیم در مورد این کودک زیاد حرف بزنیم اما میتوان گفت که قرار است که فرزند جدید وب بچه باهوشی باشد. در «وب ۳.۰» بحث اصلی در مورد هوشمند شدن وب است. پیش بینی میشود که در آینده نزدیک کامپیوتر ها، محتوای وب را میفهمند و آن را درک می کنند. اگر در متنی کلمه «تبیان» آمده باشد نرم افزاری که در حال خواندن این متن است میداند که سایت تبیان چیست و چه مطالبی در آن نوشته میشود. اگر در متنی نوشته شد «اول فروردین» نرم افزار متن را به نوروز ربط میدهد. این درک اطلاعات توسط نرم افزارهای مبتنی بر وب سبب میشود که جستجو و حرکت در اطلاعات بسیار سریع تر و بهینه تر از قبل بشود. نرم افزار ها قادر به شناسایی افراد، مکان ها، رویداد ها و ارتباط آن ها با یکدیگر خواهند بود. ارتباط متقابل اطلاعات با یکدیگر و قابلیت دسترسی به اطلاعات با هر نوع دستگاه ارتباطی از دیگر مشخصههای وب نسخه سوم خواهد بود.
نوشته علی اصغر هنرمند |
|
+ نوشته شده در
سه شنبه بیست و هفتم اسفند 1387ساعت 11:54 توسط حمید رضا حباب |
|
پدیده انقلابی AJAX
اگر با برنامه نویسی وب آشنایی دارید، حتما درباره AJAX چیزهایی شنیدید. بعضی معتقدند AJAX یکی از ارکان فنی موج جدیدی است که به WEB 2.0 معروف شده است و انجمنها و تریبونهای آنلاین مملو از مقالات و اظهارنظرهای مربوط بهAJAX است. بعضی از سایتهای بزرگ مانند یاهو و گوگل هماکنون AJAX را به خدمت گرفتهاند، انجمنها و تریبونهای آنلاین مملو از مقالات و اظهارنظرهای مربوط بهAJAX است و همزمان تلاشهای وسیعی در جریان است تا این فناوری جدید همچنان به صورت اپن سورس باقی بماند و انحصاری نشود.
AJAX چیست؟واژه AJAX با تلفظ <ایجکس> یا <ایژاکس> سرنام عبارت ASYNCHRONOUS JAVASCRIPT AND XML و به معنی < ترکیب نامتقارن جاوا اسکریپت وXML > است. ماهیت صفحات وب و پروتکل HTTP به گونهای است که به طور معمول وقتی درحال وبگردی هستیم، به ازای هر کنش و واکنش میان ما و سایتی که در حال کار با آن هستیم، کل یک صفحه وب از نو بارگذاری و تازهسازی (REFRESH) میشود. ایجکس فناوری جدیدی است که تغییر محسوسی را در این سناریو به وجود میآورد؛ به این ترتیب که به جای بارگذاری مجدد کل صفحه، فقط قسمتی تغییر میکند که قرار است اطلاعات جدید را به نمایش درآورد و کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام میشود. در نتیجه هیچگاه صفحه سفید و خالی وب در فواصل کنش و واکنشهای هنگام کار با مرورگر دیده نمیشود و احساسی مشابه تجربه کار با یک نرمافزار دسکتاپ به کاربر دست میدهد. جادوی ایجاکس چیزی نیست جز یک فکر بکر و آن هم ترکیب کردن جاوا اسکریپت و XML در قالب یک موجود نرمافزاری جدید. اصطلاح AJAX را اولین بار کارشناسی از شرکت ADAPTIVE PATH به نام جسی جیمزگرت در مقالهای با عنوان "ایجکس؛ رهیافت جدیدی در برنامههای تحت وب" مطرح کرد و خیلی سریع مورد استقبال گسترده برنامه نویسان وب در سراسر جهان قرارگرفت. اعتقاد عمومی این است که تاریخچه بهکارگیری تکنیک مذکور به پیدایش نرمافزار OUTLOOK WEBACCESS و استفاده از فرمان XMLHTTPREQUEST که مایکروسافت ابداع کرده و در نرمافزار اینترنت اکسپلور بهکار رفته است، برمیگردد. اما امروزه اغلب مرورگرهای مهم و شناختهشده (از جمله فایرفاکس) از آن پشتیبانی میکنند و دیگر یک فناوری محدود به اینترنت اکسپلورر نیست.
![]()
چرا AJAX این قدر اهمیتدارد؟فناوری ایجکس جدید است و شگفتانگیز بهنظر میرسد. ولی در حقیقت کل این شعبده بر اساس فناوریهایی بنا شده است که هماکنون موجودند: جاوا اسکریپت و XML. هر دوی این فناوریها تا حد زیادی باز هستند و منحصر به شرکت خاصی نیستند. این فناوری از یک جنبه دیگر نیز اهمیت دارد. بهدلیل عدم نیاز به بارگذاری مجدد کل یک صفحه وب، مقدار دادههایی که لازم است برای تکمیل یک تراکنش میان کاربر و سایت مبادله شود، به شدت کاهش مییابد و این به معنی افزایش محسوس سرعت نرمافزارهای تحت وب، سهولت بهکارگیری اینترفیسهای مبتنی بر ایجکس و کاربرپسندترشدن آنها میشود.
با این همه مزایای ایجکس به همین موارد ختم نمیشود. تصور کنید وقتی در طول شبانه روز میلیاردها بار فرآیند بارگذاری مجدد صفحات وب تعاملی در شبکه اینترنت تکرار میشود، استفاده از ایجکس چگونه موجب آزاد شدن پهنایباند اینترنت و در نتیجه میلیاردها دلار صرفهجویی اقتصادی در این زمینه میشود و این به نوبه خود انقلابی در عرصه وب و فضای سایبر به شمار میرود. این تحول در شرایطی اتفاق میافتد که همزمان فناوریهای اینترنت پرسرعت همچون ADSL به شدت در حال رشد هستند. حال تصور کنید اگر فناوری ایجکس در مقیاس گستردهای مورد استفاده نرمافزارهای تحت وب قرارگیرد. آنگاه افزایش سرعت کار با اینترنت چند برابر خواهد شد. چنین تحولی میتواند اینترنت را به کامپیوتر دوم کاربران تبدیل کند. به گونهای که برای آنها اجرای یک نرمافزار از روی وب تفاوت محسوسی با اجرای آن از روی کامپیوتر دسکتاپ نداشته باشد. در این صورت ممکن است واقعا بخش مهمی از توان پردازشی نرمافزارها، چه از نوع دسکتاپ و چه از نوع تحت وب به سیستمهای موسوم به WEB SERVICE واگذار شود. از این رو کسانی که مبتکر و مشوق ایده وب سرویس بودهاند، این روزها انگیزه تازهای برای سرعت بخشیدن به این فناوری پیدا کردهاند و تلاش میکنند دو فناوری ایجکس و وب سرویس را بهیکدیگر پیوند دهند و راهکارهای تازهای بیافرینند.
کدام سایتها از ایجکس استفاده کردهاند؟اینترفیس جدید YAHOO MAIL از همین فناوری استفاده میکند. سرویس GMAIL و GOOGLE MAP نیز از این فناوری استفاده میکنند.
منبع: ماهنامه شبکه
مطالب مرتبط : |
|
+ نوشته شده در
سه شنبه بیست و هفتم اسفند 1387ساعت 10:38 توسط حمید رضا حباب |
|
|
صفحه نخست پست الکترونیک آرشیو عناوین مطالب وبلاگ |
| درباره وبلاگ |
|
| نوشته های پیشین |
|
مهر 1388 مرداد 1388 خرداد 1388 اردیبهشت 1388 فروردین 1388 اسفند 1387 تیر 1387 |
| نویسندگان |
|
حمید رضا حباب امیر حسین طهرانی مجتبی موحدیان |
|
RSS
|