یکشنبه, ۹ اردیبهشت, ۱۴۰۳ / 28 April, 2024
مجله ویستا

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


مهاجرت برنامه‌های کاربردی ویژوال بیسیک به لینوکس
● یافتن یك راه‌حل مطمئن و ساده مهاجرت برای برنامه‌های ویژوال بیسیك
لینوكس در حال پیشرفت در حوزه سازمانی است. این سیستم‌عامل بر روی سرور آغاز گشت، اما بیشتر و بیشتر بر روی دسك‌تاپ تست شد و گسترش یافت. راه‌حل‌های لینوكس برای برنامه‌های بازدهی تجاری معمولی، شامل Evolution، Mozilla، و OpenOffice، قابل دستیابی هستند و به همراه اغلب توزیع‌های لینوكس عرضه گردیده‌اند.
این در دسترس بودن سخت‌افزار به صرفه، توزیع‌های قابل اعتماد لینوكس، و برنامه‌های بازدهی تجاری همه‌منظوره به سوق دادن لینوكس به سوی دسك‌تاپ كمك می‌كند، مگر در وضعیت‌هایی كه برنامه‌های سازمانی به صورت سفارشی در ویژوال بیسیك توسعه داده شده‌اند، و در حال حاضر تنها بر روی ویندوز اجرا می‌گردند.
از آنجایی كه سازمان‌ها عموما همه سیستم‌های خود را یكباره به لینوكس مهاجرت نمی‌دهند، شركت‌ها بایستی به دنبال راه‌حل‌هایی باشند كه برنامه‌های ویژوال بیسیك را به لینوكس منتقل نموده و به علاوه ویندوز را نیز همچنان پشتیبانی نمایند.
آنها همچنین باید توسعه‌گران خود را قادر به استفاده از یك محیط توسعه آشنا، یك زبان آشنا نمایند و مهم‌تر از همه، به حفظ سرمایه‌گذاری یك شركت در كد فعلی‌اش یاری رسانند. به علاوه، آنها باید به دنبال به حداقل رساندن مسائل پشتیبانی مرتبط با گسترش باشند.
● چه گزینه‌هایی وجود دارند؟
گزینه‌های عمده برای مهاجرت برنامه‌ها بین پلاتفرم‌ها شامل Mono/.NET، Java، و REALbasic می‌باشد. در هنگام اتخاذ تصمیم برای انتخاب ابزار جهت انجام مهاجرت یك برنامه عظیم ویژوال بیسیك به لینوكس، شما باید دو مساله مهم را مد نظر قرار دهید: سادگی توسعه، كه برای توسعه‌گران شما یك امر حیاتی است، و سادگی گسترش، كه برای كاربران نهایی و كاركنان بخش پشتیبانی از اهمیت بالایی برخوردار است.
● چرا .NET و Mono نه؟
هنگامی كه مایكروسافت اعلام نمود كه نسخه بعدی ویژوال بیسیك VB.NET خواهد بود، توسعه‌گران ویژوال بیسیك در انتظار ویژوال بیسیك ۷ بودند. محیط VB.NET محققا مدرن‌تر بود، اما بسیار متفاوت از ویژوال بیسیك ۶، و در واقع ناسازگار با ویژوال بیسیك ۶. برای نخستین بار از زمان ویژوال بیسیك ۲، یك ویژوال بیسیك جدید نمی‌توانست كد نسخه‌ی قبلی را باز، اجرا و كامپایل نماید. توسعه‌گران، .NET را كندتر و پیچیده‌تر یافتند. آنها همچنین دریافتند كه زبان .NET بسیار متفاوت از ویژوال بیسیك ۶ است.
كاری كه .NET انجام داد فراهم نمودن یك زمان اجرای زبان مشترك (CLR) بود كه تمامی زبان‌های .NET مایكروسافت در حال حاضر از آن استفاده می‌كنند. به همین دلیل، پروژه كدباز Mono یك پیاده‌سازی مستقل-از-پلاتفرم از CLR را آغاز نمود. پروژه Mono تلاش خود را بر روی .NET با استفاده از C متمركز نمود، از این رو توسعه‌گران می‌توانند پروژه‌های خود را با استفاده از Mono به لینوكس منتقل سازند. برای استفاده از Mono جهت مهاجرت پروژه‌ها به لینوكس، توسعه‌گران ویژوال بیسیك بایستی C و .NET را بیاموزند، تغییرات عمده‌ای را در كد پروژه ایجاد نمایند، و از CLR استفاده كنند.
برای انجام گسترش، چارچوب برنامه .NET كه دارای حجم ۲۰ مگابایت است باید بر روی هر كدام از دسك‌تاپ‌ها نصب باشد تا برنامه‌های .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 برنامه‌های محلی می‌سازد كه ظاهر، حس و رفتار برنامه‌هایی را دارند كه انحصارا برای یك پلاتفرم نوشته شده‌اند، چه ویندوز (۹۸/NT/Me/۲۰۰۰/XP)، چه لینوكس، و چه Mac OS X.
به علاوه، REALbasic مشكلات گسترش را با ایجاد اجرا شدنی‌های خودشمول حل می‌نماید. هیچ كتابخانه یا چارچوبی برای نصب بر روی پلاتفرم‌های مقصد وجود ندارد. این امر نه تنها گسترش و پشتیبانی برنامه‌ها را ساده می‌كند بلكه دارای مزیت افزوده حذف نیاز به DLL ها (اگر چه آن كاربر را از به كار بردن كنترل‌های COM در صورت نیاز برای یك پروژه محروم نمی‌نماید) برای آنهایی كه به پشتیبانی ویندوز ادامه می‌دهند است.
در حال حاضر راه‌حل‌های متعددی وجود دارند كه می‌توانند به مهاجرت برنامه‌های ویندوز به لینوكس یاری رسانند. مهم این است كه آنهایی را بیابید كه برنامه‌های حیاتی تجاری شما را به لینوكس انتقال دهند، توسعه‌گران را نیازارند، و مشكلات گسترش را برای كاربران نهایی و كاركنان بخش پشتیبانی شما به حداقل برسانند.
نویسنده: Geoff Perlman
مترجم: امین ایزدپناه
منبع : علم الکترونیک و کامپیوتر


همچنین مشاهده کنید