دنیای آزاد نرم‌افزار

دنیای آزاد نرم‌افزار میکوشد اطلاعات مفیدی درباره این دنیای رو به رشد برای شما فراهم کند

دنیای آزاد نرم‌افزار

دنیای آزاد نرم‌افزار میکوشد اطلاعات مفیدی درباره این دنیای رو به رشد برای شما فراهم کند

دنیای آزاد نرم‌افزار

کوشش در این بلاگ بالا بردن اطلاعات بازدید کنندگان در جهت پیشبرد اطلاعات نرم‌افزاری در دنیای توسعه آزاد نرم‌افزار است.

بایگانی

حداقل‌ها و نیازمندی‌های نرم‌افزاری
آیا در مورد سخت افزار مشتریان یا کاربران خود اطلاعاتی دارید؟
در اغلب موارد مشتریان شامل شرکت ها اداره‌جات دولتی یا شرکتهای دیگر هستند تا کاربران خانگی.
فرض کنید با یک قرار داد وارد مجموعه‌ای میشوید که تعداد کاربران آنها از ۲۰ کلاینت بیشتر باشد، در این صورت اگر سخت‌افزار های آنها قابلیت اجرای نرم‌افزار شما را نداشته باشد یا مثلا اجرای نرم‌افزار به شکل خسته‌کننده و ملال آوری کند باشد!!! نمیتوان مشتری را وادار به پرداخت هزینه‌ای چنین بالا جهت استفاده از نرم‌افزار کرد، بعلاوه در برخی موارد مشتری یا کاربر نیازمند استقرار و استمرار این سیستم‌ها برای کار با نرم‌افزاری‌هایی است که از پیش تهیه شده‌اند.
در چنین مواردی پشتیبانی و قابلیت اجرای محصولات روی سخت‌افزار‌هایی با قابلیت‌های پایین باید دیده شود!
لذا پیشاپیش از میزان نیاز سخت‌افزاری ابزاری که با آن اقدام به تولید محصول یا نرم‌افزار میکنید اطلاعات کسب کنید!

البته نباید فراموش کرد نرم‌افزاهای خاص نیاز به سخت‌افزار خاص نیز دارند مثلا در مورد نرم‌افزار های گرافیکی تهیه سخت‌افزار مناسب برعهده مشتری یا کاربر است.

در این مورد ابزار هایی که برای شما کد ماشین تولید میکنند مناسب تر هستند تا نرم افزار هایی که نیاز به ماشین مجازی دارند در اغلب موارد منابع سیستم توسط سیستم عامل یا همان سکو به شکل غیر قابل باوری تصرف شده اند(در مورد سیستم‌های قدیمی) و یک ماشین مجازی مثل Java یا .Net میتواند کابوسی را به بار آورد.

تفاوت در آنجاست که نرم‌افزار‌هایی که با .Net یا Java فراهم میشوند نیاز به یک ماشین مجازی دارند که باید از قبل روی سیستم مشتری نصب باشد، که البته باز هم شرایط دیگری پیش می آید مثلا تصور کنید ویندوز Xp با نسخه‌های قدیمی که سازمان برای اجرای نرم‌افزار های قدیمی خود وابسته به آن است و نسخه‌ای از .Net که روی آن نصب نمی‌شود. البته در این میان(نرم‌افزارهای نیازمند به ماشین مجازی VM) گوی سبقت در دست Java است چون معمولا بدون درنظر گرفتن نسخه سیستم عامل و قابلیت‌ها یا محدودیت‌های آن به صورت موفق نصب و اجرا میشود(صرف نظر از سرعت و سهولت کار با محصول حین اجرای آن روی ماشین کاربر)

اما در صورتی که محیط توسعه، زبان برنامه نویسی، ابزار (یا هر عنوانی که مطبوع شماست) شما کد ماشین تولید کند که بدون واسطه روی سکو(سیستم عامل) و مستقیم بر روی CPU اجرا شود بسیاری از این چالش ها پیش روی شما نیست! مانند :

C/C++/Qt/GTK/Freepascal+Lazarus

در مورد زبان‌ها و محیط‌های ذکر شده بالا غیر از فری‌پاسکال و لازاروس مابقی از زبان‌های سی و سی‌پلاس‌پلاس استفاده میکنند بعلاوه ویجت‌ست های فراهم شده توسط لازاروس امکان انتخاب سکوی اجرا و همچنین ویجت‌ست مطبوع شما را فراهم کرده شما یکبار نرم‌افزار خود را نوشته و تهیه کرده‌اید، میتوانید نرم‌افزار را برای ویندوز با ویجت‌ست Win32 / GTK /Qt در لینوکس با ویجت‌ست GTK/Qt و در مک‌او‌اس با ویجت‌ست های GTK/Cacao همگردانی مجدد کنید بدون آنکه تغییری در ساختار نرم‌افزار ایجاد کنید.

 

این متن مرتبط و در ادامه مطلب چالش‌های پیش روی توسعه گران نرم‌افزار است.

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

  • MaM rEzO

ارسال نظر

تنها امکان ارسال نظر خصوصی وجود دارد
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
نظر شما به هیچ وجه امکان عمومی شدن در قسمت نظرات را ندارد، و تنها راه پاسخگویی به آن نیز از طریق پست الکترونیک می‌باشد. بنابراین در صورتیکه مایل به دریافت پاسخ هستید، پست الکترونیک خود را وارد کنید.