
CLI Applications
فصل 15 کتاب پایتون 3.12 در دست ترجمه: در این فصل قرار است درباره نحوه ایجاد اپلیکیشنهای Command-Line Interface (CLI) بیاموزیم که در پایتون با عنوان اپلیکیشنهای خط فرمان شناخته میشود. هر CLI، یک رابط کاربری است که کاربران فرمانها را در کنسول یا ترمینال آن تایپ میکنند. نمونههای قابل توجه آن شامل پوستههای Bash و Zsh در macOS، لینوکس و سایر سیستمعاملهای برپایه یونیکس، و Command Prompt و PowerShell در ویندوز است. هر اپلیکیشن CLI برنامهای کاربردی است که در درجه نخست در چنین محیط پوسته خط فرمانی بهکار میرفته است. با تایپ یک فرمان در پوسته، که شاید با آرگومانهایی در ادامهاش همراه باشد، یک اپلیکیشن CLI را اجرا میکنند.
باوجودیکه Graphical User Interfaces (GUIs) و اپلیکیشنهای وب بسیار مشهورترند، باز اپلیکیشنهای CLI جایگاه خودشان را دارند؛ آنها بهویژه بین توسعهدهندگان، ادمینهای سیستم، ادمینهای شبکه، و سایر کاربران فنی مشهور هستند. این مشهور بودن به چند دلیل است. به محض اینکه با فرمانهای لازم آشنا هستید میتوانید اغلب با تایپ فرمانها در یک CLI کاری سریعتر نسبت به کلیک در منوها و دکمههای یک GUI انجام دهید. بیشتر پوستهها نیز امکان اتصال خروجی یک فرمان بهشکل مستقیم در ورودی دیگری را دارند. به این عمل piping یا لولهکشی میگویند و به کاربران امکان میدهد فرمانهای ساده را در خطوط لوله پردازش داده ترکیب کنند تا وظایف پیچیدهتری به انجام برسد. ترتیب فرمانها میتواند در اسکریپتها ذخیره شود تا امکان تکرارپذیری و خودکارساری فراهم گردد. همچنین نوشتن دستورالعملهای انجام یک کار با ارائه دستورات دقیق برای تایپ کردن، سادهتر است تا توضیح چگونگی ناوبری در یک رابط گرافیکی (GUI) یا رابط کاربری وب. توسعه و نگهداری اپلیکیشنهای CLI نسبت به رابطهای کاربری وب یا رابطهای کاربری گرافیکی، بسیار سریعتر و آسانتر است. به این دلیل، گاهی تیمهای توسعهای ترجیح میدهند ابزارهایی برای استفاده داخلی به عنوان اپلیکیشنهای CLI پیادهسازی کنند. این به آنها امکان صرفهجویی در زمان و تلاش صرف شده در ساخت ابزارهای داخلی و تمرکز بیشتر روی ویژگیهای مشتری پسند را میدهد. یادگیری نحوه ساخت اپلیکیشنهای خط فرمانی نیز گامی عالی بهسمت آموزش شیوه ساخت نرمافزاری پیچیدهتر همچون اپلیکیشنهای GUI یا اپلیکیشنهای توزیع یافته است.
در این فصل، یک اپلیکیشن خط فرمانی را برای تعامل با API راه آهنی که در فصل پیش آموختیم را خواهیم ساخت. از این پروژه برای بررسی عناوین زیر استفاده خواهیم کرد:
· تجزیه آرگومانهای خط فرمانی
· ساختاربندی یک اپلیکیشن CLI با شکستن آن به زیرفرمانها
· کار کردن امن با گذرواژهها