چند ماه پیش در یک نظرسنجی از کاربران خواستیم که دلایل استفاده از نودجیاس و علاقهشان به آن را به ما بگویند. هدف ما این بود که سختترین مشکلی که با nodejs داریم و موضوعاتی که اغلب نادیده گرفته میشوند را کشف کنیم.
ما همچنین در زمینههای زیربنای برنامههای کاربردی Node.js در بخش تولید مشارکت داشتیم، بنابراین از خوانندگان خواسته شد تا به جای اینکه سرویسهای خود را گسترش دهند، بگویند که فناوریهای پیشنهادی مورد علاقه خود چه هستند، چه نوع پایگاهدادههایی استفاده میکنند و کدام شیوه از جاوااسکریپت را ترجیح میدهند.
در نتیجه، ۵۳۹ توسعه دهنده که از nodejs در تولید برنامههای خود استفاده میکردند، نظرات خود را به اشتراک گذاشتند. در این مطلب قصد داریم که نتایج کوچکی از آن را مورد بررسی قرار دهیم:
توسعه سریع، عملکرد عالی و راحتی Node.js، آن را به گزینهای مورد علاقه تبدیل میکند
بر اساس نظرسنجی ما، Node.js یک گزینه عالی برای توسعهدهندگانی است که دوست دارند برنامههای خود را در سریعترین زمان ممکن تولید کنند. همچنین وجود اکوسیستم قدرتمند و ماژولهای متفاوت، نودجیاس را انتخابی بسیار عالی نگه میدارد.
چرا از nodejs استفاده کنیم؟
برای درک اینکه چرا توسعه دهندگان از نودجیاس استفاده میکنند، اجازه دهید فقط نمونهای از پاسخهایی که داده شد را به شما نشان دهیم:
۱- نودجیاس میزان کارایی بالایی دارد و این در حالیست که به من اجازه میدهد تا تولیدات بهتر و بیشتری داشته باشم.
۲- محیط توسعه سبک حتی برای کارهای اینترپرایز، همراه با آن وجود بیش از ۴۰۰ هزار پکیج در نودجیاس.
۳- متخصص فرانتاند، بکاند و تستر از یک زبان یکسان استفاده میکنند.
۴- میتوانم بدون اینکه سینتکسها و تکنولوژیهای مختلفی را یاد بگیرم، همه چیز را با استفاده از جاوااسکریپت ایجاد کنم. همین موضوع باعث میشود که بتوانم در سریعترین زمان ممکن نمونه اولیه را ایجاد کنم.
۵- یک زبان کاربردی چه در بخش مشتری و چه در بخش سرور، همچنین قابلیت non-blocking IO وجود دارد.
۶- سرعت، آشنایی، ابزار محور، دوست داشتنی، درست مانند تنفس هوای تازه نسبت به php.
۷- نوشتن کد در nodejs بسیار آسان است. در واقع شما میتوانید آن را مانند هر زبان انسانی بخوانید.
Nodejs به طور عمده برای توسعه API، سرور و وب اپلیکیشنها مورد استفاده قرار میگیرد.
هنگامی که ما از توسعه دهندگان در مورد آنچه را که آنها در واقع با استفاده از node میسازند، سوال پرسیدیم، جواب آنها تصویر بسیار واضحی بود.
پاسخ هایی که دریافت کردیم بسیار متنوع بود، اگر چه اکثر پاسخ دهندگان نوشتند که خدمات REST API یا Backend را با Node.js توسعه میدهند. علاوه بر این، ساخت Webapps، Microservices و وبسایت نیز بسیار ذکر شده است.
دیگر مواردی که از nodejs استفاده میشود:
- ایجاد CLI و ساخت ابزار،
- نوشتن برنامه های تلفن همراه و backend برای آنها،
- سیستم های مدیریت ساختمان،
- اسکریپت و اتوماسیون،
- رندر کردن برنامهها،
- هر چیز مربوط به اینترنت،
- مانیتورینگ از راه دور،
- نوشتن Middlewares،
- احراز هویت،
- ایجاد Web Workerها،
- و غیره.
اکثر توسعه دهندگان Node.js با مشکلات عملکرد و امنیت در تولید مواجه هستند.
ما از توسعه دهندگان در مورد مشکلات آنها در یک محیط تولید سوال کردیم، این بار ما چندین دسته از آنها را انتخاب کردیم که میتوانستند آن موارد را انتخاب کنند (چندین انتخاب مجاز بود).
به نظر میرسد نظارت بر عملکرد، امنیت و بهبود عملکرد مسائل کلیدی برای اکثر پاسخ دهندگان است. همچنین نصب، مقیاسسازی و تعمیر و نگهداری اغلب انتخاب شد. اما به نظر میرسد که Downtimes و Networking جزو این چالش نیستند.
سخت ترین چیزی که با Node.js درست میشود، برنامه نویسی برای Security و Asynchronous است. در این نظرسنجی از توسعهدهندگان خواستیم که سختترین چیزی که با نودجیاس پیادهسازی میشود را نیز به ما بگویند.
پاسخها برای اینکه در دستهبندیها قرار بگیرند بسیار سخت بودند، اما در هر صورت توانستیم به صورت زیر آنها را قرار دهیم:
- مشکلات Async شامل موارد زیر است : برنامهنویسی Asynchronous و رفتاری، Async/Await، الگوهای Async و Async Hooks.
- Clean Coding عمدتا شامل موارد زیر است : کیفیت کد، نگهداری کد، سازماندهی و مدیریت کد.
- عملکرد به معنی نظارت و بهبود عملکرد است.
- مسائل مرتبط با ماژول: پیدا کردن ماژول درست، بروز نگهداشتنشان، امنیت پکیجها و نبود پایداری برای پکیجهایی که بدون باگ بودند.
- تست شامل تست واحد و تستهای end to end است.
- مشکلات نظارت شامل نظارت بر عملکرد، ردیابی و ورود به سیستم است.
- ساختار به طور عمده شامل پاسخ برای برنامهریزی و ساختار پیچیده و معماری مقیاسپذیر است.
- فرایندهایی شامل چندنخی، پردازش موازی، چند پردازی و پردازش فرآیندهای فرزند است.
- Promises اغلب برای الگوهای Promise، توسعه Promise داده شده، استفاده مناسب از Promises ذکر شده است.
- مشکلات وابستگی عمدتا در مورد ارتقاء آنها، کاهش تعداد آنها و مدیریت آنها است.
اگرچه طبقهبندی این پاسخها کار بسیار سختی است، اما من فکر میکنم که آنها بینش مفیدی را در مورد مشکلات و ذهن توسعهدهندگان Node.js ارائه میکنند.
امنیت موضوعی که برای توسعهدهندگان Node.js نادیده گرفته شده است
این به آخرین سوالات "آزاد" ما مربوط می شود - که ما از توسعه دهندگان خواستهایم تا موضوعاتی را که از نظر جنایی نامطمئن هستند مشخص کنیم.
من نمی توانم بیشتر در نمودار اضافه کنم، اما ما همچنین در مورد پایگاه های داده، سرویس های مایکروسافت، ورود به سیستم، تأیید اعتبار، پشتیبان گیری و تعمیر و نگهداری پاسخ دادیم.
Nodejs بازار aws را بدست آورد.
ما همچنین از پاسخ دهندگان این نظرسنجی که در مورد آنها خدمات خود را انجام می دهند، خواسته ایم. نتایج شگفت آور نیست، هژمونی AWS واضح است:
من نمیتوانستم موارد بیشتری را در چارت قرار دهم، اما ما جوابهایی در مورد پایگاه داده، میکروسرویسها، فرایندهای ورود، احرازهویت، فراخوانی و پایداری را دریافت کردهایم.
AWS بازار نودجیاس را از آن خود کرد
ما همچنین از توسعهدهندگان این سوال را پرسیدیم که اپلیکیشنهای نودجیاس خودتان را در کجا معمولا پیادهسازی میکنید و گسترش میدهید، جواب بیشتر آنها سرویس AWS مربوط به آمازون بود.
React پیشرو فناوری Front-End است
به نظر میرسد که React برای زمانی که مورد انتخاب توسعهدهندگان قرار میگیرد، باعث شروع یک جنگ تمام عیار در میان فریمورکها میشود.
MongoDB انتخابی مناسب برای توسعهدهندگان nodejs و ES بعدی محبوبترین گزینه در جهان
وقتی که موضوع به بانکهای اطلاعاتی میرسد، MongoDB محبوبترین انتخاب در بین توسعهدهندگان مختلف نودجیاس است، اما به نظر میرسد که جایگاه دوم از آن بانکهای اطلاعاتی Redis، PostgreSQL و MySQL باشد.
همچنین..
در پایان
امیدوارم مطالبی که در این مطلب گفته شد، مورد توجهتان قرار گرفته باشد. اگر قصد دارید روند یادگیری نودجیاس را ادامه دهید، پیشنهاد من به شما دورههای راکت در این زمینه است.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید