You are here:

مجازی سازی - اجرای برنامه ها بدون نیاز به نصب پیش نیاز ها

فرستادن به ایمیلچاپمشاهده در قالب پی دی اف

Tags: تجربیات | تخصصی | معرفی

چند ماه پیش مطلبی راجع به اجرای برنامه ها بدون نیاز به نصب دات نت نوشته بودم که در آن از دو نرم افزار زنوکد و ThinApp برای انجام این کار نام برده بودم. تحلیل بازدیدکنندگان سایت در این چند ماه بیان می کرد که خیلی ها به این مشکل برخورد کرده بودند. اینکه بتوانند برنامه هایشان را بدون نصب پیش نیازهایی مانند دات نت، کریستال ریپورت و حتی اس کیو ال سرور و امثالهم اجرا کنند.

تصمیم گرفتم کمی جامعتر به این موضوع نگاه صحبت کنم. اولین مساله که باید به آن اشاره کنم بحثی است به نام مجازی سازی که روز بروز بر طرفدارانش افزوده می شود. هدف از مجازی سازی بخصوص مجازی سازی سرورها ، نصب مجازی چندین سیستم عامل بر روی یک سیستم و در کنار هم است که امروزه با افزایش قدرت کامپیوتر ها و سرورها به مدیران شبکه این امکان را می دهد که به جای استفاده از چندین کامپیوتر، از یک سرور قدرتمند و فناوری مجازی سازی استفاده کنند و چندین سیستم عامل و سرور مختلف را با هم و بر روی یک سیستم نصب و مدیریت کنند . حتی مایکروسافت در نسخه جدید ویندوز سرور، به صورت رسمی این قابلیت را تحت عنوان Hyper-V ارائه کرده است. از سردمداران اصلی این بحث به شرکت مایکروسافت و VMWare می توان اشاره کرد.

اما یواش یواش بحث مجازی سازی عمومی تر شد و به جای تمرکز برروی سیستم عامل های مجازی ، به برنامه ها نیز کشیده شد که این مورد آخری مورد توجه ماست یعنی برنامه هایی که بتوانند با یک کلیک اجرا شوند و نیاز به نصب و پیکربندی و نرم افزارهای جانبی نداشته باشند.

در ویکی پدیا به لیستی برخوردم که نام نرم افزارهایی که این امکان را ارائه می دهند لیست شده بود. که هر کدام مزایا و معایبی دارند. به طور خلاصه (نظر شخصی) دو تا از این نرم افزارها را حرفه ای تر از بقیه یافتم . یکی نرم افزار ThinApp شرکت VMWare که بسیار معروف و خوش سابقه است و دیگری نرم افزار زنوکد که امروزه تحت عنوان Spoon Studio شناخته می شود.

روند برنامه ThinApp این است که ابتدا کل سیستم را پیمایش می کند و از فایلها و پیکربندی موجود سیستم عامل یک لیست تهیه می کند . بعد از شما می خواهد برنامه مورد نظرتان را نصب کنید. بعد از این مرحله دومرتبه سیستم را پیمایش می کند تا ببیند چه تغییراتی انجام شده است و چه فایلهای جدیدی به سیستم اضافه شده است و در مرحله آخر با توجه به این اطلاعات یک فایل اجرایی نهایی تولید می کند که مستقل از نصب است و کاربر با یک کلیک می تواند آنرا اجرا کند. مثالی عملی از این فرآیند را در این آدرس مشاهده کنید. از آنجا که معمولاً در سیستم یک برنامه نویس نرم افزارهای مورد نیاز از قبل نصب می باشد برای جلوگیری از هرگونه مشکل احتمالی ، توصیه می شود که به کمک نرم افزارهای مجازی سازی سیستم عامل مانند VmWare Workstation ابتدا یک ویندوز نصب کنید و قبل از اینکه هر نرم افزاری را نصب کنید برنامه ThinApp را نصب کرده تا سیستم را پیمایش کند و لیست اولیه را تهیه کند و در مرحله آخر برنامه تان را نصب کنید و بررسی کنید ببینید درست اجرا می شود یا نه .

نرم افزار Spoon Studio را شخصاً تست نکرده ام اما با مروری که در دفترچه راهنمای آن داشتم به این نتیجه رسیدم که امکانات بسیار زیادی دارد و می تواند یکی از بهترین گزینه ها باشد.


Bookmark and Share

نظرات (1)Add Comment
0
...
نویسنده داود زینی,نوامبر 22, 2011
به نظر من استفاده از این روش ها و عادت به آن ها درست نیست. به دلایل زیر
1- کارهای اضافی در هر بار ارائه نرم افزار به برنامه نویس تحمیل می کند. (از قبیل کار با خود ThinApp، آزمایش روی یک ویندوز مجازی تازه نصب شده و ...)
2- ممکن است روی نسخه های مختلف ویندوز و همچنین روی تمام کامپیوترهای کاربران که هر کدام می تواند در شرایط خاصی باشند، به مشکل برخورد کند.
3- تمام پروسه ارائه نرم افزار خود را وابسته به ThinApp می کنیم که می تواند مشکلاتی داشته باشد به ویژه اگر بخواهیم چندین سال به فروش و ارتقاء محصولمان ادامه دهیم. توجه کنید که از آینده ThinApp، کارکرد درست آن در ویندوزهای آینده، پشتیبانی شرکت سازنده از آن، رایگان بودنش و ... مطمئن نیستیم.
4- حجم فایل اجرایی ارائه شده زیاد خواهد شد. بنابراین مشکلاتی در انتقال فایل و سرعت اجرای آن و حافظه مصرفی پیش خواهد آمد.
5- مدیریت و بروزرسانی محصول مان سخت تر خواهد شد. در شرایطی که تلاش همگان برای تکه تکه کردن نرم افزار و ارائه بخش های مختلف آن به شکل فایل ها و ماژول های مستقل و مجزا است، رو آوردن به ThinApp صحیح نیست. در نظر بگیرید می خواهید محصول تان از طریق اینترنت به شکل خودکار بروزرسانی شود. مجبور خواهید بود برای یک تغییر کوچک که می توانست با تغییر یک dll کوچک صورت گیرد، کل محصول را دوباره بسازید و کاربر مجبور خواهد شد فایل بزرگی را دانلود کند.

پس ThinApp چرا ساخته شده است؟
از ThinApp می توان برای ساختن نرم افزارهایی که با یک کلیک اجرا می شوند و به اصطلاح Portable هستند استفاده کرد. این کار زمانی مفید است که محصول ما یک کاری را در چند دقیقه انجام می دهد و تمام. مثلاً ممکن است شما به Photoshop علاقمند باشید. در این صورت می توانید نسخه Portable آن را همراه داشته باشید تا در هر کامپیوتری که بخواهید بتوانید بدون نصب از آن استفاده کنید. اما اگر شما کار حرفه ای طراحی و گرافیک انجام می دهید استفاده از نسخه Portable به هیچ وجه توصیه نمی شود و باید نسخه کامل را بر روی سیستم خود نصب کنید. از این رو ThinApp برای ارائه محصولات پایدار ساخته نشده است. اغلب محصولات ما هم از این نوع می باشد. مانند نرم افزارهای مالی، پرسنلی، سازمانی و ...

راه حل:
دلیل بروز این مشکلات عدم طراحی مناسب نرم افزار و انتخاب های اشتباه می باشد. اولین اشتباه این است که هر محصولی اعم از کوچک و بزرگ و بدون توجه به عملکرد آن با دات نت یا جاوا نوشته می شود. اگر نرم افزار ما کوچک است یا استفاده ای از امکانات اصلی دات نت نمی کند، اصلاً چرا باید به دات نت وابسته باشد که بعداً مشکلات ارائه و نصب داشته باشیم. خیلی راحت می توانیم توسط دلفی یا ویژوال سی محصولات مان را تهیه کنیم. اما اغلب چون با آنها آشنایی کافی نداریم، به جای اینکه کمی زحمت یادگیری به خودمان بدهیم فوراً دات نت را انتخاب می کنیم و این اولین اشتباه موجب اشتباه بعدی (استفاده از ThinApp) می گردد. اگر محصول ما در شرایط کلاینت/سرور کار می کند می توانیم برای تهیه سرور از دات نت استفاده کنیم و برای کلاینت ها که به اصطلاح Thin Client هستند از دلفی. اشتباه بعدی نحوه استفاده از SQL Server است. من نمی دانم چرا مردم اینقدر علاقه دارند که نرم افزارشان هنگام نصب SQL Server را هم نصب کند؟ اگر نرم افزار بر روی یک سرور اجرا خواهد شد، مسئول سرور وظیفه نصب، پیکربندی و نگهداری از SQL Server را خواهد داشت و اصولاً نباید به شما اجازه دخالت یا حتی دیدن SQL Server خود را بدهد. چه برسد به نصب SQL Server ! اما اگر محصول شما بر روی سرور اجرا نمی شود و بر روی کامپیوترهای شخصی کاربرانتان قرار خواهد گرفت، چرا باید از SQL Server استفاده کند؟ می توان از SQLite یا Absolute یا موارد دیگر استفاده کرد.

خوشحال می شم اگه مخالفتی داشته باشین و بگین. ممنون smilies/smiley.gifsmilies/wink.gif
  • report abuse
  • +0
  • vote down
  • vote up

نظرتان را بنویسید
bolditalicizeunderlinestrikeurlimagequote SmileWinkLaughGrinAngrySadShockedCoolTongueKissCry
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( پنجشنبه ، 14 ارديبهشت 1391 ، 19:28 )