مقایسه فریم ورک با پلت فرم جوملا   

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو

فریم ورک ( Framework ) چیست ؟

فریم ورک جوملا مهم‌ترین قسمت در معماری این سیستم مدیریت محتوا در نسخه‌های 1.5 و 1.6 بود. پایه و اساس فریم ورک جوملا بر مبنای الگوی نوین ( OOP ) شی گرایی (جهت اطلاعات بیشتر در مورد شی گرایی به مقاله برنامه نویسی شی گرا مراجعه کنید) طراحی شده بود که این امر باعث می‌شد هسته (core ) جوملا قابلیت نگهداری و توسعه آن را داشته باشد.

از ادیبهشت تا تیرماه سال 1390 هجری خورشید فریم ورک جوملا به پلت فرم ( platform ) تغییر عنوان داد و در حال حاضر پلت فرم به صورت جداگانه از سیستم مدیریت محتوای جوملا توسعه داده می‌شود.

اولین نسخه سیستم مدیریت محتوای جوملایی که با پلت فرم راه اندازی شد نسخه 1.7 بود. یکی دیگر از مزایای پلت فرم این است که توسعه دهندگان سیستم‌های با معماری سه لایه از مزایای دسترسی سریعتر به قابلیت‌هایی ( functionality) که فریم ورک فراهم می‌کرد بهره مند می‌شوند.


JoomlaArchitecture0.png

معرفی پلت فرم

پلت فرم جوملا بستری برای ایجاد application‌های وب با استفاده از زبان برنامه نویسی PHP است.

Joomla Platform یک نرم افزار متن باز ( Open Source ) رایگان است که نسخه 2 به بعد آن تحت قانون GNU/GPL منتشر شده است. سیستم مدیریت محتوای جوملا با استفاده از آخرین نسخه پلت فرم ساخته می‌شود.

پلت فرم جوملا که در تاریخ 14 تیرماه 1390 منتشر شده نشاندار تغییرات مهمی در معماری این سیستم مدیریت محتوا نسبت به زمان آغاز بکار آن است. در ابتدا cms جوملا و framework آن ( که application‌های سیستم مدیریت محتوای جوملا برروی فریم ورک ساخته می‌شدند ) بخش‌های جدایی ناپذیر از یکدیگر بودند.

بزرگترین تفاوت نسخه‌های فعلی جوملا ( Platform ) با نسخه‌های قبلی مستقل شده و جدا کردن فریم ورک جوملا از application‌های این سیستم مدیریت محتواست. در گذشته فریم ورک جوملا قابل استفاده به صورت مستقل و جداگانه از application سیستم مدیریت محتوای جوملا نبود. در حال حاضر platform جوملا کاملا مستقل از مجموعه کتابخانه‌ها (libraries ) است همچنین در نسخه‌های فعلی (1.7 به بعد) نیازی به require کردن کتابخانه‌های جوملا در application‌های سیستم مدیریت محتوای جوملا نیست. این کتابخانه‌ها از کتابخانه‌هایی که از کل پروژه جوملا نگهداری می‌کنند، ساخته شده‌اند که توسط توسعه دهندگان معماری 3 لایه نگهداری می‌شوند و گسترش می‌یابند.

'Connectors' یا 'Event Listeners' که آنها را با نام پلاگین درجوملا می‌شناسیم هیمنک این پلاگین‌هایی که توسط توسعه دهندگان معماری 3 لایه ایجاد می‌شوند می‌توانند هر دو ( یا یکی ) کتابخانه‌های مربوط به application‌های سیستم مدیریت محتوای جوملا تاثیر متقابل داشته باشند.


Architecture Joomla Platform.png


تفاوتها

درحال حاضر پلت فرم جوملا به گونه تغییر یافته که قابل استفاده در سایر applicationهای تحت وب و حتی قابل استفاده برای ایجاد application سایر سیستم‌های مدیریت محتوا بجز جوملااست. توسعه دهندگان وب که به فروشگاه‌های الکترونیکی ، رسانه‌های اجتماعی و سایر application‌های تحت وب نیاز دارند می‌توانند از پلت فرم جوملا استفاده کنند.

پلت فرم جوملا در https://www.github.com/Github ذخیره شده است که به توسعه دهندگان اجازه می‌دهد براحتی آن بخشی از کد سورس‌ها را که برای انجام پروژه شان نیاز دارند کپی کنند و در پروژه خودشان با انجام تغییرات از آنها استفاده کنند. این موضوع باعث شده توسعه دهندگان وب و حتی شرکت‌های بزرگتر فعال در این زمینه به سمت پلت فرم جوملا سوق پیدا کنند و به توسعه این پلت فرم کمک کنند.

یک مورد قابل توجه دیگر در مورد جداسازی پلت فرم جوملا و مجزا شدن این بخش یک برنامه زمانبدی 3ماهه تعریف شده که هر 3ماه یک نسخه جدید از پلت فرم منتشر می‌شود این موضوع برای توسعه دهندگان افزونه‌های جوملا بسیار مفید است. همچنین نسخه پلت فرم هر یکسال ارتقاع می‌یابد به عنوان مثال در سال 1390 نسخه 11.1 پلت فرم منتشر و در سال 91 نسخه 12.1 آن منتشر شد.


منبع : http://docs.joomla.org/Joomla!_Framework_vs_Joomla!_Platform

جمع آوری و ترجمه توسط :شهاب مطاع پور - گروه آموزش - تیم جوملا فارسی

Under Construction.png


توجه : این مقاله در حال تکمیل است، لطفاً بعداً برای مطالعه کل آموزش مراجعه نمایید. از ویرایش جزئی در این آموزش خودداری کنید.

Indent support.png
هر گونه سوال و یا مشکلی در این رابطه دارید، می‌توانید در انجمن تخصصی تیم جوملا فارسی جستجو کرده و در صورت عدم دریافت نتیجه مورد نظر، سوال جدیدی را مطرح کنید.
8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.