10-07-2020, 03:02 PM
جاوا اسکریپت در سال گذشته نیز بر اساس پیمایش بزرگترین وبسایت مربوط به برنامهنویسی دنیا stackoverflow همچنان محبوبترین و پراستفادهترین زبان برنامهنویسی دنیا بوده است. از این رو اکوسیستم بزرگی پیرامون این زبان برنامهنویسی شکل یافته است. اما کتابخانه استاندارد جاوا اسکریپت همچنان کوچک مانده است و از این رو برای پر کردن این شکاف، در طی سالهای اخیر کتابخانههای کاربردی زیادی روی گیتهاب رشد یافتهاند. در ادامه فهرست کوتاهی از یازده کتابخانه جاوا اسکریپت که بیشترین توجه را کسب کردهاند ارائه کردهایم.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-GarWhFac4rivkILUe6WW7A.png[/img]کامپوننتهای Lodash که به صورت تک تک به وسیله Bit در دسترس هستند.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-ABNOknjk6gnMIRnyjT_m4Q.png[/img]
1. (Underscore & Lodash (dah
بسیاری از برنامه نویسان جاوا اسکریپت با این دو کتابخانه آشنا هستند. Underscore برای ارائه تابعهای کاربردی برای وظایف رایج در جاوا اسکریپت ساخته شده است. Lodash به عنوان پر دانلودترین و کتابخانهای که بیشترین تعداد بستههای وابسته (dependent) را دارد، جهت پشتیبانی منسجم از حلقههای چند محیطی روی آرایهها، رشتهها، اشیا و شیءهای آرگومان ساخته شده است. به همین دلیل Lodash به یک ابرمجموعه Underscore تبدیل شده است. هر دو آنها از سوی مشارکتکنندگان یکسانی نگهداری میشوند. این دو کتابخانه Lodash و Underscore حتماً باید در مجموعه ابزارهای شما قرار داشته باشند.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-GarWhFac4rivkILUe6WW7A.png[/img]کامپوننتهای Lodash که به صورت تک تک به وسیله Bit در دسترس هستند.
2. Ramda
این کتابخانه کاربردی جاوا اسکریپت به نام Ramda با بیش از 12 هزار ستاره گیتهاب، برای برنامهنویسی تابعی طراحی شده است و امکان ایجاد pipeline-های تابعی را فراهم میکند که دادههای کاربر را تغییر نمیدهند. تغییرناپذیری (Immutability) و تابعهای بدون عوارض جانبی، فلسفه اصلی طراحی این کتابخانه را تشکیل میدهند. همه تابعها به طور خودکار تغییر مییابند و همه پارامترهای ارسالی بر همین اساس جهت سهولت استفاده بازآرایی میشوند.
3. MathJS
این کتابخانه با بیش از 6 هزار ستاره روی گیتهاب یک کتابخانه گسترده ریاضیاتی برای جاوا اسکریپت و Node.js محسوب میشود که با کتابخانه ریاضی درونی جاوا اسکریپت نیز سازگار است. این کتابخانه شامل یک پارسر عبارت انعطافپذیر است که توانایی اجرای محاسبات نمادین را دارد و به همراه مجموعه بزرگی از تابعها و ثابتهای توکار ارائه میشود. شما میتوانید حتی این کتابخانه را توسعه دهید.
4. Moment/date-fns
moment.js با نزدیک به 40 هزار ستاره یک کتابخانه دستکاری تاریخ و زمان جاوا اسکریپت برای تجزیه، اعتبارسنجی دستکاری و قالببندی تاریخها است. Moment برای کار در مرورگر و همچنین Node.js طراحی شده است. از نسخه 2.10.0 این کد در ماژولهای ECMAScript 6 نوشته میشود.
Date-fns یک کتابخانه دستکاری زمان در جاوا اسکریپت است که محبوبیت فزایندهای یافته است (11 هزار ستاره با توجه به نیم میلیون نصب هفتگی NPM) و از سوی توسعهدهندگان زیادی برای جایگزینی moment.js استفاده میشود. این کتابخانه بیش از 130 تابع برای دستکاری دادهها و تغییرناپذیر نگهداشتن چیزها در عین عدمتغییر دادن وهلههای ارسالی دارد. این کتابخانه به خوبی با webpack، Browserify یا Rollup کار میکند و از tree-shaking پشتیبانی میکند.
5. Sugar
کتابخانه Sugar با بیش از 3500 ستاره در گیتهاب یک کتابخانه کاربردی جاوا اسکریپت است که روی شیءهای native کار میکند. Build-های سفارشی و بستههای ماژول سازی شده npm این امکان را در اختیار شما قرار میدهد که تنها از آن چه نیاز دارید استفاده کنید. این کتابخانه را میتوان با Bit ترکیب کرد و کاربران میتوانند متدهایی تعریف کنند یا از افزونههایی برای مدیریت کاربردهای خاص استفاده کنند.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-opTXAh1ohEAVpBM4WffuMQ.png[/img]sugar.js در عمل6. Lazy
کتابخانه lazy.js با 5 هزار ستاره، یک کتابخانه کاربردی برای جاوا اسکریپت به همراه یک موتور lazy است. این کتابخانه تلاش میکند در عین انعطافپذیری تا حد امکان کار کمتری انجام دهد و هیچ وابستگی خارجی نیز ندارد. دموی زنده آن را در خصوص تست رویدادهای DOM میتوانید در این آدرس (+) ملاحظه کنید. مستندات API این کتابخانه نیز برای آغاز به کار در این آدرس (+) قابل مشاهده هستند.
7. CollectJS
کتابخانه CollectJS یک ابزار کاملاً نویدبخش و بدون هر گونه وابستگی برای کار با آرایهها و اشیا در جاوا اسکریپت است. این کتابخانه دهها کارکرد مفید دارد و API آن تقریباً با مجموعههای لاراول 5.5 (+) برابری میکند. این کتابخانه به طرز فعالی توسعه مییابد و ارزش بررسی کردن را دارد.
8. ChanceJS
این کتابخانه یک مولد مختصر برای رشتهها، اعداد و موارد دیگر تصادفی است. برای کمک به کاهش یکنواختی در زمان نوشتن تستهای خودکار یا در موارد دیگر که به اشیای تصادفی نیاز دارید، میتوانید از این کتابخانه بهره بگیرید. این کتابخانه علیرغم وجود 3500 ستاره بسیار مفید است، چون در اغلب موارد هنگام ایجاد موارد تصادفی الگوهای تکراری پدید میآیند.
9. ChartJS
کتابخانه ChartJS با نزدیک به 40 هزار ستاره گیتهاب مثالی عالی از «کمگوی و گزیده گوی» است. این کتابخانه 8 نوع بصریسازی مختلف داده ارائه میکند که هر کدام قابل انیمیت و سفارشیسازی هستند. ChartJS امکان ایجاد نمودارهای ساده HTML5 با استفاده از تگ <canvas> را میدهد که عملکرد رندرینگ بالایی روی همه مرورگرها دارد. قطعاً یکی از زیباترین و بهترین کتابخانههای این فهرست همین ChartJS است.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-5vb_uzQfSxThunrMR2zU4w.png[/img]بصریسازی مساحت قطبی با استفاده از ChartJS10. Polished
کتابخانه Polished که از سوی تیم styled-components نوشته شده است، یک مجموعه ابزار عالی و سبک برای نوشتن استایلهای مختلف در جاوا اسکریپت به کمک تابعها و mixin-های کمکی Sass-style است. این کتابخانه با استایلهای styled-components ،Aphrodite ،Radium یا plain inline مطابقت دارد. تعیین ترجیح شخصی در گیتهاب میسر است و همه کارکردهای منفرد در کامیونیتی (غیر رسمی) Bit فراهم شده است به طوری که میتوان آنها را به صورت منفرد نصب/ایمپورت کرده و مورد استفاده قرار داد.
11. Mout
کتابخانه Mout.js مجموعهای از ابزارهای جاوا اسکریپت ماژول سازی شده است که میتوان از آنها در مرورگر و ماژولهای AMD یا روی Node.js استفاده کرد و متدهای کمکی مشابه متدهایی که در کتابخانههای استاندارد زبانهای دیگر مانند پایتون، روبی، PHP و غیره یافت میشود، ارائه کرد. کتابخانه Mout.js این امکان را فراهم کرده است که تنها ماژولها/تابعهای مورد نیاز را بارگذاری کنید و یک API سازگار و رفتار نرمال شدهای روی همه مرورگرهای مختلف ارائه میکند.
بدین ترتیب فهرست کتابخانههای مفید جاوا اسکریپت به پایان میرسد؛ اما در ادامه مواردی نیز هستند که شایسته است در این فهرست از آنها نامی ببریم. این موارد را در ادامه مشاهده میکنید.
* Bit utils
Bit utils مجموعهای از کامپوننتهای کاربردی جاوا اسکریپت است که از سوی کامیونیتی Bit ایجاد شده است. با این که وضعیت نگهداری این کتابخانه چندان مناسب نیست؛ اما همچنان یک منبع ارزشمند برای نصب/ایمپورت آنی کارکردهای رایج مختلف به صورت منفرد محسوب میشود. بدین ترتیب شما میتوانید مجموعه خاص خود را ایجاد کنید و از شر موارد تکراری در کد مبنای خود رها شوید.
[img=0x0]https://blog.faradars.org/wp-content/uploads/2019/01/1-FhUJ1rHZegckmKEXOrg3kg.png[/img]
* Voca
Voca یک کتابخانه جاوا اسکریپت برای دستکاری رشتهها است. این کتابخانه شامل تابعهای مفیدی مانند change case ،trim ،pad ،slugify ،latinise ،sprintf’y ،truncate ،escape و موارد دیگر است. شما میتوانید تابعهای منفرد را بارگذاری کنید و بدین ترتیب حجم بیلد اپلیکیشن خود را کاهش دهید. این کتابخانه همراه با پوشش تست بالایی ارائه میشود که هیچ وابستگی ندارد.
* icia
Licia در گیتهاب تنها 400 ستاره دارد. این پروژه جذاب در واقع مجموعهای از قطعه کدهای مفید جاوا اسکریپت با مستندات و پوشش تست بالا است. نسخه 2.0 آن به صورت pre-release در شاخه master قرار گرفته است و پروژهای با نگهداری و توسعه فعال است.