مهاجرت برنامه‌های كاربردی ويژوال بيسيك به لينوكس

نويسنده: Geoff Perlman
Linuxworld
مترجم: امين ايزدپناه


 

يافتن يك راه‌حل مطمئن و ساده مهاجرت براي برنامه‌هاي ويژوال بيسيك

لينوكس در حال پيشرفت در حوزه سازماني است. در ابتدا اين سيستم‌عامل بعنوان سرور طراحی گرديد، اما بيشتر و بيشتر بر روي دسك‌تاپ تست شد و گسترش يافت. راه‌حل‌هاي لينوكس براي برنامه‌هاي بازدهي تجاري معمولي، شامل Evolution، Mozilla، و OpenOffice، قابل دستيابي هستند و به همراه اغلب توزيع‌هاي لينوكس عرضه گرديده‌اند.

 

اين در دسترس بودن سخت‌افزار به صرفه، توزيع‌هاي قابل اعتماد لينوكس، و برنامه‌هاي بازدهي تجاري همه‌منظوره به سوق دادن لينوكس به سوي دسك‌تاپ كمك مي‌كند، مگر در وضعيت‌هايي كه برنامه‌هاي سازماني به صورت سفارشي در ويژوال بيسيك توسعه داده شده‌اند، و در حال حاضر تنها بر روي ويندوز اجرا مي‌گردند.

از آنجايي كه سازمان‌ها عموما همه سيستم‌هاي خود را يكباره به لينوكس مهاجرت نمي‌دهند، شركت‌ها بايستي به دنبال راه‌حل‌هايي باشند كه برنامه‌هاي ويژوال بيسيك را به لينوكس منتقل نموده و به علاوه ويندوز را نيز همچنان پشتيباني نمايند.

آنها همچنين بايد توسعه‌گران خود را قادر به استفاده از يك محيط توسعه آشنا، يك زبان آشنا نمايند و مهم‌تر از همه، به حفظ سرمايه‌گذاري يك شركت در كد فعلي‌اش ياري رسانند. به علاوه، آنها بايد به دنبال به حداقل رساندن مسائل پشتيباني مرتبط با گسترش باشند.


 

چه گزينه‌هايي وجود دارند؟

گزينه‌هاي عمده براي مهاجرت برنامه‌ها بين پلاتفرم‌ها شامل Mono/.NET، Java، و REALbasic مي‌باشد. در هنگام اتخاذ تصميم براي انتخاب ابزار جهت انجام مهاجرت يك برنامه عظيم ويژوال بيسيك به لينوكس، شما بايد دو مساله مهم را مد نظر قرار دهيد: سادگي توسعه، كه براي توسعه‌گران شما يك امر حياتي است، و سادگي گسترش، كه براي كاربران نهايي و كاركنان بخش پشتيباني از اهميت بالايي برخوردار است.


 

چرا .NET و Mono نه؟

هنگامي كه مايكروسافت اعلام نمود كه نسخه بعدي ويژوال بيسيك VB.NET خواهد بود، توسعه‌گران ويژوال بيسيك در انتظار ويژوال بيسيك 7 بودند. محيط VB.NET محققا مدرن‌تر بود، اما بسيار متفاوت از ويژوال بيسيك 6، و در واقع ناسازگار با ويژوال بيسيك 6. براي نخستين بار از زمان ويژوال بيسيك 2، يك ويژوال بيسيك جديد نمي‌توانست كد نسخه قبلي را باز، اجرا و كامپايل نمايد. توسعه‌گران، .NET را كندتر و پيچيده‌تر يافتند. آنها همچنين دريافتند كه زبان .NET بسيار متفاوت از ويژوال بيسيك 6 است.

كاري كه .NET انجام داد فراهم نمودن يك زمان اجراي زبان مشترك (CLR) بود كه تمامي زبان‌هاي .NET مايكروسافت در حال حاضر از آن استفاده مي‌كنند. به همين دليل، پروژه كدباز Mono يك پياده‌سازي مستقل-از-پلاتفرم از CLR را آغاز نمود. پروژه Mono تلاش خود را بر روي .NET با استفاده از C# متمركز نمود، از اين رو توسعه‌گران مي‌توانند پروژه‌هاي خود را با استفاده از Mono به لينوكس منتقل سازند. براي استفاده از Mono جهت مهاجرت پروژه‌ها به لينوكس، توسعه‌گران ويژوال بيسيك بايستي C# و .NET را بياموزند، تغييرات عمده‌اي را در كد پروژه ايجاد نمايند، و از CLR استفاده كنند.

براي انجام گسترش، چارچوب برنامه .NET كه داراي حجم 20 مگابايت است بايد بر روي هر كدام از دسك‌تاپ‌ها نصب باشد تا برنامه‌هاي .NET بر روي آنها اجرا گردند. اين .NET Framework تلاش مي‌نمايد سازگاري با آينده و گذشته را ميان نسخه‌ها حفظ نمايد. يك تغيير در .NET Framework كه امنيت، صحت، يا كاركرد را بهبود مي‌بخشد همچنين مي‌تواند مسائل سازگاري را افزايش دهد. پس از به روزرساني Framework، اين مشكلات سازگاري مي‌تواند باعث گردد نرم‌افزاري كه بر روي .NET كار مي‌كرده از كار بيافتد.

يك مساله ديگر در رابطه با گسترش وجود دارد كه آن نيز بايستي مد نظر قرار گيرد. براي آن كه .NET و Mono كار كنند، هزاران API ارائه شده از سوي واسطه‌ها بايد براي ويندوز و لينوكس استاندارد گردند. به عنوان يك مثال، همگي ما كاملا با استاندارد HTML آشنا هستيم، و ما مفاهيم اين استاندارد را هر روز در هنگام استفاده از تكنولوژي‌هاي مرورگر مختلف مي‌بينيم. مرورگرهاي مختلف همگي ملزم به پذيرفتن استاندارد HTML هستند، اما شما مي‌توانيد مشاهده كنيد كه مرورگرها صفحات را به يك صورت رندر نمي‌كنند، حتي با اين وجود كه همه آنها استانداردها را پذيرفته‌اند. تست و گسترش در دنياي واقعي همواره مستلزم محيط‌هاي استاندارد خواهد بود.


 

در مورد Java وضعيت به چه شكل است؟

از لحاظ سادگي توسعه، توسعه Java چندان تفاوتي با .NET/Mono نمي‌كند چرا كه شما ناچاريد زبان جديدي را بياموزيد و با Java Virtual Machine هاي متعدد و ناسازگاري‌هاي ذاتي آنها روبرو شويد. همه اين موارد يك لايه از پيچيدگي را به تلاش در جهت مهاجرت مي‌افزايد؛ مهاجرت‌هاي موفق پيچيدگي فرايند را به حداقل مي‌رساند.

از لحاظ سادگي توسعه، Java بر روي سرور موفق بوده است، اما موفقيت محدودي را بر روي دسك‌تاپ كسب نموده است، زيرا برنامه‌هاي Java نيازمند نصب يك ماشين مجازي بر روي هر دسك‌تاپ هستند. كاربران نهايي يا كاركنان بخش پشتيباني بايستي سازگاري توزيع لينوكس و JVM را اداره نمايند. اگر آنها ناسازگار باشند، برنامه نمي‌تواند مورد استفاده قرار گيرد و اين امر مي‌تواند به يك كابوس پشتيباني براي سازمان بدل شود.


 

توسعه آسان، گسترش آسان

با استفاده از REALbasic محصول شركت REAL Software، برنامه‌نويسان ويژوال بيسيك فورا مثمر ثمر واقع مي‌شوند چرا كه يك محيط توسعه و زباني در اختيارشان قرار داده شده كه بسيار شبيه محيط آشناي ويژوال بيسيك است. به علاوه، همراه REALbasic يك ابزار كمكي عرضه مي‌گردد كه در تبديل پروژه‌هاي ويژوال بيسيك به اين محيط آشنا شما را ياري مي‌كند.

به هر حال، بر خلاف Java، REALbasic برنامه‌هاي محلي مي‌سازد كه ظاهر، حس و رفتار برنامه‌هايي را دارند كه انحصارا براي يك پلاتفرم نوشته شده‌اند، چه ويندوز (98/NT/Me/2000/XP)، چه لينوكس، و چه Mac OS X.

به علاوه، REALbasic مشكلات گسترش را با ايجاد اجرا شدني‌هاي خودشمول حل مي‌نمايد. هيچ كتابخانه يا چارچوبي براي نصب بر روي پلاتفرم‌هاي مقصد وجود ندارد. اين امر نه تنها گسترش و پشتيباني برنامه‌ها را ساده مي‌كند بلكه داراي مزيت افزوده حذف نياز به DLL ها (اگر چه آن كاربر را از به كار بردن كنترل‌هاي COM در صورت نياز براي يك پروژه محروم نمي‌نمايد) براي آنهايي كه به پشتيباني ويندوز ادامه مي‌دهند است.

در حال حاضر راه‌حل‌هاي متعددي وجود دارند كه مي‌توانند به مهاجرت برنامه‌هاي ويندوز به لينوكس ياري رسانند. مهم اين است كه آنهايي را بيابيد كه برنامه‌هاي حياتي تجاري شما را به لينوكس انتقال دهند، توسعه‌گران را نيازارند، و مشكلات گسترش را براي كاربران نهايي و كاركنان بخش پشتيباني شما به حداقل برسانند.

Copyright 2005 IDG News Service.All right reserved.
Copyright 2005, PC World Iran, All rights reserved.