Django ماهیتاً تفاوت زیادی با Rails و ASP.NET MVC نداره ولی دو تا چیز مفید توی جانگو هست که توی اون دو تای دیگه نیست. بخش Admin جانگو در applicationهای وبی که بخش ادمین دارند (بیشتر پروژههای وبی سفارش مشتری) کار راه بندازه و صرفهجویی زمانی خوبی خصوصاً در اول پروژه ایجاد میکنه چون نیاز به پیادهسازی CRUDهای تکراری رو از بین میبره. جانگو یک امکان خوب دیگه هم برای صرفهجویی زمانی در طول پروژههای مختلف داره. اسم این امکان خوب، app است. هر پروژه در جانگو به چند app تقسیم میشود. App ها میتوانند در پروژههای مختلف استفاده بشوند بدون آنکه وابستگی کدی خیلی زیادی داشته باشند. مثلاً شما میتونید یک app برای ticketing یا accounting داشته باشین و اونو برای چند پروژه دیگه هم به عینه استفاده کنید بدون آنکه مجبور به کپی کد از یک پروژه به پروژه دیگه و داشتن چندین نسخه از یک کد بشوید. بدی جانگو اینه که بازار کار خیلی کوچکتری از Rails و ASP.NET داره و خیلی کمتر شناخته شده است. یادگیری اون هم نسبت به Rails سختتر است.
ASP.NET MVC در ایران و خارج از ایران رواج زیادی داره. برنامهنویسهاش رو خیلی راحت میشه پیدا کرد. بازار کار خوبی داره. در محیطهای Enterprise مقبولتره، پشتیبانی از دیتابیسهای خیلی زیادی رو داره، و پشت اون زبان چند منظوره و به روز C# قرار داره. ولی هنوز چندان Cross Platform نیست. جامعه کاربری آن پویایی جامعه کاربری Rails یا Nodes.js رو نداره. و تازه چند ماهه که میشه روی دسکتاپ لینوکسی باهاش کار کرد. Batteryهای اون کمتره و در دنیای Open Source محبوبیت کمتری داره.
راجع به Node.js نمیتونم چیز زیادی بگم چون تجربه کمی از اون دارم، به شدت در حال توسعه و تغییره و دنیای وسیعی هم داره. Node.js خودش فریمورک توسعه وب نیست بلکه چیزهایی مثل MEAN فریمورک هستند. سرعت اجرای Node.js خیلی بالاست. موضوع روزه و خیلی خوش رزومهاست. زبان برنامهنویسی اون در front end هم کاربرد داره و افراد زیادی از قبل با اون آشنا هستند. اما مشکلش اینه که هنوز در حال توسعه و تغییره، گویا با دیتابیسهای متعارف Relational رابطه خوبی نداره و علاوه بر این درست در نقطه مقابل Rails شما مجبور هستید برای انجام هر کاری اونو به طور کامل تعریف کنید و جزییاتش رو مشخص کنید تا قابل استفاده باشه.
هر چقدر که فریمورکها را بیشتر بررسی میکنم بیشتر به این نتیجه میرسم که یک تیم توسعه خوب نباید خودش رو محدود به یک فریمورک بهخصوص بکنه. بلکه باید با چند تا از اونها آشنایی و تجربه کافی داشته باشه و در هر پروژهای متناسب شرایط اون پروژه از فریمورک مناسب اون کار استفاده کنه. مثلاً اگه یک جا سرعت خیلی مهمه از Node استفاده کنه، اگه یک جا سرعت توسعه مهمه سراغ Rails بره و اگر آماده بودن CRUD یک سری اطلاعات براش مهمه سراغ جنگو بره.
Comments
دروپال رو جا انداختی!
Author
دروپال مگه سی ام اس نیست؟
با سلام بی ادبی نباشه اما خیلی از جاها ایراد داشتین .
با روبی هم مثل پایتون میشه هر کاری کرد ، روبی حتی برای پردارش صدا گزینه های خیلی خیلی خوبه داره
اکثر اکسپلویت ها و… رو با روبی مینویسن
روبی زبان مورد علاقه هکرهاست
wp-scan و برنامه قدرتمندی مثل متااسپلویت رو با روبی نوشتن
خیلی از وب سایت های واقعا بزرگ از روبی ان ریلز استفاده میکنن
با روبی حتی میتنین برنامه های دستکتاپی خیلی خوب بنویسید .
و…………
در ضمن یادگیری جانگو اصلا سخت نیست بخصوص مدل هاش نسبت به رقباش خیلی اسونتره
در خصوص اپ های جانگو کاملاً موافقم و خیلی جذابن
در مورد نود جی اس به مفتش هم نمی ارزه و بیشتر طراح هایی که میخوان بک اند هم کار کنن میرن طرفش و صد البته گزینه های خیلی بهتر و قوی تر مثل go یا elixir رو داریم.
حرف آخر ابزار صحیح برای کار صحیح 🙂
Author
سلام. ممنون از این که نظر خودتان را اینجا نوشتید. من همیشه علاوه بر امکانات خود اون زبان برنامه نویسی یا تکنولوژی، به تعداد برنامه نویس های در دسترس اون هم فکر می کنم. علاوه بر این باید دید کتابخانه ها و کامپوننت های اون زبان چقدر زیاد یا کم هستند.