امروزه بسیاری از ابزارهای توسعه ی نرمافزار در IDE ها به صورت پیکج های از پیش نصب شده در اختیار توسعهدهندگان قرار میگیرند و همین مسئله منجر به محبوبیت بیش از پیش IDE در مقایسه با ادیتورهای کد در میان توسعهدهندگان میشود چرا که نه تنها کدنویسی با این محیطهای توسعه راحت تر است، بلکه برنامهنویس دیگر نیازی نخواهد داشت تا به یک سری جزئیات همچون فرایند کامپایل کردن و … فکر کند.
به خاطر داشته باشید |
IDE مخفف واژگان Integrated Development Environment به معنی «محیط توسعه ی یکپارچه ی نرمافزار» است که از مهمترین آنها میتوان به ویژوال استودیو، اکلیپس و نت بینز اشاره کرد. |
سهولت در استفاده از IDE ها گرچه به عنوان یکی از نقاط قوت این دست نرمافزارها محسوب میگردد، اما IDE ها عاری از هر گونه عیبی هم نیستند! زمانی که ما میگوییم استفاده از یک نرمافزار بسیار سهل و آسان است، این بدان معنا است که نرمافزار بسیاری از کارها را به صورت خودکار انجام میدهد؛ به عبارت دیگر، بسیاری از تصمیماتی که بر عهده ی توسعهدهنده هستند را خود نرمافزار میگیرد و به همین دلیل هم هست که توسعهدهندگان ی که صد در صد وابسته به IDE انتخابی خود هستند -خواه ویژوال استودیوی مایکروسافت یا گزینههای اپنسورسی همچون اکلیپس- در یک سری از مواقع اصلاً متوجه نمیشوند که سورسکد ایشان چگونه بیلد میشود و ابزارهای مختلف دقیقاً چه کاری انجام میدهند (به طور مثال، شما یک دکمه را در اندروید استودیو میزنید و خروجی apk حاضر و آماده در اختیار شما قرار میگیرد.)
در نقطه ی مقابل توسعهدهندگان ی که کاملاً وابسته به IDE ها هستند، برنامهنویسانی قرار دارند که از ابزارهای کامند لاینی استفاده میکنند؛ این دست برنامهنویسان زمانی که یک برنامه را بیلد میکنند -البته با استفاده از ابزارهای کامند لاین- دقیقاً میتوانند متوجه شوند که پشت پرده چه اتفاقاتی رخ میدهد.
برای شروع کار با ابزارهای بیلد کردن کامند لاین، میتوان از نمونههای اپنسورسی همچون GCC شروع کرد. زمانی که شما شخصاً اقدام به کامپایل کردن، اسمبل کردن و لینک کردن سورسکد خود میکنید و در نهایت یک بیلد نهایی به دست می آورید، کاملاً با فرایند های توسعه ی نرمافزار آشنا خواهید شد و از آن پس، یک IDE برایتان صرفاً نرمافزاری گرافیکی است که یک سری ابزارهای کامند لاینی را در خود جای داده است.
علاوه بر این که پس از استفاده از ابزارهای کامند لاین برای بیلد کردن سورسکد خود به ماهیت فرایندها پی می برید، یک سری کارهای دیگری نیز میتوانید انجام دهید که در مقایسه با IDE ها از سهولت و اثربخشی بیشتری برخوردارند؛ برای مثال، ابزارهای جستجو و جایگزین کردنی همچون grep و sed گاهی اوقات از گزینههایی که در نرمافزارهای گرافیکی در اختیار توسعهدهندگان قرار میگیرد اثربخش تر هستند.
در ضمن، ابزارهای کامند لاینی امکان اسکریپتنویسی -خودکار کردن یک سری کارهای تکراری- را نیز به شما میدهند تا مثلاً در بازه های زمانی مشخص، نسخههای مختلفی از نرمافزار بیلد شده و ذخیره گردد.
حال سؤالی که اینجا مطرح میشود این است که مگر به غیر از این است که IDE ها برای راحتی کار برنامهنویسان و افزایش بازدهی ایشان طراحی و ساخته شدهاند؟ اگر پاسخ به این سؤال آری است، پس چرا باید برنامهنویسان را تشویق به استفاده از ابزارهای کامند لاینی کنیم؟
پاسخ به سؤال فوق «آری» است اما نکته یی که در این آموزش یاد آور شدیم هرگز بدان معنا نیست که شما از امروز باید IDE خود را کنار بگذارید و کلاً به صورت کامند لاینی فرایند توسعه ی نرمافزار خود را دنبال کنید بلکه منظور این است که آشنایی با ابزارهای کامند لاینی، دید به مراتب بازتری به شما به عنوان یک برنامهنویس میدهند و زمانی که کاری را در نرمافزارهای گرافیکی انجام میدهید که صرفا با چند کلیک به هدف خود میرسید، متوجه میشوید که پشت پرده چه اتفاقاتی رخ میدهد و بهترین رویکرد برای درک این موضوع هم استفاده از ابزارهای کامند لاین است.
پس از آن که شما شروع به استفاده از ابزارهای کامند لاین کردید، هر وقت که با IDE خود کار کنید کاملاً متوجه میشوید که هر کلیک چه کاری انجام میدهد و با دید بازتری میتوانید فرایند بیلد نرمافزار را کنترل کنید. نکته ی آخر هم این که وقتی به کامند لاین تسلط پیدا کنید، به احتمال قریب به یقین دیگر به سمت نرمافزارهای گرافیکی نخواهید رفت!