اشاره :
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 قول داده است كه نسخههاي آتي اين نرمافزار داراي امكانات ديباگ پيشرفتهتري باشد و از ابزارهاي دسترسي به بانكهاي اطلاعاتي نيز پشتيباني نمايد.
خلاصه آنكه صرف نظر از آنكه چقدر ميتوان به يك پروژه يكنفره تكيه كرد (و زمان براي فراگيري تكنيكهايي صرف كرد كه آينده تضمينشدهاي ندارد)، مسلماً گامباس يكي از بهترين ابزارهاي برنامهنويسي تحت لينوكس است كه علاقهمندان و آماتورهاي برنامهنويسي تحت لينوكس ميتوانند گامهاي اوليه را بهكمك اين ابزار بردارند.
گامباس يعني ميگو در كنار پنگوئن
در اين بخش ميتوانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد
مدیران انجمن: abbas.m.k, athlon64x2, شوراي نظارت

- پست: 3047
- تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۹:۴۱ ب.ظ
- سپاسهای ارسالی: 58 بار
- سپاسهای دریافتی: 384 بار
- تماس:
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها