لینوکس شریف ۲ منتشر میشودراهنمای استفاده از ویرایشگر متن Vi - Vi IMproved
در لینوکس غیر ممکن است که هر چند وقت یکبار به استفاده از یک ویرایشگر متنی نیاز پیدا نکنید. در صورتی که در محیط گرافیکی هستید میتوانید از gedit استفاده کنید. بیشتر کاربران پوسته فرمان در لینوکس از هر دو ویرایشگر متنی emacs و vi استفاده میکنند. مزیت استفاده از vi یا emacs در این است که میتوانید از آنها در پنجره ترمینال، ترمینال متنی و یا یک اتصال متنی روی شبکه (مانند telnet) استفاده کنید. هیچ رابط گرافیکی مورد نیاز نیست.

در این مقاله سعی خواهم کرد تا راهنمای مفیدی در مورد ویرایشگر vi در اختیار شما قرار دهم. پس از یادگیری Vi، هر جا به تغغیر فایلهای پیکربندی نیاز داشتید، میتوانید از آن استفاده کنید. ممکن است استفاده از vi در ابتدا دشوار به نظر برسد. ولی پس از مدتی میتوانید کارهای ویرایشی خود را با استفاده از آن با سرعتی بسیار انجام دهید. دستان شما هرگز نیاز ندارند تا از روی کیبورد جدا شده ماوس یا کلیدهای F را لمس کنند.
|
|
شروع کار با vi
به طور معمول کار با vi را با باز کردن یک فایل شروع میکنید. برای بازکردن فایلی به نام tmp/test دستور زیر را تایپ کنید:
$ vi /tmp/test
در صورتی که این یک فایل جدید باشد، چیزی مانند زیر را خواهید دید:
~
~
~
~
~
"/tmp/test" [New File]
علامت چشمک زن در بالای صفحه نشاندهنده محل اعلان شما است. پایین ترین خط صفحه اطلاعاتی در مورد آنچه در حال رخداد است، در اختیار شما قرار میدهد. در اینجا به شما اعلام کرده است که فایل جدیدی را باز کرده اید. کاراکترهای ~ که در بین خط بالا و پایین مشاهده میکنید فعلا به عنوان یک پر کننده موقت عمل میکنند زیرا هنوز متنی وجود ندارد. هیچ منو یا راهنما یا آیکونی وجود ندارد تا بفهمید چه کاری باید انجام دهید! فعلا حتی نمی توانید تایپ را شروع کنید. در این صورت کامپیوتر بوق زده، چیزی تایپ نخواهد شد.
نخستین چیزی که باید یاد بگیرید، تفاوت بین حالتهای مختلف عملکرد برنامه است. ویرایشگر vi در دو حالت فرمان و ورودی عمل میکند. قبل از اینکه بتوانید به فایل متنی اضافه کرده یا چیزی را تغییر دهید، باید دستوری تایپ کنید تا vi بداند که شما چه کاری میخواهید انجام دهید. یک فرمان معمولا حاوی یک یا دو حرف و یک عدد اختیاری است. برای وارد شدن در حالت ورودی، باید یک دستور ورودی را تایپ کنید. برای شروع یکی از دستورات زیر را تایپ کنید:
-a : به معنی Add است. میتوانید متن را در طرف راست اعلان وارد نمایید.
-i : به معنی Insert است. میتوانید متن را در طرف چپ اعلان فرمان هم وارد کنید.
|
|
شروع به تایپ کردن کنید. در بین تایپ خود کلید Enter را هم فشار دهید. پس از اینکه چند خطی را تایپ کردید، کلید Esc را فشار دهید. این کار شما را به حالت فرمان باز میگرداند. با استفاده از کلیدها و حروف زیر میتوانید در متن جابجا شوید:
-کلیدهای مکان نما : برای حرکت به چپ و راست و بالا و پایین میتوانید از کلیدهای مکان نما و همچنین از کلیدهای h (چپ) ، l (راست)، j (پایین) و k (بالا) استفاده کنید.
-کلید w : اعلان را به ابتدای کلمه بعدی هدایت میکند.
-کلید b : اعلان را به ابتدای کلمه قبلی باز میگرداند.
-کلید صفر : اعلان را به ابتدای خط جاری هدایت میکند.
-کلید $ : اعلان را به انتهای خط جاری هدایت میکند.
-کلید H : اعلان را به اول نخستین خط صفحه حرکت میدهد.
-کلید M : اعلان را به اول خط میانی صفحه حرکت میدهد.
-کلید L : اعلان را به اول خط پایانی صفحه حرکت میدهد.
خوب اکنون تنها چیزی که باقی میماند، چگونگی پاک کردن متن است:
-کلید x : کاراکتر زیر اعلان را پاک میکند.
-کلید X : کاراکتر قبل از اعلان را پاک میکند.
-فرمان dw : از کاراکتر جاری تا پایان کلمه را پاک میکند.
-فرمان d$ : از کاراکتر جاری تا پایان خط را پاک میکند.
-فرمان d0 : از کاراکتر ماقبل تا ابتدای خط را پاک میکند.
برای ذخیره تغییرات و خروج از برنامه هم میتوانید از کلیدهای زیر استفاده کنید:
-فرمانZZ : تغییرات را ذخیره کرده و از برنامه خارج میشود.
-کلید w : تغییرات را ذخیره کرده ولی میتوانید به ویرایش ادامه دهید.
-فرمان wq : همانند فرمان ZZ است.
-کلید q : از برنامه در صورتی خارج میشود که تمام تغییرات ذخیره شده باشند.
-فرمان q! : از برنامه خارج شده و تغییرات را نادیده فرض میکند.
|
|
|
|
تا اینجا مطالب زیادی در مورد vi یاد گرفته اید. البته باز در مورد دستورات vi بیشتر صحبت خواهم کرد. اکنون اجازه دهید به چند نکته اشاره کنم که مراحل اولیه کار کردن شما را با vi آسانتر کند:
-کلید Esc : فراموش نکنید که فشردن این کلید شما را به حالت فرمان باز میگرداند. این کلید به همراه دستور ZZ تغییرات را ذخیره کرده و از فایل خارج میشود.
-کلید u : فشردن این کلید، تغییرات انجام شده را از میان برده و به حالت قبلی باز میگردد. (undo).
-کلیدهای Ctrl+r : این کلید برعکس کلید u است. عمل تکرار یا redo را انجام میدهد.
-کلید Capslock : فرامین و متن شما با حروف بزرگ تایپ شده و باعث خواهد شد تا برخی فرامین کار نکنند. دقت کنید.
-دستور ! : در صورتی که در vi هستید، میتوانید با استفاده از تایپ علامت تعجب و سپس دستور مورد نظر، دستورات لینوکس را از درون vi اجرا کنید.پس از اتمام تایپ دستورات کلید Enter را فشار دهید تا به برنامه باز گردید. حتی میتوانید با تایپ !bach یک پوسته فرمان از درون vi باز کرده و با آن کارکنید. پس از اتمام کار کافی است که با تایپ exit به برنامه باز گردید.قابلیت بسیار جالبی است!
-INSERT : هنگامی که در حالت ورودی هستید، این کلمه در پایین صفحه نوشته میشود.سایر پیغامها هم در همین مکان نمایش داده میشوند.
-کلیدهای Ctrl+g : در صورتی که فراموش کردید در حال ویرایش کدام فایل هستید، با فشار دادن این کلیدها نام فایل و شماره خطی که در آن هستید، تعداد خطوط فایل و ... نمایش داده میشود.
حرکت در میان فایل
بجز چند دستور حرکت بین خطوط ی که در بالا شرح داده شدند، راههای دیگری نیز برای حرکت در فایل وجود دارد. برای تمرین این کار نیاز به یک فایل تقریبا بزرگ دارید. برای این کار میتوانید فایل var/log/messages را در دایرکتوری tmp کپی کرده و باز کنید. با کلیدهای زیر میتوانید در فایل حرکت کنید:
-Ctrl+f : یک صفحه به جلو میروید.
-Ctrl+b : یک صفحه به عقب باز میگردید.
-Ctrl+d : نیم صفحه به جلو میروید.
-Ctrl+u : نیم صفحه به عقب باز میگردید.
-G : به آخرین خط فایل حرکت میکنید.
-1G : به نخستین خط فایل حرکت میکنید. البته به جای عدد ۱ از هر عددی میتوانید استفاده کنید و به همان خط حرکت خواهید کرد.
جستجوی متن
برای جستجوی متن میتوانید از کلیدهای اسلش (/) و علامت سوال استفاده کنید. همچنین امکان استفاده از کاراکترهای ویژه نیز وجود دارد. اسلش عمل جستجوی فایل بعد از اعلان و علامت سوال عمل جستجوی فایل قبل از اعلان را انجام میدهد. مثلاhello/ و hello? عمل جستجو رو به جلو و عقب را برای لغت hello انجام میدهند.
استفاده از شماره ها در کنار فرمانها
در صورتی که قبل از یک دستور یک عدد قید نمایید آن دستور به تعداد آن عدد تکرار خواهد شد. برای مثال :
3dw : سه کلمه بعدی را پاک میکند.
5cl : پنج حرف بعدی را تغییر میدهد.
12j : دوازده خط به پایین حرکت میکند.
اکنون باید تا حدود زیادی کار کردن با vi را یاد گرفته باشید.
منبع:http://www.technotux.com/html
پروژه دبیان متشکل از گروهی داوطلب در سرتاسر جهان است که سعی دارند تا سیستمعاملی تولید کنند که تماما از نرمافزارهای آزاد تشکیل شده باشد. محصول کنونی پروژه دبیان توزیع Debian GNU/Linux میباشد که حاوی هسته لینوکس، هزاران بسته نرمافزاری، معماریهای متنوع شامل i386 اینتل و بالاتر، آلفا، آرم، موتورولا، میپس، PPC، اسپارک، اولترا-اسپارک، HP PA-RISC، IBM S/390 و Hitachi SuperH میباشد.
پروژه دبیان در آگوست ۱۹۹۳ توسط یان مورداک (Ian Murdock) آغاز شد که در آن هنگام دانشجوی دوره لیسانس در دانشگاه پوردو (Purdue) بود.
پروژه دبیان مدت یکسال از نوامبر ۱۹۹۴ تا نوامبر ۱۹۹۵ تحت حمایت بنیاد نرمافزار آزاد بود.
نسخههای 0.01 تا 0.90 دبیان بین آگوست و دسامبر ۱۹۹۳ منتشر شدند. یان مورداک مینویسد:
«دبیان 0.91 در ژانویه ۱۹۹۴ منتشر شد. این نسخه یک سیستم مدیریت بستههای نرمافزاری اولیه داشت که به کاربران اجازه میداد تا بستهها را تا حدی مدیریت نمایند، ولی هنوز چیزی به عنوان dependency وجود نداشت. در این هنگام افراد زیادی با دبیان همکاری میکردند، ولی هنوز خود من چیدن نهایی برای انتشارها را انجام میدادم. نسخه 0.91 آخرین نسخهای بود که انتشار آن به این صورت انجام گرفت. بیشتر سال ۱۹۹۴ صرف این شد تا پروژه به نحوی بهینه شود تا سایرین نیز بتوانند به راحتی در آن مشارکت نمایند. همچنین کار بر روی dpkg (بیشتر توسط یان جکسون) آغاز شد. در سال ۱۹۹۴ هیچ انتشار عمومی نداشتیم. البته چندین انتشار داخلی وجود داشت.
دبیان 0.95R3 در مارس ۱۹۹۵ منتشر شد و نخستین انتشار مدرن دبیان به شمار میرفت. در آن هنگام تعداد زیادی توسعه دهنده با ما همکاری میکردند و هر یک مسئولیت بستههای خودشان را بر عهده داشتند. dpkg برای نصب و نگهداری تمامی این بستهها استفاده میشد. البته پس از اینکه سیستم پایه (Base System) نصب میشد.
دبیان 0.93R6 در نوامبر ۱۹۹۵ ارائه شد و آخرین انتشاری بود که از فایلهای دو دویی a.out استفاده میکرد. در این نسخه حدود ۶۰ توسعه دهنده عهدهدار مدیریت بستهها بودند. dselect نیز برای نخستین بار در این نسخه ارائه شد.»
یان مورداک اضافه میکند: «نسخه 0.93R6 همیشه انتشار مورد علاقه من بوده است.»
بدلیل برخی دلایل شخصی، وی در مارس ۱۹۹۶ حضور فعال خود را در پروژه متوقف کرد. در آن هنگام دبیان 1.0 در حال توسعه بود. البته نسخه 1.0 با نام نسخه 1.1 منتشر شد، زیرا یک تولید کننده CD-ROM بطور اشتباه نسخه پیش از 1.0 را با نام نسخه 1.0 وارد بازار کرد و بدلیل اینکه اشتباهی رخ ندهد، نسخه واقعی 1.0 با نام 1.1 ارائه شد. این دلیلی شد تا مفهوم دیسکهای رسمی یا Official CD-ROM Images ارائه شود تا دیگر تولیدکنندگان دیسکهای نرمافزاری دچار چنین اشتباهی نشوند.
در آگوست ۱۹۹۵، هارتموت کوپتین (Hartmut Koptein) نخستین port دبیان را برای معماری Motorola m68k انجام داد. پس از ۳ ماه وی حدود ۲۰۰ بسته نرمافزاری از ۲۵۰ بسته موجود را برای این معماری آماده کرد. پس از مدتی وی به همراه وینسنت رناردیاس (Vincent Renardias) و مارتین شولز (Martin Schulze) فعالیت خود را برای نسخه ویژه PowerPC آغاز کردند. از آن هنگام تا کنون، پروژه دبیان تعداد زیادی port به معماریهای مختلف ایجاد کرده و حتی یک نسخه ویژه یک هسته غیر لینوکس یعنی هسته GNU/Hurd نیز داشته است.
یک عضو قدیمی پروژه به نام Bill Mitchell اینچنین به یاد میآورد:
«بین 0.99r8 و 0.99r15 بود که ما شروع کردیم... برای یک مدت زمان طولانی، من میتوانستم هسته را در کمتر از ۳۰ دقیقه روی سیستم ۲۰ مگاهرتزی ۳۸۶ ام کامپایل کنم. همچنین نصب یک سیستم دبیان بر روی ۱۰ مگابایت دیسک سخت نیز همان مقدار طول میکشید.»
سیستم اولیه مدیریت بستههای نرمافزاری
یان جکسون به زودی توسعه سیستم مدیریت بستههای نرمافزاری را به پایان رساند، نام آنرا به dpkg-deb تغییر داد و یک واسط به نام dpkg برای تسهیل در استفاده از آن نوشت و این مجموعه Dependency (وابستگیهای نرمافزاری) و Conflict های سیستمهای کنونی دبیان را به همراه داشت. برای فشرده سازی و بازکردن بستهها نیز از ابزار ar که در هر سیستم یونیکس-مانندی یافت میشود، استفاده شد.
نسخههای سری ۱
هنگامی که یان مورداک دبیان را ترک کرد، بروس پرنز (Bruce Perens) را به عنوان جانشین انتخاب کرد. وی اقدامات مهمی را برای پروژه دبیان انجام داد. مانند Debian Free Software Guidelines ، Debian Social Contract و آغاز پروژه Debian Open Hardware. در زمان مدیریت وی، دبیان در بازار گسترش یافت و نزد کاربران لینوکس به عنوان یک توزیع جدی و با کیفیت از نظر فنی شهرت پیدا کرد.
همچنین بروس به شدت تمام بر روی توسعه Base System کار کرد و برنامههای نصب آنرا بهینه کرد.
همچنین وی حرکت ایجاد Software in the Public Interest, Inc را رهبری کرد. موسسهای که بطور قانونی دبیان را قادر میساخت تا بتواند کمکهای خارجی را دریافت نموده و بتواند خود پشتیبان پروژههای نرمافزار آزاد خارج از پروژه دبیان باشد.
از آنجایی که بروس در شرکت Pixar که سازنده انیمیشن Toy Story بود کار میکرد، نسخههای مختلف دبیان به نام شخصیتهای مختلف این انیمیشن نامگذاری میشوند. در این هنگام نسخههای زیر منتشر شدند:
- نسخه 1.1 یا Buzz (ربات پرنده) که در ژوئن ۱۹۹۶ منتشر شد که شامل ۴۷۴ بسته مختلف نرمافزاری، هسته 2.0 و dpkg بود.
- نسخه 1.2 یا Rex (دایناسور سبز رنگ) که در دسامبر ۱۹۹۶ منتشر شد و حاوی ۸۴۸ بسته مختلف نرمافزاری بود.
- نسخه 1.3 یا Bo که در جولای ۱۹۹۷ منتشر شد و حاوی ۹۷۴ بسته مختلف نرمافزاری بود. البته در نسخه 1.3 چنین انتشار فرعی نیز صورت گرفت که آخرین آن 1.3.1R6 بود.
در ژانویه ۱۹۹۸ پس از اینکه بروس پروژه را تا حد زیادی برای انتشار نسخه 2.0 به پیش برد، یان جکسون جانشین بروس پرنز شد.
نسخههای سری ۲
دبیان 2.0 (Hamm) در جولای ۱۹۹۸ برای معماریهای اینتل و Motorola 68000 منتشر شد. این نسخه برای نخستین بار به libc6 منتقل شد و دارای بیش از ۱۵۰۰ بسته نرمافزاری و همکاری بیش از ۴۰۰ توسعه دهنده بود.
در زانویه ۱۹۹۹ ویشرت آکرمن (Wichert Akkerman) جایگزین یان جسکون شد. در ۹ مارس ۱۹۹۹ دبیان 2.1 با یک هفته تاخیر منتشر شد. این نسخه بطور رسمی از دو معماری Alpha و Sparc نیز پشتیبانی کرد. همچنین apt که سیستم مدیریت بستههای نرمافزاری نسل آینده دبیان بود در این نسخه معرفی شد. این نسخه نخستین انتشاری بود که به دو دیسک CD-ROM نیاز داشت و حاوی ۲۲۵۰ بسته نرمافزاری بود.
در بهار و تابستان ۱۹۹۹ دبیان نماد (Logo) جدیدی انتخاب کرد که در محصولات و سایتهای مربوطه به کار گرفته شد. همچنین در این هنگام نخستین port دبیان به یک سیستم غیر لینوکس یعنی GNU/Hurd که نسخهای از GNU Mach Microkernel بود انجام شد.
دبیان نسخه 2.2 موسوم به Potato در ۱۵ آگوست ۲۰۰۰ منتشر شد و از معماریهای اینتل، موتورولا 68000، آلفا، اسپارک، PowerPC و ARM پشتیبانی میکرد. این نسخه دارای بیش از ۳۹۰۰ بسته نرمافزاری و بیش از ۲۶۰۰ بسته کد منبع بود که توسط ۴۵۰ توسعه دهنده نگهداری و ایجاد شده بودند.
نسخههای سری ۳
دبیان ۳ موسوم به woody در ۱۹ جولای ۲۰۰۲ منتشر شد و حاوی تعداد زیادی تغییر عمده بود. در این نسخه از معماریهای Alpha، ARM، HP PA-RISC، Intel x86، Intel IA-64، Motorola 680x0، MIPS، MIPS-DEC، PowerPC، IBM S/390 و SPARC پشتیبانی شده بود. همچنین از این نسخه تا کنون دو نسخه فرعی r1 و r2 نیز منتشر شده است که نسخههای بروز رسان و رفع اشکال میباشند. این توزیع مشتمل بر ۷ دیسک CD-ROM میباشد.
نسخه آینده دبیان یا 3.1 که به Sarge موسوم میباشد، هنوز منتشر نشده و مراحل آزمایش و توسعه را میگذراند. Sarge در نوع خود بزرگترین توزیع لینوکس تاکنون میباشد و حاوی بیش از ۱۳۰۰۰ بسته نرمافزاری بر روی ۱۴ دیسکCD-ROM میباشد. زمان انتشار رسمی این نسخه هنوز اعلام نشده است. این نسخه حاوی ویژگیهای جدیدی مانند برنامه نصب جدید خواهد بود.
نحوه انتشار نسخههای جدید در پروژه دبیان
دبیان همیشه دارای ۳ انتشار فعال میباشد. پایدار یا stable، در حال آزمایش یا testing و غیر پایدار یا unstable.
نسخه پایدار نسخه رسمی انتشار یافته دبیان میباشد که استفاده از آن توصیه میگردد. آخرین نسخه پایدار دبیان نسخه 3.0r2 میباشد که در ۲۱ نوامبر ۲۰۰۳ منتشر شده است.
انتشار درحال آزمایش حاوی بستههای نرمافزاری است که هنوز به عنوان بستههای پایدار انتخاب نشدهاند، ولی در حال انتظار برای این امر هستند. مزیت اصلی استفاده از این نسخه در داشتن نرمافزارهای جدیدتر و معایب آن عبارتند از عدم آزمایش کامل و همچنین عدم پشتیبانی از سمت تیم امنیتی دبیان میباشد. نسخه در حال تست فعلی Sarge میباشد.
نسخه غیرپایدار نسخهای است که حاوی جدیدترین بستههای نرمافزاری میباشد و توسط توسعه دهندگان و علاقهمندان به کاملا به روز بودن اجرا میشود. از دسامبر ۲۰۰۰ نام نسخه غیر پایدار بطور دائم Sid تعیین شده است (نام پسر شیطان و unstable همسایه در Toy Story).
منبع: وب سایت پروژه دبیان و بسته Debian History.
یافتن یک راهحل مطمئن و ساده مهاجرت برای برنامههای ویژوال بیسیک
لینوکس در حال پیشرفت در حوزه سازمانی است. در ابتدا این سیستمعامل بعنوان سرور طراحی گردید، اما بیشتر و بیشتر بر روی دسکتاپ تست شد و گسترش یافت. راهحلهای لینوکس برای برنامههای بازدهی تجاری معمولی، شامل 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 در صورت نیاز برای یک پروژه محروم نمینماید) برای آنهایی که به پشتیبانی ویندوز ادامه میدهند است.
در حال حاضر راهحلهای متعددی وجود دارند که میتوانند به مهاجرت برنامههای ویندوز به لینوکس یاری رسانند. مهم این است که آنهایی را بیابید که برنامههای حیاتی تجاری شما را به لینوکس انتقال دهند، توسعهگران را نیازارند، و مشکلات گسترش را برای کاربران نهایی و کارکنان بخش پشتیبانی شما به حداقل برسانند.