امروزه برنامه نویسی فرانت اند و پیاده سازی ظاهر سایت، نسبت به سالهای اولیه ظهور اینترنت و شبکه جهانی وب (www) تغییرات بسیار زیادی را تجربه کرده است. دیگر کمتر سایتی پیدا میشود که برای برنامه نویسی فرانت اند فقط به HTML و CSS متکی باشد. امروزه تکنولوژیهای طراحی و برنامه نویسی رابط کاربری به حدی پیشرفت کردهاند که بعضی از برنامه نویسان به طور تخصصی فقط روی یک حوزه مثل FrontEnd کار میکنند. Gulp یکی از همین تکنولوژیهای جدید است که توسعه دهنده را از انجام کارهای تکراری و گاهی خسته کننده نجات میدهد. در این مطلب به این موضوع میپردازیم که گالپ چیست و چه کاربردهایی دارد.
Gulp چیست ؟
Gulp ابزاری متن باز و رایگان بوده که توسط آقای Eric Schoffstall به زبان جاوا اسکریپت نوشته شده است. گالپ یک Build System یا Task Manager برای محیط Node.Js و پکیج منیجر npm میباشد. از گالپ در برنامه نویسی و توسعه فرانت اند استفاده میشود. به کمک Gulp میتوان یک سری کارهای تکراری و زمانبر را به صورت خودکار انجام داد. به این ترتیب کار برنامه نویس کمی سبکتر شده و سرعت اجرای پروژه تا حد زیادی بالا میرود.
البته فراموش نکنید که Gulp فقط برای برنامه نویسان فرانت اند نیست و میتوان از پکیجهای آن در برنامه نویسی سمت سرور هم استفاده کرد.
کارهایی مثل فشرده سازی کدها، بهینه سازی، Unit Testing، تبدیل فایل Sass به CSS، ساخت تمپلیت HTML، فشرده کردن تصاویر، ساخت محیط لوکال هاست و غیره به کمک گالپ به سادهترین شکل ممکن انجام میشوند. کافی است Gulp را نصب کنیم تا این ابزار کارهای این چنینی را برای ما به صورت خودکار (Automate) انجام دهد.
پکیجهای Gulp چه هستند و چه کاری انجام میدهند ؟
Gulp برای اجرای Taskهای مختلف از پکیجهای کوچک و تک منظوره استفاده میکند و هر بخش کار را یک پکیج انجام میدهد. در حال حاضر Gulp نزدیک به ۴۰۰۰ پکیج مختلف دارد که این عدد مرتب رو به افزایش بوده و ممکن است چند سال بعد بیشتر از این هم بشود. اما این پکیجها چطور کار میکنند؟
با یک مثال بهتر متوجه نحوه کار این پکیجها خواهیم شد. فرض کنید برنامه ای به زبان PHP نوشته اید و با خودتان میگویید کاش ابزاری وجود داشت که به طور خودکار کامنتها یا بخشهای اضافه کد را برای من حذف میکرد، با کمال خوشحالی باید بگوییم که چنین ابزاری وجود دارد.
کافی است به کمک Gulp پکیج Gulp-PHP-Minify را نصب کنید تا این ابزار خودش کار را انجام داده و کد PHP شما راتر و تمیز کند. طیف گستردهای از این پکیجها در مخزن Gulp وجود دارند که هر کدام کار مشخصی انجام میدهند. کافی است با توجه به نیاز خود پکیجهای مختلف را به پروژه خود اضافه کنید.
Gulp چه کاربردهایی دارد ؟
همانطور که گفتیم این یک ابزار نوشته شده به زبان جاوا اسکریپت بر پایه Node Stream است که میتواند در طول ساخت و تولید نرم افزار، بسیاری از کارهای رایج را به طور خودکار انجام دهد. با اینکه Gulp رقبایی مثل Broccoli، Grunt و غیره دارد، به خاطر استریم کردن و داشتن سرعت بالا یک سر و گردن بالاتر از رقبایش قرار دارد. به طور کلی با Gulp میتوانید کارهای زیر را انجام دهید:
- فایلها را به راحتی جا به جا کنید (مثلا از پوشه Project به پوشه Web)
- فایلها را به راحتی با هم ادغام کنید
- نوع فایلها را تغییر دهید (مثلا تبدیل فایل Less به CSS)
- فایلها را بهینه کنید ( شامل فایلهای CSS، جاوا اسکریپت، تصاویر و غیره )
جمع بندی
گالپ یک Task Runner بر پایه زبان جاوا اسکریپت است که با خودکارسازی بسیاری از فرآیندهای تکراری و خسته کننده، کار برنامه نویس را آسان میکند. از گالپ هم در کلاینت هم در سرور میشود استفاده کرد. در واقع بعضی از Taskها در بسیاری از برنامهها تکرار میشوند و گالپ کمک میکند با نصب پکیجهای مربوطه و تایپ چند دستور خاص این کارها را به صورت خودکار مدیریت کنید. به این ترتیب روند تولید نرم افزار بهینهتر شده و در وقت توسعه دهندگان صرفه جویی میشود.