توی Front-end ما اکثرا تصوری که داریم یا وب هست و یا اپلیکیشن برای گوشی یا کامپیوتر، همهی اینها زیرمجموعهی Graphical User Interface (GUI) یا رابط کاربری گرافیکی میشن. پس میشه پرسید که خب رابط کاربری غیر گرافیکی چی؟ اینجاست که با Terminal/Text User Interface (TUI) آشنا میشیم.
به شخصه خیلی ازش لذت میبرم و حتی بنظرم توسعهش جذابتره. شاید ساده بنظر بیاد اما خیلی کارهای حرفهای و قشنگی میشه باهاش انجام داد.
بنظرم اگه روزی اپلیکیشنی برای پلتفرمهای مختلف توسعه بدم، حتما نسخهی ترمینالش هم سعی میکنم توسعه بدم.
توی دات نت برای توسعهی اپلیکیشن ترمینالی یا کنسول، یکی دوتا پکیج معروف هست. یکیش Spectre.Console هست:
https://spectreconsole.net/
یکی دیگهش هم Terminal.Gui هست که نسبت به قبلی کمی متفاوته و کارهای تخصصی تری شاید بشه باهاش انجام داد:
https://github.com/gui-cs/Terminal.Gui
دلیل اصلی این موضوع هم اینه که اسپکتر بیشتر یه سری دستکاریهای ترمینالی رو راحت میکنه و طراحی رابطهای پیچیدهتر رو تا حدودی راحتتر میکنه. اما نمیشه باهاش یه سری کارها رو انجام داد. ولی کار باهاش راحتتر و سریع تره. از طرفی ترمینال گویی به ما اجازه میده از اول رابط رو تعریف کنیم و دستمون باز تره، اما مسیر یادگیریش طولانیتر و پیچیده تره.
در گشت و گذار بودم که به این پروژهی جالب برخوردم:
https://github.com/andrewmd5/dawn
یک Terminal Live Markdown Editor هست. ظاهر باحالی داره اما احتمالا بدرد کسی بخوره که اکثر وقتش رو توی ترمینال میگذرونه. خلاصه از TUI غافل نشین!
@ever_code
Post #139
245