loading...
جنگو چیست؟ + آشنایی با جنگو (Django)

جنگو چیست؟ + آشنایی با جنگو (Django)

تحریریه  کدیاد

تحریریه کدیاد

تاریخ انتشار : شنبه 23 مهر 1401

جنگو (Django) یک فریم ورک منبع باز می باشد و مخصوص برنامه‌ های تحت وب بر پایه زبان پایتون است. این فریم ورک یک سری از اهداف اصلی مانند مقیاس پذیری، انعطاف پذیری، ساده و قابل اطمینان بودن را دنبال می‌ کند. اگر در مورد موضوعات نام برده شده اطلاعاتی ندارید، جای نگرانی نیست؛ چون در ادامه این مقاله، مفصل برایتان توضیح داده ایم.

در ادامه خواهید خواند...

  • آشنایی با فریم ورک
  • ویژگی های جنگو
  • امنیت
  • بهینه سازی سئو
  • مقیاس پذیری
  • پشتیبانی
  • قابلیت توسعه و پیشرفت
  • معماری جنگو
  • معماری API در جنگو
  • معماریMVT در جنگو
  • جمع بندی

آشنایی با فریم ورک و جنگو

قبل از هر چیزی ابتدا می خواهیم، شما را با فریم ورک (WEB FRAMEWORK) آشنا کنیم. فریم ورک یا چارچوب نرم افزاری، حالتی برای پیشرفت برنامه های نرم افزاری است. به عبارتی دیگر، یک زبان برنامه نویسی است که می‌ شود در محیطی خاص از آن استفاده کرد و برنامه را ایجاد کنند. مانند فریم ورک جنگو که می‌ شود از آن داخل یک محیط وب استفاده کرد. یا فریم ورک کیوی (Kivy) که می‌ شود از آن در یک محیط اپ و اپلیکیشن استفاده کرد.

ویژگی‌ های جنگو

Django علاوه بر سرعت بالا، ویژگی های زیادی دارد. که تا حد زیادی مشکلات برنامه نویسان را در نظر گرفته و به حل آن‌ها کمک می‌ کند. همین مسئله باعث شده است که جنگو به یکی از برترین و پرطرفدارترین فریم ورک‌ های پایتون در سال‌ های اخیر تبدیل شود. در این بخش به بررسی مهم ترین ویژگی های آن پرداخته ایم.

  • امنیت

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

  • بهینه سازی سئو

سئو و بهینه سازی سایت یکی دیگر از ویژگی های مهم جنگو است؛ که باعث می‌ شود، نسبت به رقبای خود برتری خاصی پیدا کند. در واقع داشتن این ویژگی سبب می‌شود وب سایت شما به موتورهای جستجوگر اضافه شود. سپس پیرو آن می‌ توانید بهترین نتیجه را در گوگل و موتور های جستجو دیگر به دست آورید. همچنین نکات و الگوریتم هایی در Django به کار رفته است که باعث می شود، پیاده سازی برنامه شما به صورت خودکار انجام شود و الگوریتم های موتور های جستجو را در خود به کار می برد.

  • مقیاس پذیری

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

به عنوان مثال شما وب سایت بزرگی مثل اینستاگرام یا فیسبوک را در نظر بگیرید؛ که کاربران فعال زیادی دارند و دیتا های زیادی بین این کاربران رد و بدل می‌شود. در این سطح تکنولوژی با این همه کاربر فعال باید یک سیستم دقیق و بدون خطا داشته باشید. برای همین از زمانی که جنگو ساخته شد هزاران آزمایش و اشکال زدایی به روی آن انجام شده است و توانسته نتایج خوبی را به دست آورد. برای همین Django یکی از بهترین گزینه ها برای کسانی است که می خواهند به روی مقیاس های بزرگ برنامه نویسی کنند.

  • پشتیبانی

برای هر پروژه ای در وب، جنگو مناسب است. شما می توانید ساده ترین برنامه ها و حتی پیچیده ترین برنامه ها را با Django پیاده سازی و برنامه نویسی کنید. چون این فریم ورک از سنگین ترین برنامه ها نیز پشتیبانی می کند. همچنین حجم زیادی از اطلاعات را می‌ تواند کنترل کند و در واقع کراس پلتفرم (Cross Platform) است. یعنی می‌ توانید در سیستم عامل های مختلف از جنگو استفاده کنید و با آن برنامه بنویسید.

  • قابلیت توسعه و پیشرفت

جنگو کاملا تست شده است و برای تکنولوژی های جدید به اندازه کافی قدرتمند است. همچنین در برابر تحولات جدید بروز و پویا است. همان طور که پیش تر گفتیم Django منبع باز است. به همین دلیل شما می‌ توانید به راحتی تغییرات دلخواه خود را به آن اضافه کنید. همچنین این فریم ورک توسعه را سریع و از فناوری های بسیار زیادی پشتیبانی می کند. شما برای ساخت یک وب سایت کاربردی حتی نیاز به دانش برنامه نویسان بک اند (Back End) ندارید. همچنین برای اضافه کردن دیتابیس (data base) هم کار سختی ندارید. تمام این ویژگی ها باعث می شود پایتون، مخصوصا فرم ورک جنگو برای طراحی سایت خیلی ایده آل باشد و کمترین هزینه را برای شما شامل شود.

معماری جنگو

یکی از موضوعات دیگری که جنگو را خیلی خاص می کند، موضوع معماری آن است.

۲ نوع معماری است که می‌ شود داخل جنگو از آن ها استفاده کرد.

API _1

MVT _2

  • معماری API در جنگو

API، از API ها و با استفاده از جنگو رست، (DJANGO REST) قابل استفاده است. کلا API ها از جنگورست استفاده می کنند که باعث می شود خیلی کار ساده تر شود. اما نسبت به MVT یک مقدار پیچیده تر هستند. یعنی اگر MPI را یاد بگیرید خیلی راحت تر می‌ توانید، وب‌سایت درست کنید و کد بزنید. در کل MVT برای مبتدی ها و کسانی که تازه شروع کرده اند آسان تر است.

  • معماری MVT در جنگو

MVT در واقع مخفف کلمات مدل (MODELS)، ویو (VIEW) و تمپلیت ( TEMPLATE) است. زمانی که یک فرد داخل وب‌سایت می‌ شود، اولین چیزی که می‌ بیند تمپلیت ها است. سپس تمپلیت‌ها وصل می شوند به ویوها، اما ویو، نکته بسیار خوبی که دارد این است که به URL ها وصل است. URL ها، همان‌ صفحاتی هستند که شما از آن ها استفاده می‌ کنید و به اصطلاح کاربران می‌ توانند بین آن ها ناوبری داشته باشند‌. اکنون که با این زنجیره آشنا شدید، باید بدانید مدل ها زمانی که به هم‌ متصل می شوند باعث این می‌ شوند که کارهای خاصی انجام دهند. به عنوان مثال می‌ توانید داخل مدل خود، صفحه را با فشردن یک کلید به یک درگاه اینترنتی متصل کنید.

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

سخن پایانی جنگو

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