
از مهمترین و اصلیترین شاخههای برنامهنویسی میتوان به برنامهنویسی تحت شبکه، تحت وب، برنامههای مستقل رایانههای شخصی و برنامهنویسی تلفنهای همراه اشاره کرد. هر کدام از این زمینهها با داشتن فاکتورهای مهم و مورد نیاز مربوط به خود توجه خاص خود را طلب میکند. در ادامه سعی داریم نکاتی را که در هر زمینه بیشتر باید به آنها توجه داشت، به طور اجمالی بررسی و این زمینهها را با هم مقایسه کنیم.
برنامههای مستقل کاربردی
یک دسته از برنامهها هستند که به صورت یک برنامه مستقل قابل اجرا روی یک رایانه عرضه میشوند.
بخش عمدهای از برنامههای رایانهای از این دسته هستند. اینگونه برنامهها، بدون هیچ نوع نیاز به ارتباط، به طور مستقل از سایر برنامهها میتوانند در رایانه شخصی کاربر اجرا شده و به نیازهایی پاسخ دهد. هنگام طراحی چنین برنامههایی، باید سیستمعامل مورد نظر و کامپایلر سازگار با آن سیستمعامل را که بتواند زبان مورد استفاده ما را به برنامه اجرایی تبدیل کند، انتخاب کنیم.
معمولا برنامهنویسها، سیستمعاملی را انتخاب میکنند که در بین کاربران محبوبتر بوده و استفاده بیشتری میشود. زیرا به این ترتیب به نیاز عده بیشتری پاسخ داده خواهد شد. در حال حاضر سیستمعامل ویندوز در میان سایر سیستمعاملها از محبوبیت بیشتری برخوردار بوده و کاربران بیشتری را به خود جلب کرده است.
یکی از مواردی که برنامهنویس باید به آن توجه کند میزان مصرف حافظه و دراختیار گرفتن پردازنده و دیگر منابع سیستم است. هرچه برنامهها کمتر به منابع سیستم نیاز داشته باشند و آنها را کمتر در اختیار بگیرند و در عین حال بتوانند به همه نیازهای پیشبینی شده پاسخ بدهند، بهتر خواهند بود. برنامهنویس باید توجه داشته باشد که در برنامه خود حتیالامکان کمتر از منابع سختافزاری و نرمافزاری سیستم استفاده کند و در صورت در اختیار گرفتن آنها، بلافاصله بعد از استفاده و یا در زمانی که آن را نیاز ندارد، رها کرده تا دیگر برنامهها نیز بتوانند در صورت نیاز از آن بهرهمند شوند. یک راه برای رعایت این مساله استفاده از حافظه به صورت دینامیک یا پویا است. زمانی که حافظهای به صورت استاتیک به برنامهای اختصاص داده میشود، در تمام طول مدت اجرای برنامه در اختیار آن خواهد بود و رها نخواهد شد. اما بسیاری از زبانهای برنامهنویسی این امکان را به ما میدهند که هر میزان حافظه نیاز داریم در زمان اجرای برنامه از سیستم طلب کنیم و زمانی که کارمان با آن تمام شد، آن را آزاد کنیم. به این ترتیب برنامهکمترین میزان ممکن از حافظه را در طول اجرای خود مصرف خواهد کرد.
از سوی دیگر باید به سرعت اجرای برنامه توجه زیادی شود. ممکن است در صورت اشغال کمی حافظه بیشتر، کاربر را متوجه این امر نسازد، اما کندی برنامه و کم بودن سرعت از دید افراد پنهان نخواهد ماند. بنابراین به طور مثال اگر قرار است در طول اجرای برنامه هزاران بار حافظه گرفته و رها شود، بهتر است یک بار این کار به صورت استاتیک انجام شود تا مجبور نباشیم یک سری دستورالعمل را هزاران بار اجرا کنیم.
مساله دیگری که باید به آن توجه شود، واسط گرافیکی برنامه است. اینکه ظاهر برنامه زیبا باشد و طراحی آن کاربر پسند بوده و کار با آن راحت باشد از مهمترین خصوصیات یک برنامه است.
اما باید توجه داشت که استفاده نابجا و بیش از حد امکانات گرافیکی یا در مواردی، امکانات چندرسانهای موجب افزایش مصرف حافظه اصلی یا حافظه گرافیکی شده و ممکن است در سرعت اجرای برنامه تاثیرگذار باشد. اما حتیالامکان باید کاربر را از نظر ظاهر برنامه راضی نگه داشته و شمای بیرونی را طوری طراحی کنیم که کاربر بتواند طریقه انجام بسیاری از کارها در برنامه را با استفاده از ظاهر برنامه حدس بزند.
برنامهنویسی تحت وب
سرعت اجرای برنامه و سرعت پاسخگویی به کاربر مسالهای است که در همه زمینههای برنامهنویسی باید به آن توجه داشت. در برنامهنویسی تحت وب، سرعت پاسخگویی مستقیما با چند عامل در ارتباط است. کد برنامه و روشهای به کار رفته در آنها همانطور که در حالت قبل نیز در سرعت اجرا تاثیر داشت در این حالت نیز تاثیرگذار است. در کنار این مساله، حجم اسناد وب نیز باید تا حد امکان کم باشد تا انتقال فایلهای مربوطه از طریق اینترنت زمان زیادی طول نکشد.
ممکن است برنامه تحت وب ما، کد برنامهنویسی زیادی نداشته باشد. اما از تصاویر گرافیکی حجیم استفاده کرده باشد. با توجه به محدود بودن سرعت انتقال در اینترنت، ممکن است تاخیر در انتقال کامل فایلها حوصله کاربر را سر برده و وی را به بستن برنامه و انصراف از استفاده و مشاهده برنامه شما ترغیب کند.
در طراحی برنامههای تحت وب باید به دو مساله دیگر نیز توجه داشت. یکی این که کاربران ممکن است با نمایشگرهایی با وضوح و ابعاد مختلف به مشاهده سایتی بپردازند. دیگر آن که به دلیل وجود سیستم عاملهای گوناگون و همچنین متفاوت بودن سلیقههای افراد در انتخاب مرورگر، ممکن است سایتی با مرورگرهای مختلفی مشاهده شود. این وظیفه طراح است که برنامه را طوری طراحی کند که اولا با مرورگرهای مختلف مشکلی نداشته و در همه آنها تا حد ممکن بدون تغییر ظاهر شود و ثانیا انعطافپذیری لازم را به هنگام نمایش در ابعاد مختلف نمایشگر داشته باشد.
برنامهنویسی برای تلفنهمراه
امروزه یکی از پرطرفدارترین وسایل، تلفن همراه است که به دلیل این محبوبیت، برنامهنویسی و تولید نرمافزار برای آن نیز از اهمیت زیادی برخوردار است. انواع بسیار زیاد و متنوعی از گوشیهای تلفن همراه در بازار وجود دارند که هر یک از خانواده بخصوصی هستند. این گوشیها معمولا از سیستم عاملهای مختلفی بهره میگیرند.
برنامهنویسی که در زمینه تلفنهای همراه فعالیت میکند باید در نظر داشته باشد که یک برنامه همواره روی همه گوشیها اجرا نخواهد شد و این سازگاری مستقیما با نوع گوشی و سیستم عامل موجود در آن و پشتیبانی سیستم عامل از زبان برنامه شما در ارتباط است. بهتر است برنامهنویس، زبانی را انتخاب کند که با سطح وسیعتری از سیستم عاملها سازگار بوده و از جانب گوشیهای بیشتری پشتیبانی شود. البته این مساله مربوط به زمانی است که فردی بخواهد برای گستره بیشتری از مخاطبان برنامه بسازد. وگرنه بسیاری از افراد تنها برای یک نوع گوشی خاص با سیستم عاملی مشخص برنامه مینویسند.
مساله دیگری که در این زمینه وجود دارد ابعاد نمایشگر است که این بار در مقایسه با برنامهسازی تحت وب از تنوع بیشتری برخوردار است. در این حالت برنامهنویس چند راهحل خواهد داشت. یکی این که برنامه خود را در چند نسخه برای نمایشگرهایی با ابعاد مختلف بازنویسی کند. این اولین راهحلی است که ممکن است به نظر برسد، اما دو راه دیگر وجود دارد. یکی این که برنامه طوری نوشته شود که مستقل از ابعاد نمایشگر، ظاهر خود را حفظ کرده و در برابر تغییرات ابعاد از نظر ظاهری از خود انعطافپذیری نشان دهد. دیگر آن که پیش از اجرای بدنه اصلی برنامه، ابعاد نمایشگر تشخیص داده شود و بعد از آن به بخشی که مربوط به آن ابعاد است پرش شود. در واقع نگارشهای مختلف برنامه در قالب یک برنامه ارائه میشوند و با توجه به نوع گوشی، نگارش مورد نظر فراخوانی میشود. در این روش ممکن است نسبت به روش اول اندکی افزایش حجم داشته باشیم، اما در عوض تصمیمگیری و انتخاب نگارش برنامه را از کاربر به برنامه تغییر دادهایم که این موجب انعطافپذیری بیشتر برنامه خواهد شد.
برنامهنویسی تحت شبکه
در شبکه سرعت ارتباطات و اجرای برنامهها از اینترنت بیشتر اما از سرعت اجرای برنامههای مستقل کاربردی قابل اجرا در یک سیستم کمتر است. طبیعی است که در طراحی این نوع برنامهها باید به هر دو دسته خصوصیات برنامههای تحت وب و برنامههای مستقل تواما توجه داشت و بسته به نوع نیاز به آن ویژگی اهمیت داد.
با توجه به شکل طراحی شبکه و نوع آن، همچنین رسانههای انتقال و سرعت آنها باید برنامهها طوری طراحی شوند که سرعت برنامههای کاربردی مستقل و انعطافپذیری برنامههای تحت وب را داشته باشند. ضمن این که میتوان برای برنامهنویسی تحت شبکه، در مواردی مانند برنامهنویسی تحت وب عمل کرد. یعنی فرض را بر این گذاشت که قرار است برای وب برنامهای طراحی کنیم که کاربران با اتصال به سرویسدهنده از آن استفاده میکنند.
با این تفاوت که سرویسدهنده و کاربران همگی اعضای یک شبکه داخلی هستند.
زمانی که به همه جنبههای برنامهنویسی توجه کافی شود، در نهایت به برنامهای خواهیم رسید که از همه نظر مخاطبان خاص خود را راضی نگه خواهد داشت و پاسخگوی سلیقه و نیاز آنها خواهد بود.
پارسا ستودهنیا
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
عضو دفتر حفظ و نشر آثار رهبر انقلاب در گفتگو با جام جم آنلاین مطرح کرد
در گفتوگو با گردآورنده کتاب «قصه جریحهدار شد» مطرح شد
ناصر ابراهیمی در گفت و گو با جام جم آنلاین؛
گفتوگو با محمد خیراندیش در حاشیه اختتامیه جشنواره بینالمللی فیلم ۱۰۰
رئیس مرکز ارتباطات و رسانه آستان قدس رضوی از تولید یک برنامه نخبگانی میگوید