انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: sajadspeed در 03 شهریور 1401، 12:58 بظ
-
سلام، دوستان مقالههای زیادی توی اینترنت هست که این دو تا فریمورک را با هم مقایسه میکند، ولی بیشتر این مقایسهها تئوریک است و زیاد به درد من نمیخورد، صحبتی که قراره بکنیم بیشتر برای قدرت این دو فریمورک در هندل کردن پروژهها در مقیاسهای بزرگ است. یه موضوعی تحت عنوان "تنفر از پایتون" ایجاد کردم و آقای بهزادی یه مقایسه تجربی بین این دو داشتن. دقیقا دنبال همچین مطالبی هستم.
خود بنده PHP کار میکنم و البته به مرور یه سری Helper برای خودم نوشتم و در نتیجه زیاد سمت لاراول حتی برای پروژههای بزرگ نرفتم، چون منطق لاراول واقعا دوست نداشتم و از همه مهمتر یکم از PHP هم زده شدم ;D
NodeJS هم کار کردم که با اون همه کالبک و پشتیبانی نکردن از Promise، عملا پروژه زدن باهاش عین شکنجه میمونه، البته باید ذکر کرد که Socket.io توش بی نظیر هست و بنده هم همیشه ازش استفاده میکنم.
تجربه یه API ساده را با فلسک داشتم و تجربه خوبی نبود :( کدها به شدت کثیف میشد و...
حالا در مقایسه این دو، معیارهای زیر مطرح میشود:
1. میزان تمیز بودن کد
2. توسعه پروژه و پیادهسازی فیچرهای جدید
3. انعطافپذیری(مثلا در برخورد با تغییر بخشی از ساختار پروژه)
4. میزان نوشتن کدهای تکراری
5. پرفورمنس
ممنون میشم دوستانی که تجربهای در هر دو اینها دارند پاسخ دهند...
-
خب توی هیچ فریمورکی نمیتونی هم خدا رو داشته باشی هم خرما مثلا فریمورک هایی جنگو پرفورمنسشون پایینه(هرچند خیلی از کارایی که میشه کرد رو به بهترین نحو انجام میدن ولی بخوای وارد کار هایی که خیلی ریسورس میطلبن و i/o های سنگین دارن پرفورمنسشونشون خیلی میاد پایین) ولی از اون طرف کلی لایبرری های مختلفی داره که کار رو راحت میکنن + فرایند توسعه ی سریعی دارن از اونجایی که خیلی هلپر های زیادی خودشون دارن.
اونور طیف لایبرری های مینیمالی داریم تو زبون هایی مثل گو یا راست مثل actix یا fiber. که سرعتشون خیلی بالاست و همینطور میتونی تعداد زیادی کانکشن هندل کنی باهاشون منتهی توسعه اشون سخته. راست و گو زبون های جوونین و اکوسیستمشون هنوز بالغ نیست و اینکه در مورد راست خود سینتکس زبان سخته و کلی مفاهیمی داره که جاهای دیگه نیستن.یعنی اینکه شما تا بیای و با این جور اگوسیستم های راحت کار کنی قراره زمان زیادی ببره. و اینکه روش های پیاده سازی خیلی مینیمالی رو باید دنبال کنی توشون.
حالا این بین ابزار هایی هستن که از هر دو دنیا یه چیز هایی دارن مثل دینو یا جدیدا درباره ی bun.js شنیدم ولی امتحان نکردم.
در نهایت به نظرم انتخاب کردن خیلی به پروژه مد نظر ربط داره
-
جفتشون خوبن.. اولویت با اونیه که بلدی.
-
اگر می خوای nodejs کار کنی با typescript بنویس و اینکه از یه فریمورک مثل(پیشنهادی) nestjs استفاده کن
-
جفتشون خوبن.. اولویت با اونیه که بلدی.
لاراول کار کردم ولی به دلایل متعدد میخواستم دیگه سمت PHP نرم، تنفرم از پایتون هنوز هست ;D ولی خوب شاید اشتباه از من باشه و اگر پایتون را در قالبی مشخص به کار ببرم این تنفر تبدیل به عشق بشه \\:D/
-
اگر می خوای nodejs کار کنی با typescript بنویس و اینکه از یه فریمورک مثل(پیشنهادی) nestjs استفاده کن
والا چند ساله دارم از نود استفاده میکنم، هر کاریش بکنی تا این کالبکهای مضخرف وجود دارن، نمیشه تمام ابعاد پروژه را اصولی پیادهسازی کرد.
-
اگر می خوای nodejs کار کنی با typescript بنویس و اینکه از یه فریمورک مثل(پیشنهادی) nestjs استفاده کن
والا چند ساله دارم از نود استفاده میکنم، هر کاریش بکنی تا این کالبکهای مضخرف وجود دارن، نمیشه تمام ابعاد پروژه را اصولی پیادهسازی کرد.
یک دفعه باید با nestjs کار کنید تا ببینید چه فریمورک خوبی هست
و اگر همه برنامه sync باشه و کلا async نباشه اصولی نیست و میشه callback هارو هم جایی که نیاز است به صورت ترتیبی اجرا کرد
از callback ها هم همه جا استفاده میشه مثلا یه درخواست ajax، چیز عجیبی نیست
-
یک دفعه باید با nestjs کار کنید تا ببینید چه فریمورک خوبی هست
حتما nest امتحان می کنم، ممنون.
و اگر همه برنامه sync باشه و کلا async نباشه اصولی نیست و میشه callback هارو هم جایی که نیاز است به صورت ترتیبی اجرا کرد
از callback ها هم همه جا استفاده میشه مثلا یه درخواست ajax، چیز عجیبی نیست
من که نمی گم کلا ساختار Async به هم بخوره، نه، باید بشه از Promise و Async/Await استفاده کرد برای رفع مشکلات این شکلی.