مصطفی
5 سال پیش توسط مصطفی مطرح شد
10 پاسخ

جنگو یا لاراول یا نود جی اس

سلام و خداقوت...
این سؤالیه که فکر میکنم ذهن خیلی هارو درگیر خودش کرده باشه و انصافا هیچ جواب درست و حسابی هم واسش ندیدم...!!
(لاراول متوسط رو به قوی یه سالیه کار میکنم و با پایتون و جاوا اسکریپت هم آشنام و فقط چندتا مقایسه شدیدا ضد و نقیض در مورد مقایسه جنگو و نود و لاراول خوندم!)
اولا میخوام خیلی کلی نظرتونو نسبت بهشون بگید؟ مثلا بفرمائید کدوم امنیتش بهتره یا کدوم سایتی خیلی سنگینی که باهاش بالا میاد سریع تره و...
و ثانیا میخوام بدونم واسه پروژه هایی شبیه به اتوماسیون های تحت وب و سامانه هایی مثل انتخاب واحد دانشجویی که کار دیتابیسی زیادی هم دارن کدوم یکی بهترن و پرفورمنس بهتری دارن؟
معیارهام به ترتیب اهمیت: اول و مهمتر سرعت بالای خود سایت واسه سایتای سنگین و شلوغ / بعد سرعت توسعه / بعدم بقیه موارد...
پیشاپیش خییلی تشکر...


ثبت پرسش جدید
Amir m
تخصص : برنامه نویس
@proamirm 5 سال پیش مطرح شد
9

در کل مقایسه چند زبان و تکنولوژی کار به کل غلطیه و بحث هایی که پیش میاد و هر کی طرف فریم ورک یا زبان خودشو میگیره کار دولوپر های تازه کاره!
مطمئن باشید اگه یه ابزار یا زبان کاربردی نمیبود، در حال حاضر وجود نداشت و از بین میرفت.
فقط شما باید بهترین ابزار رو با توجه به شرایط خودتون انتخاب کنید، نه هیچ چیز دیگه.
اما من میخوام یه مقدار از لحاظ پرفرمنس و امنیت و.. صحبت کنم تا خودتون تصمیم بگیرید؛ در پایان هم تجربه خودم رو از کار با این ابزار ها میگم. از الان هم توصیه شدید میکنم به هیچ عنوان صرفا به یک داده نگاه نکنید (فرضا امار پرفرمنس) و با توجه به شرایط خودتون بهترین ابزار رو انتخاب کنید.

پرفرمنس و عملکرد:

یکی از چیزایی که خیلی مهم هستش برای توسعه دهنده ها همین پرفرمنسه. اما یه چیزی که مهم تره، آزمایش اون ابزار توی شرایط واقعیه نه یه بنچمارک ساده از یک اپلیکیشن Hello World.
آماری که میبینید از این بررسی برداشته شده و یکم توضیح چاشنیش شده.

  • اولین بنچمارک مربوط به یه اپلکیشن ساده Hello World که همه جا رایجه!
    hello world benchmark
  • دومین بنچمارک یکم محاسباتیه و مربوط به محاسبه 10 هزار عدد اول دنباله فیبوناچی هستش
    fibo benchmark
  • از این جا به بعد، شرایط یکم واقعی تر میشه و یه لیست ساخته میشه که محتوای لیست از یه جدول در دیتابیس MySQL گرفته شده.
    listing benchmark
  • حالا شرایط بیش از پیش واقعی میشه و دو جدول دیتابیس، بینشون یک رابطه many to many برقراره؛ و هدف نمایش یه لیست به همراه رابطه هاش هستش (مثل مثال قبل، اما با رابطه many-to-many)
    many to many benchmark

نتیجه: چیزی که خیلی واضحه و کل بنچمارک های اینترنت رو زیر سوال میبره، این هستش که در یک اپلیکیشن واقعی عملکرد ها خیلی متفاوته نسبت به اپلیکیشن های ساده (مثل ارسال JSON که در بعضی از بنچمارک ها مورد تست قرار میگیره)
برخلاف چیزایی که شاید گفته بشه توی یه سرور مناسب و یه اپلیکیشن واقعی، لاراول با جنگو تقریبا پرفرمنس یکسانی داره.
اما همچنان به این آمار استنداد دقیقی نکنید برای استفاده و باز هم تاکید میکنم بسته به شرایط.
200 ریکوئست در ثانیه معادل 12 هزار ریکوئست در دقیقه و حدود 17 میلیون در روز هستش! این عدد، عدد زیادی برای خیلی از پروژه ها حساب میشه و خیلی وقت ها نیاز به این مقدار درخواست نیست (دلیل مثال زدن 200 ریکوئست، کمترین عدد در بنچمارک آخر بود) و فرضا با همین لاراولی که یاد دارید میتونید 78 میلیون ریکوئست رو هندل کنید با توجه به اعداد (باز هم اعداد مستند نیستند و الزامی به پاسخگویی دقیق به این عدد نیست چون شرایط فرق داره، اما تا حدود خوبی میشه مقایسه انجام داد)
و البته، در تمام بنچ مارک ها nodejs وضعیت بهتری داشت که خب واضحه. چون از خیلی چیز ها داخلش زدن و خیلی چیز ها رو نداره! به همین دلیل انقدر سریعه و اگر تو شرایط واقعی تر هم قرار بگیرید مطمئنا سرعت کمتر میشه اما در کل سریعتر عمل میکنه.

امنیت:

هر سه موردی که دارید مقایسه میکنید امنیت خوبی داره و اینطور نیست که خود ابزار باگ داشته باشه! این توسعه دهنده هستش که باگ رو باز میذاره. اما در جنگو و لاراول این مورد تا حدود خوبی پوشیده شده و برنامه نویس رو اجبار میکنه یک سری اصول رو رعایت کنه (فرضا csrf token و یا جلوگیری از sql injection و حملات مشابه دیتابیس که با ORM در هر دو فریم ورک جنگو و لاراول وجود داره)
یک مقدار nodejs به دلیل خام تر بودن و سبک تر بودن نیازمند دقت توسعه دهنده هستش. اما در هر صورت طوری نیست که باگ بخواد بده بدون این که شما بخواید!
بعضی بررسی ها هم در اینترنت میگن امنیت جنگو از لاراول بالاتره و من این رو رد نمیکنم. چون در خود php یک سری چیزا وجود داره که باعث میشه اگه رعایت نشه باگ ایجاد بشه اما پایتون این رو نداره.
نتیجه: نگرانی بابت امنیت بین این سه مورد، زیاد لازم نیست و هر سه امنیت لازمه رو میتونن براتون تامین کنن و این رو در پروژه های عملی نشون دادن.

سادگی:

این مورد رو نمیشه نظر قطعی داد و این نظر کاملا بر اساس سلیقه من هستش. به ترتیب سادگی توضیحاتی رو میدم.
۱. جنگو: به خاطر سادگی خود پایتون، جنگو هم سادگی خوبی داره. مزیتی که من خیلی ترجیح میدم اون رو به لاراول، اجبار نکردن به داشتن یه استراکچر مشخص هستش. به نظرم در لاراول نسبت به جنگو، استراکچر ابتدایی شلخته تری رو داریم که پیچیدگی رو بیشتر میشه. البته توضیحات خود لاراول برای دلیل این پیچیدگی بیهوده! تو سایت خودشون هست و خب قابل تامله.
۲. لاراول: خب، توضیح زیادی نداره اما لاراول هم یه جا هایی خیلی بهتر عملکرده تو بحث سادگی، فرضا در بخش Route ها، به شخصه من اصلا ارتباط کافی رو با جنگو برقرار نکردم و به نظرم لاراول یه چیز روون تری رو ارائه میده.
مثلا روت های جنگو رو ببینید:


urlpatterns = [
  url(r '^admin/', include(admin.site.urls)),
]

و یه نمونه روت در لاراول:

Route:get('/', function() {
     return view('posts.index'); 
});

۳. Node.js: همونطور که گفتم این بخش کاملا نظر شخصیه! و من خیلی زیاد باهاش ارتباط برقرار نکردم.

محبوبیت و استفاده:

هر سه تا جامعه کاربری و محبوبیت خوبی دارن. اما بین این سه تا nodejs به دلیل این که جاوااسکریپت یه زبانیه که داره همه جا رو میگیره و تقریبا 100 درصد توسعه دهنده های فرانت اند برای سایت ها از این زبان استفاده میکنن، به طبع جامعه بزرگی تری رو داره.
بعد اون هم جنگو میاد و سایت های بزرگ زیادی روش اجرا شدن و همین الان هم هستند. دلیلش هم مشخصه، پایتون تخصصی برای وب نیست (برخلاف php) و کسی که وب میزنه غالبا نیاز به یک فریمورک (چه جنگو، چه فلسک چه کوارتز و چه...) پیدا میکنه.
در آخر هم لاراول هستش که دلیل کمتر بودن جامعه کاربریش رو بالاتر گفتم و عادیه.
نتیجه و نکته مهم! : به ترتیب نتیجه جامعه رو من به این شکل میدونم (شاید اشتباه میکنم در این بخش، که لطفا اگه مشکلی میبینید حتما بگید)

  1. nodejs
  2. جنگو
  3. لاراول

و نکته مهمی که میخواستم بگم اینه اصلا فکر نکنید چون لاراول آخره به مشکل میخورید! شک نداشته باشین که اگه به هر مشکلی بخورید 99 درصد اوقات اون سوال توی استک اورفلو جواب داده شده. یه درصد هم نباشه کافیه بپرسید تا توسعه دهنده های لاراول از سراسر دنیا جوابتون رو بدن.

نظر شخصی من

من خودم در پروژه هام زیاد مایل به استفاده از nodejs نیستم و بیشتر موافق استفاده از nodejs به صورت بخش هایی از پروژه هستم (شاید چیزی داخل MicroService) و زیاد مایل به نوشتن پروژه صفر تا صد نیستم.
به نظرم اگه پرفرمنس رو لحاظ کنیم، من با زبان Go بسیار بسیار (بسیار بسیار بسیار و بسیار!) بیشتر ارتباط برقرار میکنم و به نظرم این زبان فوق العاده عمل میکنه در پرفرمنس. در کل Go در لیست زبان های مورد علاقه من رتبه یک رو داره و مایلم بیشتر وقتم رو با این زبان کار کنم!
پس در کل موافق nodejs نیستم مگر در شرایط خاص که اون شرایط هم راجب به توسعه دهنده هستش (که فرضا جاوااسکریپت رو خیلی مسلطه)
بین لاراول و جنگو هم انتخاب رو کاملا به خودتون وابسته میدونم. اگه PHP بلدید و باهاش ارتباط برقرار میکنید پیشنهادم لاراوله اما اگه با پایتون راحتید یا هیچ زبانی رو در حال حاضر بلد نیستید(!) پیشنهادم جنگو هستش به خاطر سینتکس ساده تر.
و اگر جای شما باشم که میگید لاراول رو کار کردید، مطمئنا انتخابم لاراول بود (البته نه در یک پروژه سازمانی، چون در ایران سازمان ها کلا با ASP صفا میکنن زیاد مایل به تست چیزای دیگه نیستن)
پس با توجه به شرایط بهترین رو انتخاب کنید نه چیز دیگه. هر چیزی که باهاش راحت ترید رو شروع کنید. مطمئن باشید اون ابزار یا زبان تا یه جای خوبی شما رو همراهی میکنه. وقتی که کم بیاره، اون موقع شما یه پروژه موفق دارید! تو یه پروژه موفق که به درآمدزایی میرسه در اغلب اوقات، سوییچ به به ابزار دیگه یا بهینه سازی راحت تر صورت میگیره.
بر اساس شرایط و با هر چیزی که بیشتر ارتباط برقرار میکنید، بهترین فریم ورک یا زبان رو انتخاب کنید!


آرمین
@arminbeik 5 سال پیش مطرح شد
0

@701mostafa
سلام
براي ساختن وبسايتي مثل دانشگاه از هر سه تا اين زبان هايي كه گفتيد ميتونيد استفاده كنيد چون وبسايت دانشگاه آزاد با asp.net نوشته شده هست و به خوبي در زمان انتخاب واحد براي چند هزار دانشجو كه در لحظه انتخاب ميكنند جواب ميده.
بين اين زبان هايي كه گفتيد از نظر سرعت nodejs از همه سرعتش بالا تر هست ولي اين نكته رو بايد در نظر بگيريد كه براي استخدام در شركت ايراني كمتر از node استفاده ميشه چون در موارد خاص از اون استفاده ميشه. مثلاً در اسنپ فود يك قسمتش از node js استفاده ميشه كه اونم فكر كنم براي تعداد درخواستي زياد در لحظه باشه.
در ضمن php7 هم جديداً سرعت بالايي رو ارائه ميده و اينكه اين زبان براي شغل پيدا كردن مناسب تر هست مخصوصاً در ايران.
زبان پايتون هم زبان خيلي خوبي هست و سينتكس بسيار ساده اي داره.
درضمن نوع ديتابيس انتخابي شما هم در سرعت سايت شما اهميت داره و درحال حاضر ديتابيس هاي nosql ساده تر هستند و سرعت بالايي ارائه مي دهند ولي هر زباني با يك ديتا بيس مچ هست و با اون بهتر كار ميكنه مثلاً node js با mongodb مچ هست و php با mysql و python هم با postgresql
به هر حال هر زباني ويژگي هاي مخصوص خودشو داره. شما اگر براي شغل ميخواييد بايد بازار و درنظر بگيريد و اگر هم براي فريلنسري هر زباني كه با اون راحت تر هستيد


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
0

@701mostafa
سلام. درکل هر سه واقعا عالی هستند و برای هرکاری هم میشه ازشون استفاده کرد. اما تو یکسری مواقع خاص بعضی هاشون بهتر جواب میدن. برای مثال node js برای کار استریمینگ و real-time خوبه و جنگو هم برای سایت هایی که توشون محاسبات سنگین انجام بشه. لاراول هم که تقریبا برای هرکاری جوابگو هستش .

درمورد اون کاری که شما گفتید استفاده از جنگو و لاراول منطقی تره.

درمورد امنیت هم باید بگم ربطی به زبان یا فریمورک نداره. امنیت رو باید برنامه نویس تامین کنه. ولی به هر حال بین این سه تا، یکم امنیت توی node سخت تر هستش، چون مستقل از سروره و روی مرورگر اجرا میشه و خودتون باید خیلی باهاش کار کنید که امنیتشو بالا ببرید. اما لاراول و جنگو خودشون پایه های امنیتی رو دارن. در مورد جنگو زیاد اطلاعاتی ندارم اما درمورد لاراول، باید بگم که امنیتش خیلی کامله و اگه خودتون توی کدهاتون جایی رو اشتباه نکنید، از لحاظ امنیت به مشکل بر نمیخورید.

به هر حال اگر قراره پروژه ای رو که گفتید انجام بدید، پیشنهاد من همون لاراوله. سرعت توسعه خیلی بالایی داره ، سایتتون با کمبود سرعت مواجه نمیشه ، ابزار های آماده خیلی زیادی داره، نسبت به دو مورد دیگه جامعه توسعه دهنده های بیشتری داره یعنی اگر به مشکلی هم بر بخورید سریع رفع میشه و به جواب میرسید.


مصطفی
تخصص : لاراول و جنگو و ویو
@701mostafa 5 سال پیش مطرح شد
0

خیلی ممنون واسه راهنمایی های اساتید...
البته از این جمله: "به هر حال هر زباني ويژگي هاي مخصوص خودشو داره. شما اگر براي شغل ميخواييد بايد بازار و درنظر بگيريد و اگر هم براي فريلنسري هر زباني كه با اون راحت تر هستيد" خیلی خوشم اومد چون بنده اصلا به بازار کاری ندارم و اکثر کارهام واسه خودم هستن...
با توجه به گفته های شما: میخوام بدونم بین جنگو و لاراول کدوم سر جمع سریع ترن؟ هم در خود پروژه و هم در توسعه... برای کارهای خیلی بزرگ و سنگین...
لاراول خودش پر از ابزاره و روابط دیتابیس و کالکشن های محشری داره میخوام بدونم همچین چیزایی در جنگو هم هست به این کیفیت یا نه؟
کلا می ارزه با تسلط نسبی که روی لاراول پیدا کردم مهاجرت کنم به جنگو؟!


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
2

@701mostafa
من هم django کار کردم هم laravel
سرکی هم به nodejs کشیدم!
از لحاظ پرفورمنس ( وقتی میگیم پرفورمنس یعنی با سرور یکسان درخواست های بیشتری رو پاسخ میده ) به ترتیب :
nodejs
django
laravel
از لحاظ سرعت توسعه به ترتیب
django
laravel
nodejs
از لحاظ امنیت به ترتیب
django laravel
nodejs
ببین دوست عزیز nodejs چون امکانات کمی داره و فریمورک درست حسابی و قوی در سطح لاراول یا جنگو نداره بعنوان بیس اصلی پروژه معمولا انتخاب نمیشه ! ولی بصورت میکروسرویس تو بخش هایی از سایت استفاده میشه مثل همین سایت راکت که بیسش لاراوله ولی جاهایی از nodejs هم استفاده کردن
.
من اگه قرار باشه یه پروژه سازمانی بزنم اولین گزینه ام asp.net core و java spring هست ! چون تو ایران خیلی واسه سایت دانشگاه استفاده شده و کامیونیتیش تو این مورد عالیه .. اگه هم نخوام چیز جدیدی یاد بگیرم ترجیح میدم با Django همچین پروژه ای رو بزنم ...
کلا واسه پروژه های سازمانی بیشتر زبانی استفاده میکنن که هم وب و هم ویندوز رو بتونه ساپورت کنه مث #C و Java یا جدیدا همین Python


مصطفی
تخصص : لاراول و جنگو و ویو
@701mostafa 5 سال پیش مطرح شد
0

حرف نداشت آقا رضا...
پس بگی نگی می ارزه لاراولو رها کنم و برم سمت جنگو ظاهرا... (البته واسه کار خودم والا لاراول خیلی حرف نداره انصافا...!)


Amir m
تخصص : برنامه نویس
@proamirm 5 سال پیش مطرح شد
9

در کل مقایسه چند زبان و تکنولوژی کار به کل غلطیه و بحث هایی که پیش میاد و هر کی طرف فریم ورک یا زبان خودشو میگیره کار دولوپر های تازه کاره!
مطمئن باشید اگه یه ابزار یا زبان کاربردی نمیبود، در حال حاضر وجود نداشت و از بین میرفت.
فقط شما باید بهترین ابزار رو با توجه به شرایط خودتون انتخاب کنید، نه هیچ چیز دیگه.
اما من میخوام یه مقدار از لحاظ پرفرمنس و امنیت و.. صحبت کنم تا خودتون تصمیم بگیرید؛ در پایان هم تجربه خودم رو از کار با این ابزار ها میگم. از الان هم توصیه شدید میکنم به هیچ عنوان صرفا به یک داده نگاه نکنید (فرضا امار پرفرمنس) و با توجه به شرایط خودتون بهترین ابزار رو انتخاب کنید.

پرفرمنس و عملکرد:

یکی از چیزایی که خیلی مهم هستش برای توسعه دهنده ها همین پرفرمنسه. اما یه چیزی که مهم تره، آزمایش اون ابزار توی شرایط واقعیه نه یه بنچمارک ساده از یک اپلیکیشن Hello World.
آماری که میبینید از این بررسی برداشته شده و یکم توضیح چاشنیش شده.

  • اولین بنچمارک مربوط به یه اپلکیشن ساده Hello World که همه جا رایجه!
    hello world benchmark
  • دومین بنچمارک یکم محاسباتیه و مربوط به محاسبه 10 هزار عدد اول دنباله فیبوناچی هستش
    fibo benchmark
  • از این جا به بعد، شرایط یکم واقعی تر میشه و یه لیست ساخته میشه که محتوای لیست از یه جدول در دیتابیس MySQL گرفته شده.
    listing benchmark
  • حالا شرایط بیش از پیش واقعی میشه و دو جدول دیتابیس، بینشون یک رابطه many to many برقراره؛ و هدف نمایش یه لیست به همراه رابطه هاش هستش (مثل مثال قبل، اما با رابطه many-to-many)
    many to many benchmark

نتیجه: چیزی که خیلی واضحه و کل بنچمارک های اینترنت رو زیر سوال میبره، این هستش که در یک اپلیکیشن واقعی عملکرد ها خیلی متفاوته نسبت به اپلیکیشن های ساده (مثل ارسال JSON که در بعضی از بنچمارک ها مورد تست قرار میگیره)
برخلاف چیزایی که شاید گفته بشه توی یه سرور مناسب و یه اپلیکیشن واقعی، لاراول با جنگو تقریبا پرفرمنس یکسانی داره.
اما همچنان به این آمار استنداد دقیقی نکنید برای استفاده و باز هم تاکید میکنم بسته به شرایط.
200 ریکوئست در ثانیه معادل 12 هزار ریکوئست در دقیقه و حدود 17 میلیون در روز هستش! این عدد، عدد زیادی برای خیلی از پروژه ها حساب میشه و خیلی وقت ها نیاز به این مقدار درخواست نیست (دلیل مثال زدن 200 ریکوئست، کمترین عدد در بنچمارک آخر بود) و فرضا با همین لاراولی که یاد دارید میتونید 78 میلیون ریکوئست رو هندل کنید با توجه به اعداد (باز هم اعداد مستند نیستند و الزامی به پاسخگویی دقیق به این عدد نیست چون شرایط فرق داره، اما تا حدود خوبی میشه مقایسه انجام داد)
و البته، در تمام بنچ مارک ها nodejs وضعیت بهتری داشت که خب واضحه. چون از خیلی چیز ها داخلش زدن و خیلی چیز ها رو نداره! به همین دلیل انقدر سریعه و اگر تو شرایط واقعی تر هم قرار بگیرید مطمئنا سرعت کمتر میشه اما در کل سریعتر عمل میکنه.

امنیت:

هر سه موردی که دارید مقایسه میکنید امنیت خوبی داره و اینطور نیست که خود ابزار باگ داشته باشه! این توسعه دهنده هستش که باگ رو باز میذاره. اما در جنگو و لاراول این مورد تا حدود خوبی پوشیده شده و برنامه نویس رو اجبار میکنه یک سری اصول رو رعایت کنه (فرضا csrf token و یا جلوگیری از sql injection و حملات مشابه دیتابیس که با ORM در هر دو فریم ورک جنگو و لاراول وجود داره)
یک مقدار nodejs به دلیل خام تر بودن و سبک تر بودن نیازمند دقت توسعه دهنده هستش. اما در هر صورت طوری نیست که باگ بخواد بده بدون این که شما بخواید!
بعضی بررسی ها هم در اینترنت میگن امنیت جنگو از لاراول بالاتره و من این رو رد نمیکنم. چون در خود php یک سری چیزا وجود داره که باعث میشه اگه رعایت نشه باگ ایجاد بشه اما پایتون این رو نداره.
نتیجه: نگرانی بابت امنیت بین این سه مورد، زیاد لازم نیست و هر سه امنیت لازمه رو میتونن براتون تامین کنن و این رو در پروژه های عملی نشون دادن.

سادگی:

این مورد رو نمیشه نظر قطعی داد و این نظر کاملا بر اساس سلیقه من هستش. به ترتیب سادگی توضیحاتی رو میدم.
۱. جنگو: به خاطر سادگی خود پایتون، جنگو هم سادگی خوبی داره. مزیتی که من خیلی ترجیح میدم اون رو به لاراول، اجبار نکردن به داشتن یه استراکچر مشخص هستش. به نظرم در لاراول نسبت به جنگو، استراکچر ابتدایی شلخته تری رو داریم که پیچیدگی رو بیشتر میشه. البته توضیحات خود لاراول برای دلیل این پیچیدگی بیهوده! تو سایت خودشون هست و خب قابل تامله.
۲. لاراول: خب، توضیح زیادی نداره اما لاراول هم یه جا هایی خیلی بهتر عملکرده تو بحث سادگی، فرضا در بخش Route ها، به شخصه من اصلا ارتباط کافی رو با جنگو برقرار نکردم و به نظرم لاراول یه چیز روون تری رو ارائه میده.
مثلا روت های جنگو رو ببینید:


urlpatterns = [
  url(r '^admin/', include(admin.site.urls)),
]

و یه نمونه روت در لاراول:

Route:get('/', function() {
     return view('posts.index'); 
});

۳. Node.js: همونطور که گفتم این بخش کاملا نظر شخصیه! و من خیلی زیاد باهاش ارتباط برقرار نکردم.

محبوبیت و استفاده:

هر سه تا جامعه کاربری و محبوبیت خوبی دارن. اما بین این سه تا nodejs به دلیل این که جاوااسکریپت یه زبانیه که داره همه جا رو میگیره و تقریبا 100 درصد توسعه دهنده های فرانت اند برای سایت ها از این زبان استفاده میکنن، به طبع جامعه بزرگی تری رو داره.
بعد اون هم جنگو میاد و سایت های بزرگ زیادی روش اجرا شدن و همین الان هم هستند. دلیلش هم مشخصه، پایتون تخصصی برای وب نیست (برخلاف php) و کسی که وب میزنه غالبا نیاز به یک فریمورک (چه جنگو، چه فلسک چه کوارتز و چه...) پیدا میکنه.
در آخر هم لاراول هستش که دلیل کمتر بودن جامعه کاربریش رو بالاتر گفتم و عادیه.
نتیجه و نکته مهم! : به ترتیب نتیجه جامعه رو من به این شکل میدونم (شاید اشتباه میکنم در این بخش، که لطفا اگه مشکلی میبینید حتما بگید)

  1. nodejs
  2. جنگو
  3. لاراول

و نکته مهمی که میخواستم بگم اینه اصلا فکر نکنید چون لاراول آخره به مشکل میخورید! شک نداشته باشین که اگه به هر مشکلی بخورید 99 درصد اوقات اون سوال توی استک اورفلو جواب داده شده. یه درصد هم نباشه کافیه بپرسید تا توسعه دهنده های لاراول از سراسر دنیا جوابتون رو بدن.

نظر شخصی من

من خودم در پروژه هام زیاد مایل به استفاده از nodejs نیستم و بیشتر موافق استفاده از nodejs به صورت بخش هایی از پروژه هستم (شاید چیزی داخل MicroService) و زیاد مایل به نوشتن پروژه صفر تا صد نیستم.
به نظرم اگه پرفرمنس رو لحاظ کنیم، من با زبان Go بسیار بسیار (بسیار بسیار بسیار و بسیار!) بیشتر ارتباط برقرار میکنم و به نظرم این زبان فوق العاده عمل میکنه در پرفرمنس. در کل Go در لیست زبان های مورد علاقه من رتبه یک رو داره و مایلم بیشتر وقتم رو با این زبان کار کنم!
پس در کل موافق nodejs نیستم مگر در شرایط خاص که اون شرایط هم راجب به توسعه دهنده هستش (که فرضا جاوااسکریپت رو خیلی مسلطه)
بین لاراول و جنگو هم انتخاب رو کاملا به خودتون وابسته میدونم. اگه PHP بلدید و باهاش ارتباط برقرار میکنید پیشنهادم لاراوله اما اگه با پایتون راحتید یا هیچ زبانی رو در حال حاضر بلد نیستید(!) پیشنهادم جنگو هستش به خاطر سینتکس ساده تر.
و اگر جای شما باشم که میگید لاراول رو کار کردید، مطمئنا انتخابم لاراول بود (البته نه در یک پروژه سازمانی، چون در ایران سازمان ها کلا با ASP صفا میکنن زیاد مایل به تست چیزای دیگه نیستن)
پس با توجه به شرایط بهترین رو انتخاب کنید نه چیز دیگه. هر چیزی که باهاش راحت ترید رو شروع کنید. مطمئن باشید اون ابزار یا زبان تا یه جای خوبی شما رو همراهی میکنه. وقتی که کم بیاره، اون موقع شما یه پروژه موفق دارید! تو یه پروژه موفق که به درآمدزایی میرسه در اغلب اوقات، سوییچ به به ابزار دیگه یا بهینه سازی راحت تر صورت میگیره.
بر اساس شرایط و با هر چیزی که بیشتر ارتباط برقرار میکنید، بهترین فریم ورک یا زبان رو انتخاب کنید!


مصطفی
تخصص : لاراول و جنگو و ویو
@701mostafa 5 سال پیش مطرح شد
0

جالب و خیلی مهمه واسم که توی ریلیشن ها جنگو از لاراول کم اوورده...!!
راستش هرچی با خودم کلنجار میرم نمیتونم عشقم لاراولو رها کنم.... وااااقعا که کد زنی باهاش لذت داره... مخصوصا الکوئنتش که همه چیو به هم ربط میده و دیگه تمام...
پرفورمنس و سرعت رو هم با خیلی چیزا میشه بالا برد... مثل همه ی پروژه هام...

راستی چرا اینقدر اسم asp.net core اومد اینجا؟! واقعا واسه پروژه های سنگین و سازمانی می ارزه برم از اول یادش بگیرم؟ (البته c# بگی نگی خوب کار کردم..)


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
2

@701mostafa
دوست عزیز البته django هم کوئری ها و ریلیشن های خیلی قدرتمندی داره من که دارم الان باش کار میکنم
خوبی پایتون اینه یه جورایی دستت بازه که از کتابخونه های بیگ دیتا و هوش مصنوعی و پردازش تصاویر و وب اسکرپینگ و غیره تو پروژه ات به راحتی استفاده کنی !
بخاطر همین پروژه های enterprise دنیا خیلیاشون با django هستن درحالی که لاراول تو پروژه های جهانی معمولا استفاده نمیشه .. مثلا instagram pinterest spotify nasa mozilla و غیره
.
ولی خب واسه پروژه هایی مثل فروشگاه و این چیزا همون لاراول مناسبه


مصطفی
تخصص : لاراول و جنگو و ویو
@701mostafa 5 سال پیش مطرح شد
0

آقا رضا کاملا مؤافقم...


میم جیم
تخصص : کارشناس سئو و برنامه نویس سابق
@javadtgh 2 سال پیش آپدیت شد
1

سلام مصطفی جان
دم شما گرم بابت این تاپیک جذاب ، واقعا خیلیا رو دیدم که یه مدت میرن سمت پایتون و جنگو بعد مسیر عوض میکنن میرن سمت نود یا لاراول و دست آخرم نمیدونن کدوم براشون بهتره .


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام