اشاره :
Gambas نام محیط برنامهنویسی مشابه VB اما در محیط لینوکس است. این نرمافزار را فردی از علاقهمندان به برنامهنویسی اهل کشور فرانسه، با تلاش فراوان و در طول سه سال کار مستمر توسعه داده است.
مقدمه
انتخاب سکو و ابزار برنامهنویسی تحت لینوکس، یکی از مشکلترین مراحل بسیاری از پروژههای نرمافزاری محسوب میشود. تفاوتهای ذاتی محیط سیستمعامل لینوکس با ویندوز، یکی از اساسیترین دلایل این موضوع است. در واقع مستقل بودن سیستم رابط گرافیکی کاربر از سیستمعامل، موجب شده است که نرمافزارهای کاربردی تحت لینوکس را بتوان به سه گروه تفکیک کرد. گروه نخست شامل نرمافزارهایی است که از ابزارهایی برای تولید آنها استفاده شده است که از سیستم windowing مستقل خود استفاده میکنند. مانند زبان و محیط برنامهنویسی جاوا، kylix ،TCL و غیره.
اما بسیاری از محیطهای برنامهنویسی دیگری که برای توسعه نرمافزار در لینوکس طراحی شدهاند، به سیستمهای گرافیکی خارجی تکیه میکنند و بر همین اساس بهدلیل رواج و فراوانی کاربرد محیطهای گرافیکی و میزکارهایی مانند kde یا gnome، میتوان آنرا به دو زیر گروه دیگر تقسیم کرد.
گروهی از برنامههایی که از سیستم گرافیکی و مدیریت پنجره gnome استفاده میکنند و گروه دیگری که بر توابع و کتابخانههایی موجود در محیط kde تکیه دارند (به همین دلیل نرمافزارهایی که برای اجرا تحت kde طراحی شدهاند، بهطور معمول حروف k را در ابتدای نام خود یدک میکشند.
مانند kppp یا kHTML و غیره. به همین ترتیب، نرمافزارهایی که برای کار در محیط gnome توسعه داده شدهاند، از حرف g در ابتدای نام خود استفاده میکنند).
هر یک از این دو میزکار معروف لینوکس دارای ابزارهای گوناگونی برای طراحی و تولید نرمافزار هستند. به عنوان مثال، برنامهنویسان زبان برنامهنویسی مانند C یا ++C میتوانند بر حسب مورد و سلیقه خود از کتابخانههای نرمافزاری گوناگونی برای تولید نرمافزارهای تحت لینوکس استفاده کنند. مثلاً مجموعه توابع کتابخانهای (Qt (toolkit (برای تولید نرمافزارهایی کاربردی KDE) یا +GTK (برای برنامهنویسی در محیط Gnome)وجود دارند.
واقعیت آن است که باید اعتراف کرد که موضوع برنامهنویسی تحت لینوکس صرف نظر از آنکه با چه ابزاری و در چه سکویی کار شود، با برنامهنویسی در محیط ویندوز تفاوت بسیار دارد. شاید اغراق نباشد اگر بگوییم که برنامهنویسی لینوکس برای بسیاری از کاربران این سیستمعامل، همچون کابوس شبانهای است که سالها خواب راحت را از آنان سلب کرده است!
در این مورد استثنایی نیز وجود دارد که میتواند پایانی بر کابوس برنامهنویسی تحت لینوکس باشد. در اختیار داشتن محیط برنامهنویسیی مانند ویژوال بیسیک در ویندوز، برای بسیاری از کاربران لینوکس آرزویی دستنیافتنی جلوه میکرد. اما پروژهای که از چند سال قبل آغاز شده است، بهتازگی به مرحلهای از بلوغ رسیده که میتوان به آن امیدهای زیادی داشت. Gambas نام محیط برنامهنویسی مشابه VB اما در محیط لینوکس است (بر اساس سنت نامعلومی، نرمافزارهای دنیای متنباز و سکوی لینوکس از اسامی و لوگوهایی بهشکل حیوانات استفاده میکنند. Gambas هم از این غافله عقب نمانده است و نام خود را از گونهای از میگو اقتباس کرده است).
نرمافزار گامباس را فردی از علاقهمندان به برنامهنویسی اهل کشور فرانسه، با تلاش فراوان و در طول سه سال کار مستمر توسعه داده است. اواخر سال 2004 این نرمافزار به مرحلهای رسیده بود که خالق آن یعنی، Benoit Minisini نسخه شماره 1.10 را معرفی کرد.
زمانی که این نرمافزار را برای نخستین بار اجرا میکنید، باور نمیکنید که دارید در محیط لینوکس یا kde کار میکنید. اما این موضوع کاملاً حقیقت دارد و گامباس با به عاریت گرفتن تمامی جنبههای مفید VB (بنا بر ادعای نویسنده آن)، پنجرهای را پیش روی شما ظاهر میسازد که نمونه آن را در شکل 1 مشاهده میکنید. همانطور که در این تصویر دیده میشود، کاربر باید در این مرحله، مشخص کند که قصد کار کردن بر روی پروژه جدیدی دارد و یا آنکه با یکی از پروژههای قبلی میخواهد ادامه دهد.
پس از این مراحل، مشاهده خواهید کرد، که نرمافزار گامباس با الهام از VB، محیط توسعهای فراهم کرده است که شباهت زیادی به آن دارد. به عنوان مثال، در سمت چپ نمایشگر، پنجرهای بهنام project explorer بهسبک VB دیده میشود که برای برنامهنویسان ابزار بسیار مفیدی تلقی میشود. پنجره بالایی سمت راست، شامل مجموعهای از المانهایی که برنامهنویس میتواند آنها را روی فرمهای برنامههای تحت توسعه خود، قرار دهد، وجود دارند. در واقع این اشیای گرافیکی یا وجیتها (Widget) همان کنترلهای برنامهنویسی محیط ویندوز هستند.
در اینجا هم، کاربر میتواند خواص اشیای انتخابی خود را در سمت راست این پنل ببیند. به این ترتیب برای شروع برنامهنویسی با کامباس، کافی خواهد بود تا یکی از این ویجتهای گرافیکی را بر روی فرمهای برنامه خود قرار دهید (گامباس هم مانند VB به پنجرههای برنامههای تحت توسعه، فرم (form) نام میدهد.
فرمها
برای ایجاد کردن فرمها و اعمال تغییرات بر روی آنها، در گامباس ابزار ویژهای بهنامForm designer پیشبینی شده است. کاربران گامباس میتوانند از این ابزار همانند یک ابزار نقاشی، برای تولید و ویرایش فرمها کمک بگیرند. در این ابزار نیز همانند محیط VB برنامهنویس باید خواص اشیایی که قصد استفاده از آنها را دارد، مشخص کند (اینکار در درون پنجره properties انجام میشود). پنجرهای بهنام component explorer به کاربر کمک میکند که خواص اشیای گرافیکی را بهتر شناسایی کند.
گامباس به درجهای از پیشرفت رسیده است که دارای یک ویرایشگر کامل منو نیز (Menu editor) هست.
ویرایشگر کد
اگرچه ممکن است که ویرایشگر کد در گامباس چندان ظریف و زیبا جلوه نکند، اما دارای امکانات کاملی است که نظر هر برنامهنویس حرفهای را بهخود جلب میکند. به عنوان مثال، در صورتیکه بر روی پنچره ویرایشگر کد، کلیک راست کنید، داخل فهرست پایینافتادنی که گشوده میشود، لیست مفصل و کاملی از تمامی دستورات قابل استفاده، فهرست میشوند. در این ویرایشگر کد، امکاناتی از قبیل قابلیت نمایش رنگی کلیدواژهها و دیگر موارد نوشتاری بهصورت (Syntax Highlighting) پیشبینی شده است. علاوه بر این موارد، کاربران گامباس میتوانند برای عیبیابی برنامههای خود، BreakPoint تعریف کنند و متغیرها را جهت ردگیری (trace) انتخاب کنند.
اما این ویرایشگر پیشرفته گامباس، علیرغم تمام مزایایی که دارد، یک اشکال و یا بهتر بگوییم، یک کمبود مهم نیز دارد. گامباس هنوز دارای قابلیتی نیست که کاربران آن بتوانند نرمافزارهای ویرایشگر دلخواه خود را در محیط گامباس بهکار بگیرند. بهعنوان مثال، بسیاری از برنامهنویسان لینوکس تمایل دارند که از ویرایشگرهایی مانند Emacs یا vi استفاده کنند.
البته از آنجاییکه تمام فرمها و کلاسهای برنامههای تولید شده با گامباس در قالب فایلهای متنی ذخیره میشوند، کاربران گامباس همچنان خواهند توانست، در خارج از محیط این نرمافزار، از ویرایشگرهای دلخواه خود برای ادیت برنامهها استفاده کنند.
گامباس دارای یک کامپایلر سر خود نیز هست که در زمان کامپایل، برنامهها را در صورتی که نقصی در آنها نیابد، درون یک فایل اجرایی بستهبندی میکند. یادآوری میکنیم که برای آنکه بتوانید پروژههای کامپایل شده گامباس را اجرا کنید، باید بر روی سیستم خود قبلا ً Qt را نصب کرده باشید.
خلاصه
پروژه گامباس علیرغم آنکه هنوز بسیار جوان است، نشان داده که پروژه بسیار قابلتوجهی است. در تمام مراحل بررسی این ابزار، گامباس هیچگاه دچار مشکل نشد و همواره از خود چهره یک نرمافزار پایدار را بهنمایش گذاشت. علاوه بر آن برنامههای خروجی گامباس هم بسیار سریع اجرا میشدند و از حجم پایینی برخوردار بودند.
برنامهنویس گامباس در یکی از سایتهای پشتیبانی این نرمافزار، به کاربران اطمینان داده است که هیچ رویدادی در آینده نمیتواند بهسادگی برنامههای وی را برای توسعه گامباس تغییر دهد. Minisini قول داده است که نسخههای آتی این نرمافزار دارای امکانات دیباگ پیشرفتهتری باشد و از ابزارهای دسترسی به بانکهای اطلاعاتی نیز پشتیبانی نماید.
خلاصه آنکه صرف نظر از آنکه چقدر میتوان به یک پروژه یکنفره تکیه کرد (و زمان برای فراگیری تکنیکهایی صرف کرد که آینده تضمینشدهای ندارد)، مسلماً گامباس یکی از بهترین ابزارهای برنامهنویسی تحت لینوکس است که علاقهمندان و آماتورهای برنامهنویسی تحت لینوکس میتوانند گامهای اولیه را بهکمک این ابزار بردارند.
علاقه مندی ها (Bookmarks)