دوشنبه, ۱۵ بهمن, ۱۴۰۳ / 3 February, 2025
مجله ویستا

بررسی اجمالی ابزارهای اپن سورس AJAX


بررسی اجمالی ابزارهای اپن سورس AJAX

بسته های نرم افزاری گوگل, مایكروسافت, یاهو, Zimbra, و OpenRico Prototype Dojo, گوناگونیِ كتابخانه های قابل دسترس برای توسعه دهندگان ای جكس را به نمایش می گذارند

بسته‌های نرم‌افزاری گوگل، مایكروسافت، یاهو، 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 و خیلی چیزهای دیگر. ابزاری برای تولید نقشه‌ها از گوگل و یاهو نیز، در نسخه اخیرآن یعنی ۱.۳.۰ ایجاد شده است.

احساس می‌كنم 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

عجیب‌ترین ابزار در این دسته، شاید گوگل باشد؛ چرا كه بقیه ابزارها، با جاوااسكریپت نوشته شده‌اند و به كد جاوااسكریپت خودشان، ترجمه شده و كامپایل می‌شوند، اما بسته ابزار وب گوگل، با جاوا نوشته شده و به جاوااسكریپت ترجمه می‌شود. زمانی كه كد خود را می‌نویسید، جاوا می‌نویسید و می‌بینید كه به جاوااسكریپت ترجمه شده است.

این موضوع به عجیبیِ چیزی كه به نظر میآید نیست؛ چرا كه جاوااسكریپت حداقل به لحاظ قواعد نحوی ظاهری، تا حدی شبیه به جاوا است. این‌كه برخی اطلاعات با كد جاوا وارد شوند و با چیزی شبیه به جاوا‌اسكریپت، خاتمه یابند، مسئله پیچیده‌ای نیست.

كامپایل یك راه حل جذاب است و چیزی است كه برنامه‌نویسان جاوا هم آن را دوست دارند و هم در این مورد نگران هستند. خود من نیز گاهی در مواردی كه جاوااسكریپت كمی متفاوت از جاوا رفتار می‌كند، سردرگم می‌شوم.

ترجمه: شیوا گرامی


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.