پیش به سوی فریمورک جنگو

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

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

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

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

معرفی Django

Django یا جَنگو یک فریمورک مبتنی بر پایتون است که به صورت کامل طراحی شده و هدف از ساخت آن ایجاد یک فریمورک برای ساخت وبسایت‌های بزرگ و ویژگی‌های مختلف در زمان کم است. جنگو رو نمیشه با هیچ فریمورکی مقایسه کرد چرا که حجم امکانات جنگو خیلی زیاده و همچنین از نظر امنیت و کارایی، خیلی کاربردیه. در ارتباط با این جنگو دقیقا چیه و چه تاریخچه‌ای داره می‌تونید نوشته «Why Django?» رو مطالعه کنید.

شروع فرایند یادگیری

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

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

البته بگم که یادگیری Django بدون Flask هم امکان‌پذیره و هیچگونه وابستگی بهم دیگه ندارن، اینو صرفا به عنوان یک تجربه گفتم تا بهتر بتونید با Django ارتباط برقرار کنید.

حالا نوبت به خود Django می‌رسه. به نظر من بهترین جا برای یادگیری جنگو خود وبسایت جنگو هستش. مستنداتی که تیم توسعه این فریمورک تهیه کردند واقعا عالی و مناسب برای یادگیریه. پس به عنوان اولین قدم برای یادگیری جنگو وارد صفحه «Getting started» بشید و اون رو دنبال کنید. کار سختی نیست ۱۰ صفحه است که بهتره با دقت اونا رو بخونید چون این به عنوان شکل گیری دانشی پایه‌ای از جنگو خیلی تاثیرگذار خواهد بود.

لیست کامل‌تری از مستندات جنگو رو می‌تونید توی صفحه Topics مشاهده بکنید که فعلا به اونا نیاز نداریم.

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

مرحله بعدی

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

پیشنهاد بعدی من برای یادگیری Django یادگیری کامل اون از طریق مستندات هستش. ادامه مستندات که در برگه Topics وجود داره می‌تونه بهتون در این امر کمک کنه. برای مثال Security یا Serializing رو می‌تونید از طریق مستندات جنگو به خوبی یاد بگیرید و بعدا از طریق فیلم‌های یوتیوبی استفاده‌های عملی‌ترش رو هم مشاهده کنید.

جنگو همینجا تموم نمیشه. مطالب و مسائل خیلی بیشتری برای یادگیری وجود داره. مثلا REST API و یا قابلیت Signal که برای یادگیری هر کدوم این‌ها می‌تونید سرچ‌های مختلفی رو انجام بدید.

فرایند یادگیری جنگو و پایتون می‌تونه متفاوت‌تر از این مطلب صورت بگیره، اما این مسیری بوده که بنده رفتم و تونستم ازش جواب بگیرم و چیزهای خیلی زیادی از جنگو یاد بگیرم. برای مثال افراد دیگری می‌تونن سراغ کتاب‌های جنگو برن و حتی نتیجه بهتری بگیرند.

در پایان

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