کتاب TypeScript Cookbook: Real World Type-Level Programming (کتاب راهنمای TypeScript: برنامهنویسی در سطح نوع دنیای واقعی) در 12 فصل مفاهیم مقدماتی تا نکات پیشرفتهی زبان TypeScript را آموزش میدهد.
در ادامه مقدمهای از کتاب TypeScript Cookbook را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب TypeScript Cookbook:
تنها راهی که میتوانید این جمله را بخوانید این است که این کتاب را به صورت فیزیکی یا دیجیتالی باز کنید. این به من میگوید که شما به TypeScript، یکی از محبوبترین زبانهای برنامهنویسی در سالهای اخیر علاقهمند هستید.
طبق نظرسنجی وضعیت جاوا اسکریپت در سال 2022، تقریباً 70 درصد از همه شرکت کنندگان به طور فعال از TypeScript استفاده میکنند. نظرسنجی StackOverflow در سال 2022، TypeScript را به عنوان یکی از پنج زبان برتر محبوب و چهارمین زبان بالاتر در میزان رضایت کاربر فهرست میکند. در ابتدای سال 2023، تایپ اسکریپت بیش از 40 میلیون بارگیری هفتگی در NPM دارد.
بدون شک: TypeScript یک پدیده است!
با وجود محبوبیت، تایپ اسکریپت هنوز هم برای بسیاری از توسعه دهندگان مشکل ایجاد میکند. مبارزه با تایپگر عبارتی است که اغلب میشنوید. یکی دیگر چند تا از آنها را در آنجا پرتاب میکند تا ساکت شود. برخی از افراد احساس میکنند کند شدهاند، وقتی میدانند کدشان باید کار کند، فقط برای خوشحال کردن کامپایلر مینویسند. با این حال، تنها هدف TypeScript این است که توسعه دهندگان جاوا اسکریپت را سازنده تر و کارآمدتر کند. آیا ابزار در نهایت به اهداف خود نمیرسد یا ما به عنوان توسعه دهندگان از ابزار چیزی متفاوت از ابزاری که برای ارائه طراحی شده است انتظار داریم؟
پاسخ مشخص است، و اینجاست که TypeScript Cookbook وارد میشود. در کتاب TypeScript Cookbook، شما بیش از صد دستور غذا را پیدا خواهید کرد که با همه چیز از تنظیمات پروژه پیچیده گرفته تا تکنیکهای پیشرفته تایپ سروکار دارد. شما در مورد پیچیدگیها و عملکردهای درونی نوع سیستم، و همچنین معاوضهها و استثناهایی که باید ایجاد کند تا در پایه آن دخالت نکند، یاد خواهید گرفت: جاوا اسکریپت. همچنین روشها، الگوهای طراحی و تکنیکهای توسعه را برای ایجاد کد TypeScript بهتر و قویتر یاد خواهید گرفت. در پایان، نه تنها نحوهی انجام کاری را درک خواهید کرد، بلکه دلیل آن را نیز خواهید فهمید.
هدف من این است که به شما راهنمایی بدهم که شما را از مبتدی به متخصص برساند، و همچنین یک مرجع سریع که بتوانید پس از خواندن کتاب به خوبی از آن استفاده کنید. با چهار نسخه منتشر شده TypeScript در سال، فهرست کردن همه به روزترین ویژگیها در یک کتاب غیرممکن است. به همین دلیل است که ما بر جنبههای طولانی مدت زبان برنامه نویسی تمرکز میکنیم تا شما را برای همه تغییرات آینده آماده کنیم. به کتاب راهنمای TypeScript خوش آمدید.
کتاب TypeScript Cookbook برای چه کسی است:
این کتاب برای توسعهدهندگان، مهندسان و معمارانی است که به اندازه کافی جاوا اسکریپت را برای خطرناک بودن میدانند و پای خود را در TypeScript خیس کرده اند. شما مفاهیم اساسی انواع و نحوهی به کارگیری آنها را درک میکنید و مزایای فوری انواع استاتیک را درک میکنید. شما در نقطهای هستید که همه چیز جالب میشود: به دانش عمیقتری از سیستم نوع نیاز دارید، و باید به طور فعال با TypeScript کار کنید نه تنها برای اطمینان از یک برنامه قوی و مقیاسپذیر، بلکه برای تضمین همکاری بین شما و همکارانتان.
شما میخواهید در مورد نحوهی رفتار یک چیز در TypeScript و همچنین درک استدلال پشت رفتار آن بیاموزید. این چیزی است که در کتاب راهنمای TypeScript دریافت میکنید. شما راهاندازی پروژه، ویژگیها و رفتار نوع سیستم را یاد خواهید گرفت.
انواع پیچیده و موارد استفاده از آنها؛ و کار با چارچوبها و به کارگیری متدولوژی توسعه نوع. کتاب TypeScript Cookbook به گونه ای طراحی شده است که شما را از مبتدی به شاگرد و در نهایت به متخصص برساند. اگر برای یادگیری فعالانه ویژگیهای پیچیده TypeScript، و همچنین مرجعی که میتوانید در طول حرفهتان به آن تکیه کنید، به راهنمایی نیاز دارید، این کتاب به درستی توسط شما انجام خواهد شد.
در کتاب TypeScript Cookbook چیست؟
هدف اصلی نوشتن کتاب راهنمای TypeScript تمرکز بر راه حلهای مشکلات روزمره بود. تایپ اسکریپت یک زبان برنامهنویسی قابل توجه است و ویژگیهای سیستم تایپ آنقدر قدرتمند است که به نقطه ای میرسیم که مردم خود را با پازلهای پیشرفته TypeScript به چالش میکشند. در حالی که این بازیهای فکری سرگرمکننده هستند، اغلب فاقد زمینه دنیای واقعی هستند و بنابراین بخشی از این کتاب نیستند.
من میخواهم مطمئن شوم که محتوای ارائهشده چیزی است که در زندگی روزمره خود بهعنوان یک توسعهدهنده TypeScript با مشکلاتی که از موقعیتهای دنیای واقعی و راهحلهای جامع نشأت میگیرد، با آن مواجه خواهید شد. من تکنیکها و روشهایی را به شما آموزش میدهم که میتوانید در چندین سناریو استفاده کنید، نه فقط در یک دستور غذا. در سرتاسر کتاب TypeScript Cookbook، ارجاعاتی به دستور العملهای قبلی پیدا خواهید کرد، که به شما نشان میدهد چگونه یک روش خاص را میتوان در یک زمینه جدید به کار برد.
مثالها یا مستقیماً از کد منبع پروژههای واقعی حذف میشوند یا برای نشان دادن یک مفهوم بدون نیاز به دانش بیش از حد دامنه، به موارد ضروری حذف میشوند. در حالی که برخی از نمونهها بسیار خاص هستند، شما همچنین بسیاری از اشیاء شخص را خواهید دید که نام “استفان” دارند (و میتوانید سن من را در سراسر کتاب ببینید).
کتاب TypeScript Cookbook تقریباً به طور انحصاری بر روی ویژگیهایی تمرکز میکند که TypeScript در بالای جاوا اسکریپت اضافه میکند. بنابراین، برای درک کامل مثال، باید مقدار معقولی از جاوا اسکریپت را درک کنید. من انتظار ندارم که شما یک استاد جاوا اسکریپت باشید، اما خواندن کدهای اصلی جاوا اسکریپت ضروری است.
از آنجایی که جاوا اسکریپت و تایپ اسکریپت این رابطه قوی را دارند، برخی از فصلهای کتاب TypeScript Cookbook ویژگیهای جاوا اسکریپت و رفتار آنها را مورد بحث قرار میدهند، اما همیشه از دریچه تایپ اسکریپت.
کتاب TypeScript Cookbook طراحی شده است تا به شما یک راه حل سریع برای یک مشکل بدهد: یک دستور غذا. در این کتاب، هر دستور غذا با یک بحث به پایان میرسد، و به شما زمینه و مفهوم گسترده تری برای راه حل میدهد.
بسته به سبک نویسنده، تمرکز کتابهای راهنمای O’Reilly بر روی راهحل یا بحث است. TypeScript Cookbook بدون تردید یک کتاب بحث است. در تقریباً 20 سال کارم به عنوان شخصی که نرمافزار مینویسد، هرگز با موقعیتهایی مواجه نشدهام که در آن یک راهحل برای همه مشکلات مناسب باشد. به همین دلیل است که میخواهم با جزئیات به شما نشان دهم که چگونه به نتیجهگیریها، معنای آنها و مبادلات رسیدیم. در نهایت، این کتاب باید راهنمای چنین بحثهایی باشد. چرا وقتی استدلالهای مناسبی برای تصمیمات خود دارید، حدس بزنید؟
سازمان کتاب TypeScript Cookbook
کتاب راهنمای TypeScript شما را از ابتدا تا انتها با زبان آشنا میکند. ما با راهاندازی پروژه شروع میکنیم، در مورد انواع اساسی و عملکرد درونی سیستم نوع صحبت میکنیم و در نهایت وارد قلمرو پیشرفتهای مانند انواع شرطی و انواع کمکی میشویم. ما با فصلهایی که ویژگیهای بسیار خاص را بررسی میکنند، مانند دوگانگی کلاسها و پشتیبانی از React، ادامه میدهیم و با یادگیری نحوهی بهترین رویکرد توسعه نوع پایان میدهیم.
در حالی که یک موضوع و انباشته وجود دارد، هر فصل و هر دستور غذا میتواند به تنهایی مصرف شود. هر درس برای اشاره به ارتباط با دستور العملهای قبلی (یا بعدی!) در کتاب طراحی شده است، اما هر فصل در نهایت مستقل است. با خیال راحت آن را از ابتدا تا انتها مصرف کنید یا از رویکرد “ماجراجویی خود را انتخاب کنید” با مراجع متعدد آن استفاده کنید. در اینجا مروری مختصر بر محتوا است.
TypeScript میخواهد با همه طعمهای جاوا اسکریپت کار کند و طعمهای مختلف زیادی وجود دارد. در فصل 1، «تنظیم پروژه»، با امکانات پیکربندی برای زمانهای اجرا زبان، سیستمهای ماژول و سکوهای هدف متفاوت آشنا میشوید.
فصل 2 کتاب TypeScript Cookbook، «انواع پایه» شما را از طریق سلسله مراتب نوع راهنمایی میکند، تفاوت بین هر کدام و ناشناخته را به شما میگوید، به شما میآموزد کدام کد در کدام فضای نام نقش دارد، و به این سؤال قدیمی پاسخ میدهد که آیا یک نوع مستعار یا یک رابط انتخاب کنید. انواع شیء خود را شرح دهید
یکی از فصلهای طولانیتر کتاب TypeScript Cookbook، فصل 3، «سیستم نوع» است. در اینجا همه چیز را در مورد انواع اتحاد و تقاطع، نحوهی تعریف انواع اتحادیههای متمایز، نحوهی استفاده از تکنیکهای assert never و optional never، و نحوهی باریک و گسترده کردن انواع بر اساس مورد استفاده خود خواهید آموخت. پس از این فصل، خواهید فهمید که چرا TypeScript دارای اظهارات نوع است و هیچ نوع ریخته گری ندارد، چرا enum ها به طور کلی مورد توجه قرار نمیگیرند، و چگونه بیتهای اسمی را در یک سیستم نوع ساختاری پیدا میکنید.
TypeScript یک سیستم نوع عمومی دارد که در فصل 4 کتاب TypeScript Cookbook، «عمومی» به تفصیل آن را خواهیم دید. ژنریکها نه تنها کد شما را قابل استفاده مجدد میکنند، بلکه ورودی ویژگیهای پیشرفتهتر TypeScript هستند. این فصل نقطهای را مشخص میکند که از مبانی TypeScript به قسمتهای پیچیدهتر سیستم تایپ صعود میکنید، پایانی مناسب برای بخش اول.
فصل 5 کتاب TypeScript Cookbook، «انواع شرطی» توضیح میدهد که چرا سیستم نوع TypeScript زبان فرابرنامهنویسی خودش است. با امکان انتخاب انواع بر اساس شرایط خاص، مردم برجسته ترین چیزها را اختراع کردند، مانند یک تجزیهکننده SQL کامل یا یک فرهنگ لغت در سیستم تایپ. ما از انواع شرطی به عنوان ابزاری برای انعطاف پذیرتر کردن سیستم نوع استاتیک برای موقعیتهای پویا استفاده میکنیم.
در فصل 6 کتاب TypeScript Cookbook «انواع تحت اللفظی الگوی رشتهای» میبینید که چگونه TypeScript یک تجزیهکننده رشته را در سیستم نوع یکپارچه میکند. استخراج نام از رشتههای قالب، تعریف یک سیستم رویداد پویا بر اساس ورودی رشته، و ایجاد شناسهها به صورت پویا: هیچ چیز غیرممکن به نظر نمیرسد!
در فصل 7 کتاب TypeScript Cookbook، «انواع تاپلهای Variadic»، کمی از برنامهنویسی کاربردی چشید. تاپل در TypeScript معنای خاصی دارد و به توصیف پارامترهای تابع و آرایههای شی مانند کمک میکند و توابع کمکی انعطافپذیر ایجاد میکند.
حتی فرابرنامهنویسی بیشتری در فصل ۸، «انواع کمککننده» اتفاق میافتد. TypeScript دارای چند نوع کمکی داخلی است که استخراج انواع از انواع دیگر را برای شما آسان تر میکند. در این فصل، نه تنها نحوهی استفاده از آنها را یاد میگیرید، بلکه نحوهی ایجاد خود را نیز یاد میگیرید. این فصل همچنین نقطه انفصال بعدی در کتاب راهنمای TypeScript را مشخص میکند زیرا در این مرحله شما تمام اجزای اصلی زبان و سیستم نوع را یاد گرفته اید که میتوانید آن را در قسمت بعدی اعمال کنید.
پس از گذراندن هشت فصل برای درک تمام جزئیات سیستم نوع، وقت آن است که دانش خود را با تعاریف نوع انجام شده توسط دیگران در فصل 9، «کتابخانه استاندارد و تعاریف نوع خارجی» یکپارچه کنید. در این فصل موقعیتهایی را مشاهده خواهید کرد که متفاوت از آنچه انتظار میرود کار میکنند و خواهید دید که چگونه میتوانید تعاریف نوع داخلی را مطابق میل خود تغییر دهید.
در فصل 10، «TypeScript and React» میآموزید که چگونه یکی از محبوبترین چارچوبهای جاوا اسکریپت در TypeScript ادغام شده است، ویژگیهایی که پسوند نحوی JSX را ممکن میسازد، و چگونه این مورد با مفهوم کلی TypeScript مطابقت دارد. همچنین یاد خواهید گرفت که چگونه انواع قوی برای کامپوننتها و قلابها بنویسید و چگونه با یک فایل تعریف نوع که پس از این واقعیت به کتابخانه واقعی پیوست شده است برخورد کنید.
فصل بعدی کتاب TypeScript Cookbook در مورد کلاسها است، یک جزء اصلی از برنامهنویسی شیگرا که مدتها قبل از وجود مشابه آنها در جاوا اسکریپت در TypeScript موجود بود. این منجر به دوگانگی جالبی از ویژگیها میشود که در فصل 11، «کلاسها» به تفصیل مورد بحث قرار گرفته است.
کتاب TypeScript Cookbook با فصل ۱۲، «استراتژیهای توسعه نوع» به پایان میرسد. در اینجا من بر روی ارائه مهارتهایی به شما تمرکز میکنم که بتوانید انواع پیشرفته را به تنهایی ایجاد کنید، تصمیمات درستی در مورد نحوهی حرکت پروژه خود بگیرید و با کتابخانههایی که انواع را برای شما اعتبارسنجی میکنند، مقابله کنید. همچنین در مورد راهحلهای ویژه و ویژگیهای مخفی یاد خواهید گرفت و در مورد نحوهی نامگذاری ژنریکها یا اینکه آیا انواع پیشرفته کمی بیش از حد هستند صحبت خواهید کرد. این فصل از کتاب TypeScript Cookbook سرگرمکننده است زیرا پس از یک سفر طولانی از مبتدی تا شاگرد، به وضعیت متخصص خواهید رسید.
همه نمونهها به عنوان یک زمین بازی TypeScript یا پروژه CodeSandbox در وبسایت کتاب موجود است. زمینهای بازی به طور خاص حالت متوسطی را ارائه میدهند، بنابراین می توانید به تنهایی در اطراف کمانچه بازی کنید و با رفتارها بازی کنید. من همیشه میگویم که شما نمیتوانید یک زبان برنامه نویسی را فقط با مطالعه در مورد آن یاد بگیرید. شما باید به طور فعال کدنویسی کنید و دستان خود را کثیف کنید تا بفهمید که چگونه همه چیز با هم بازی میکند. این را به عنوان دعوتی برای تفریح با انواع برنامه نویسی ببینید.
سرفصلهای کتاب TypeScript Cookbook:
- Foreword
- Preface
- 1. Project Setup
- 2. Basic Types
- 3. The Type System
- 4. Generics
- 5. Conditional Types
- 6. String Template Literal Types
- 7. Variadic Tuple Types
- 8. Helper Types
- 9. The Standard Library and External Type Definitions
- 10. TypeScript and React
- 11. Classes
- 12. Type Development Strategies
- Index
- About the Author
جهت دانلود کتاب TypeScript Cookbook میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.