چطور یک برنامه قابل حمل بسازیم!؟

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

یک برنامه قابل حمل یا Portable Application(=پرتابل) برنامه ای است که به صورت مستقل و بدون نیاز به نصب در یک سیستم عامل اجرا شود و به درستی کار کند. معمولاٌ از این برنامه ها در حافظه های قابل حمل مانند CD و USB flash drive استفاده می شود. این روزها کاربران بسیاری با این برنامه ها آشنایی دارند و همیشه یکی دو جین از این نرم افزارها را روی کول دیسک خودشان به همراه دارند.

واژه «برنامه قابل حمل» نباید با «قابلیت حمل برنامه» اشتباه گرفته شود. منظور از «قابلیت حمل برنامه» یا Software Portability این است که سورس کد یک برنامه را بتوان برای پلت فرم های مختلف کامپیوتری کامپایل و بر روی آن ها اجرا کرد. برنامه های قابل حمل معمولاٌ برای تنها یک پلت فرم خاص ایجاد می شوند و در برخی مواقع حتی نیاز به پیش نیازهایی برای اجرا در همان پلت فرم دارند.

برنامه های قابل حمل برای این طراحی شده اند که :

  • بدون نیاز به نصب روی سیستم عامل، اجرا شوند
  • هیچ ردپایی از خود در سیستم عاملی که اجرا می شوند، باقی نگذارند
  • داده ها و تنظیماتشان را در کنار خودشان (حافظه قابل حمل) نگهداری کنند

پس شما برای اینکه یک برنامه قابل حمل بسازید باید شرط های زیر را رعایت کنید :

1– یک فایل اجرایی از برنامه بسازید که در یک سیستم عامل خاص بدون نیاز به نصب فایل هایی خاص، اجرا شود و کار اصلی خودش را انجام دهد

برای این کار شما باید مطمئن شوید که برنامه شما برای اجرا به هیچ فایلی وابسته نیست، یا اگر وابسته است، از نوع فایل های ActiveX و DLLهای COM نیست! به این علت که این نوع فایل ها باید در سیستم عامل ویندوز کاربر ثبت شوند و معمولاٌ دردسر های زیادی با خود به همراه دارند. اگر فایل اجرایی برنامه شما به فایل های معمولی متنی یا نوع دار (مثلاً باینری) وابسته است، برای اجرا روی سیستم های مختلف مشکلی نخواهد داشت. در مورد وابستگی برنامه شما به یک دیتابیس هم باید به نوع فایل دیتابیس خود توجه کنید. دیتابیس های SQL Server را که به هیچ وجه منطقی نیست در برنامه های قابل حمل استفاده کنید، چون این نوع دیتابیس در برنامه های چندکاربره و تحت شبکه استفاده می شود. دیتابیس های Microsoft Access هم به علت وابستگی به یکسری فایل خاص ممکن است برنامه شما را برای اجرا با مشکل مواجه کند. بهترین انتخاب برای دیتابیس در یک برنامه قابل حمل SQLite خواهد بود. SQLite یک دیتابیس توکار است که هم سبک است و هم ساده و البته رایگان.

2- برنامه شما هیچ تغییری در سیستم عامل کاربر یا فایل های سیستمی آن ندهد

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

البته در این مورد یک حالت خاص داریم، زمانی که برنامه قابل حمل برای تغییر قسمتی از سیستم عامل ساخته شده، مثلاً یک نرم افزار Registry Tweak یا یک برنامه برای حذف فایل های اضافی از روی سیستم عامل، که می توانید در این گونه موارد این شرط را رعایت نکنید و البته که کاربر از هدف اجرای نرم افزار شما آگاه است.

3- تنظیمات و داده های احتمالی برنامه را در کنار خود برنامه ذخیره کنید

تنظیمات یک برنامه قابل حمل نیز باید قابل حمل باشد! این جمله بدین معنی است که اگر کاربر در یک سیستم عامل تنظیمات برنامه را تغییر داد، دفعه بعد و در یک سیستم عامل دیگر برنامه را با تنظیمات جدیدش (که در سیستم عامل قبلی تغییر داده) اجرا کند. پس نباید تنظیمات برنامه را در هارد دیسک های یک کامپیوتر ذخیره کرد (مگر اینکه برنامه از روی هارد دیسک اجرا شود)، بلکه باید در کنار برنامه (معمولاٌ فلش دیسک) ذخیره نمود. یادتان باشد که با توجه به قانون دوم، شما نباید تنظیمات برنامه خود را در رجیستری ویندوز ذخیره کنید. در این حالت بهترین راه ذخیره سازی تنظیمات در فایل های متنی با ساختار INI در کنار فایل اجرایی برنامه شماست.

csharpportable

نوشتن برنامه قابل حمل در پلت فرم دات نت

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

پس در حالت عادی تمام نرم افزارهای تحت دات نت قابل حمل هستند. اگر یکی از شرط های بالا را نقض کنید، آن وقت برنامه دات نت خود را غیر قابل حمل کرده اید!

نوشتن برنامه قابل حمل در دلفی

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

farasun.wordpress.com

مشترک فید فراسان شوید!

این همه Notepad! تا حالا کجا بودن!؟

یکی از نرم افزارهای حیاتی که هر فردی به آن نیاز دارد، یک «ویرایشگر متن» (= Text Editor) است. همان طور که می دانید در این زمینه انتخاب های زیادی وجود دارد که هرکس بر اساس سلیقه و نیاز خود یک ویرایشگر متن مناسب را انتخاب می کند. سیستم عامل ویندوز به صورت پیش فرض یک ویرایشگر متن ساده به نام Notepad دارد که خیلی ها از آن استفاده می کنند. Notepad از زمان پیدایش ویندوز همراه آن عرضه شده و در این سال ها کمتر دستخوش تغییر شده و هیچ قابلیت جدیدی به آن اضافه نشده است. کمبود امکانات این برنامه شرکت ها و برنامه نویسان را مجبور کرد تا محصولات مشابهی با قابلیت های گوناگون برای این نیاز اساسی کاربران تولید کنند.

توجه : در این مطلب قصد دارم تا لیستی از برنامه های جایگزین برای Notepad ویندوز تهیه کنم. توجه داشته باشید که فقط نرم افزارهای رایگان و آزاد در این صفحه معرفی خواهند شد. این مطلب به مرور و به کمک شما به روز خواهد شد.

ویرایشگرهای متن معمولی

این دسته شامل برنامه هایی است که ویژگی های معمول یک ویرایشگر متن را دارند و مناسب کاربران معمولی هستند.

Notepad2 : بهترین و شایسته ترین جایگزین برای Notepad ویندوز همین نرم افزار Notepad2 است. توصیه من به شما هم همین برنامه است. حجم پایین، دارای توابع مختلف برای کار با متون ساده، باز کردن فایل های حجیم با سرعت بالا، تنظیمات متنوع و قابلیت روشنایی نحوی (که البته این ویژگی برای طراحان وب و برنامه نویسان مناسب است)، از جمله مزایای این ویرایشگر متن قدرتمند است. کاربران معمولی، طراحان وب و برنامه نویسان افرادی هستند که این ویرایشگر متن نیاز آن ها را برطرف خواهد کرد.

توضیحات بیشتر | دریافت

Win32pad : برنامه ای بسیار کم حجم با قابلیت های بسیار خوب جهت ویرایش متون ساده. این برنامه قابلیت هایی را که Notepad ویندوز فاقد آن هاست به شما ارائه می کند. یکی از مهمترین ویِژگی های این برنامه باز کردن فایل های حجیم با سرعت بالا است.

توضیحات بیشتر | دریافت

NoteTab Light : ویرایشگر متن قدرتمند با پشتیبانی از فایل های RTF و رابط کاربری مناسب که به شما اجازه می دهد فایل های متنی مختلف را در تب های جداگانه باز نمایید. این برنامه به شما کمک می کتد تا فایل های HTML را آسان تر ویرایش کنید.

توضیحات بیشتر | دریافت

MoonEdit : ویرایشگر متنی ساده که در سیستم عامل های ویندوز و لینوکس قابل اجراست. البته من این ویرایشگر متن قدیمی را به هیچ عنوان به شما توصیه نمی کنم.

توضیحات بیشتر | دریافت

TED Notepad : این برنامه قدرت بسیار زیادی در کار با متون ساده دارد. وجود توابع بسیار زیاد برای کار با متون و قدرت فوق العاده در پردازش رشته ها، TED Notepad را از برنامه های مشابه دیگر جدا می کند. این برنامه قابل حمل است، یعنی شما می توانید آن را بر روی کول دیسک خود ذخیره کنید و در همه جا از آن استفاده کنید. برای استفاده از این ویرایشگر متن لازم نیست آن را نصب کنید.

توضیحات بیشتر | دریافت

Elfima Notepad : پس از اجرای این برنامه، فرق خاصی میان آن و Notepad ویندوز نمی بینید. اما این برنامه کوچک قادر است متون شما را به فرمت های PDF، SVG, XML و XHTML تبدیل نماید. برای این کار فقط کافیست راهنمای ساده اش را مطالعه کنید.

توضیحات بیشتر | دریافت

Metapad : برنامه ای مناسب جهت جایگزینی Notepad ویندوز با قابلیت های مناسب و تنظیمات بسیار.

توضیحات بیشتر | دریافت

Notepad.NET : برنامه ای ساده و زیبا برای کار با متون ساده. رابط کاربری این ویرایشگر متن شبیه به Office2007 طراحی شده و کاربر در آن احساس خستگی نخواهد کرد. اما Notepad.NET هنوز با یک ویرایشگر متن ایده آل بسیار فاصله دارد. سورس کد این پروژه به زبان ویژوال بیسیک.نت در دسترس است.

توضیحات بیشتر | دریافت

ویرایشگرهای متن با قابلیت رمزگذاری اطلاعات

در این قسمت با برنامه هایی آشنا می شوید که علاوه بر ویرایش متن، امنیت اطلاعات شما را نیز تامین می کنند.

MAXA Text2Exe : با ماکسا می توانید رمزهای عبور، سریال نامبرها و اطلاعات شخصی خود را رمز گذاری کنید تا کسی نتواند به آن ها دسترسی پیدا کند. ماکسا قادر است فایل های متنی شما را به فایل های اجرایی رمز گذاری شده تبدیل کند.

توضیحات بیشتر | دریافت

fSekrit : برنامه ایست برای حفاظت از اطلاعات متنی شما. فایل های اجرایی تولید می کند که هیچ کس جز شما نمی تواند متن درون آن ها را تشخیص دهد. الگوریتم رمزگذاری این برنامه بسیار پیچیده است.

توضیحات بیشتر | دریافت

ویرایشگر های متن با قابلیت مدیریت اطلاعات

در این بخش برنامه هایی معرفی می شوند که علاوه بر امکانات معمول ویرایشگرهای متن، قابلیت مدیریت بر اطلاعات را نیز به ما می دهند.

Evernote : محلی برای مدیریت تمامی اطلاعات و متون شماست که ویژگی های منحصر به فردی را ارائه می کند. شما می توانید تمامی اطلاعات خودتان را از جمله : آدرس های اینترنی، شماره تلفن، لیست کارهای روزمره و … را در این نرم افزار ذخیره کنید.

توضیحات بیشتر | دریافت

NotesHolder lite : این برنامه با جا گرفتن در دسکتاپ شما، قابلیت های زیادی برای مدیریت یادداشت هایتان به شما می دهد. ویژگی های همچون جستجو و یادآور نیز در این برنامه موجود است.

توضیحات بیشتر | دریافت

Keynote : یک برنامه قدرتمند و مناسب جهت مدیریت یاداشت ها و متون شماست. در این برنامه قادرید تا یادداشت های خود را به صورت درختی (=Tree Like) دسته بندی کنید و از ویرایشگر متن قدرتمن آن نیز استفاده کنید.

توضیحات بیشتر | دریافت

ویرایشگرهای متن مخصوص طراحان وب و برنامه نویسان

در این قسمت برنامه هایی که ویژگی Syntax Highlighting دارند و برای برنامه نویسان و طراحان وب مناسب اند معرفی می کنیم.

Notepad++ : فکر نمی کنم نیازی به توضیح در مورد این برنامه باشد. قدرتمند ترین ویرایشگر متن حال حاضر با قابلیت های بسیار کاربردی به صورت اوپن سروس در اختیار شماست. پلاگین های گوناگون، تنظیمات پیشرفته، توابع مختلف کار با متون و امکانات پیشرفته از جمله ویژگی های Notepad++ است. پشتیبانی از زبان های برنامه نویسی مختلف و امکاناتی که برای برنامه نویسان مهیا کرده، آن را به اولین انتخاب افراد متخصص تبدیل کرده است.

توضیحات بیشتر | دریافت

PsPad : ویرایشگر متنی واقعاً حرفه ای که قابلیت های بسیار زیادی را به کاربرش می دهد. این برنامه را نمی توان فقط یک ویرایشگر متن ساده دانست، ویژگی های حرفه ای، تنظیمات بسیار، قالب بندی مناسب متن و … آن را از محصولات مشابه جدا می کند.

توضیحات بیشتر | دریافت

Programmer’s Notepad : نام این برنامه مشخص کننده ی کارکرد آن است. ویرایشگر متنی که مخصوص نیازهای یک برنامه نویس تولید شده است. به جز امکانات ویرایش متن، امکاناتی برای مدیریت سورس کدها نیز به شما می دهد.

توضیحات بیشتر | دریافت

ویرایشگرهای متن برای افرادی که متفاوت می اندیشند!

در این دسته برنامه هایی قرار می گیرند که ایده جالبی برای ویرایش متون به کار گرفته باشند.

q10 : ویرایشگر متنی تمام صفحه ایست که حس نوشتن را در شما زنده می کند. در این برنامه احساس خستگی نخواهید کرد و با هر بار فشردن کلید صدای فشردن دکمه ماشین تایپ های قدیمی را می شنوید که حداقل از صدای ناشی از فشردن کلیدهای صفحه کلید جالب تر است.

توضیحات بیشتر | دریافت

DarkRoom : تقریباً با q10 یکی است اما انعطاف پذیری q10 را ندارد. برای استفاده از این برنامه حتماً باید دات نت فریم ورک 2 روی سیستم شما نصب باشد.

توضیحات بیشتر | دریافت

Darkpad : دارک پد به شما کمک می کند تا فقط روی متن تان تمرکز کنید و دسکتاپ خود را فراموش کنید. این برنامه توسط من با ایده ی q10 ساخته شده است با این تفاوت که قابلیت راست به چپ نویسی نیز دارد (که q10 ندارد). در این برنامه هیچ نوار ابزار یا نوار منوی مزاحی وجود ندارد و شما تمام دستورات ویرایش را با صفحه کلید صادر خواهید کرد. به علاوه این برنامه هیچ نیازی به نصب ندارد و کاملاً قابل حمل (=Portable) است تا شما بتوانید آن را روی کول دیسک خود همیشه همراه خود داشته باشید.

توضیحات بیشتر | دریافت

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

تاریخ شمسی قابل حمل!

نسخه ی قبلی برنامه مشکلات کوچکی داشت که با کمک دوستان (چه کسانی که لطف کردند ایمیل فرستاند و چه کسانی که در این پست نظر خودشان را ابراز کردند) حل شد و بر اساس پیشنهادات تغییرات هر چند کوچکی در برنامه اعمال شد. هر چند به نظرم آنچنان که باید به Datefa توجهی نشد. به هر حال در این نسخه یک سری از مشکلات نسخه ی قبل حل شده است. همچنان برنامه، فایل «راهنما» و آیکون اختصاصی ندارد، یک نفر قول همکاری داد ولی هنوز از ایشان خبری نشده (با تشکر از آقای مسعود میر زمانی که زحمت طراحی آیکون و فایل راهنما را قبول کردند). در قسمت «تنظیمات» یک فرمت جدید تاریخ اضافه شده که قابلیت مشاهده ی تاریخ به صورت «سه شنبه 14 اسفند 1386» را به شما می دهد، که این فرمت به پیشنهاد آقای بهمن اضافه شد.

دریافت Datefa نسخه ی به روز شده با حجم 700 کیلو بایت

دو ویرایش جدید از این برنامه را آماده کردم. یکی ویرایش «قابل حمل» (Portable)Portable Datefa و دیگری ویرایش «کنسول»(Console). همان طور که از نام ویرایش قابل حمل پیداست هیچ نیازی به نصب ندارد و حجم بسیار پایینی دارد و به زبان انگلیسی ارائه شده است تا با تمام ویندوزها همخوانی داشته باشد. از ویرایش قابل حمل می توانید در حافظه های فلش و هنگامی که نمی خواهید برنامه Datefa را نصب کنید استفاده کنید و از ویرایش کنسول برای استفاده از تاریخ شمسی در Command Line ویندور. بنده ویرایش کنسول را برای نیاز شخصی نوشته ام، امیدوارم بقیه هم از آن سود ببرند.

دریافت ویرایش «قابل حمل» با حجم 250 کیلوبایت

دریافت ویرایش «کنسول» با حجم 28 کیلو بایت

پ.ن : لینک های دانلود غیر مستقیم می باشند و همگی درسایت Box.net میزبانی می شوند.