کدام فریمورک وب را انتخاب کنیم؟

از آنجا که این سوال خیلی کلی است بهتر است مواردی را ذکر کنیم:
اول اینکه شما به عنوان علاقه مند به Back-end احتمالا یا برخی زبان های برنامه نویسی سمت سرور کار کرده اید مثلا: php یا NET. یا python یا Ruby و java و یا غیره.
اگر تجربه و یا علاقه به یکی از این زبان های برنامه نویسی را دارید، کار راحت تر است، چون میتوان گفت تقریبا برای همه این زبان ها وقتی مسلط هستید نیازمندی و مشاغل زیادی وجود دارد. و انتخاب اینکه یادگیری چه فریمورکی را شروع کنید سخت نخواهد بود.
اما برای کسی که میخواهد تازه به دنیای بک اند وارد شود، قبل از فکر کردن به انتخاب فریمورک، لازمست زبان برنامه نویسی که فکر میکنید به آن علاقه بیشتری دارید انتخاب کنید. مثلا من بخاطر اینکه امروزه اغلب مشاغل به سمت کاربردهای هوش مصنوعی، یادگیری ماشین، تحلیل داده و Big Data می روند زبان Python را علاقه دارم. پس در نتیجه ابتدا لازمست مثلا با زبان برنامه نویسی پایتون python آشنا شوید و بعد انتخاب بین فریمورک های آن زبان ساده تر میشود.
  • مثلا در مورد زبان پایتون میتوانید فریمورک جنگو Django را انتخاب کنید یا Flask و ..
  • ممکن است شما با زبان php کار کرده باشید لذا مثلا انتخاب بین فریمورک های Laravel، Zend، Symphony و … خواهید داشت.
  • یا با زبان java کار کرده باشید که در اینصورت مثلا بین فریمورک های Spring یا Hibernate و …
  • همچنین اگر علاقه به دات نت دارید با فریمورک های MVC و ASP.NET CORE و…
  • برای زبان Ruby هم فریمورکی مثل Ruby on Rail و …
  • و البته برای Node.JS (که زبانی سمت سرور برای جاوا اسکریپت است) هم فریمورک هایی مثل Express.js و Socket.io و …
پس در نتیجه: مهمتر از انتخاب فریمورک، انتخاب یک زبان برنامه نویسی است.
ضمنا وقتی روی یک پروژه کار میکنید معمولا مجبورید از چندین فریمورک و حتی زبان های مختلف استفاده کنید. لذا بجای سوال در مورد انتخاب بهترین فریمورک، میتوانید با شروع از یک زبان و بعد فریمورک دلخواه شروع کنید. بسیاری مفاهیم در زبان های برنامه نویسی و فریمورک ها تا حدودی مشابه است. بسته به پروژه هایی که یک شرکت در حال انجام است یادگیری فریمورک های دیگر، کار خیلی سختی نیست.

دوره یادگیری فریمورک وب جنگو Django – قسمت ۳ (آموزش مراحل Deploy جنگو)

این دوره آموزشی، قسمت سوم و آخر از مجموعه آموزش های پروژه محور فریمورک وب جنگو است. در این دوره با ادامه بحث قسمت ۱ و ۲، در حال تکمیل یادگیری جنگو در قالب پیاده سازی و Deploy کردن پروژه ساخت یک اتاق گفتگو (Forum) به همراه کلیه بخش ها و امکانات مورد نیاز آن هستیم.

در قسمت ۱ این دوره آموزشی، از نصب و آماده سازی محیط توسعه جنگو با کدنویسی در محیط VSCode شروع کردیم و به معماری MVT (Model، View، Template) و مبحث  URL Routing پرداختیم. همچنین با ایجاد فرم ها و پردازش و اعتبارسنجی آنها و نوشتن همزمان Test های مورد نیاز، با نحوه توسعه اصولی پروژه ها آشنا شدیم.

در قسمت ۲، به ادامه قسمت ۱ و ایجاد سیستم احراز هویت (Authentication) که شامل صفحه SignUp، Login، Logout، Forgot/Reset Password و Change Password است پرداختیم. همچنین چگونگی محدود کردن کاربران از دسترسی به برخی view ها (Login Required) به تفصیل بیان شد.

در طول پروژه، برای زیبایی ظاهری صفحات نیز از کتابخانه bootstrap استفاده نمودیم.

در این قسمت (قسمت ۳) که قسمت پایانی این مجموعه آموزش است برای تکمیل نهایی پروژه از Class-Based View ها استفاده خواهیم کرد تا بتوانیم سادگی و قابلیت استفاده مجدد را فراهم کنیم. سپس به GCBV (Generic Class-Based View) ها خواهیم پرداخت و با کمک آنها view های قبلی را Refactor میکنیم.

در ادامه با decorator ها در GCBV ها کار میکنیم و همچنین برای صفحاتی که نیاز به صفحه بندی دارند Pagination قرار میدهیم. افزودن یک Markdown Editor و استفاده از پکیج Humanize و نیز کار با Session ها تکمیل کننده نهایی قابلیت های سایت خواهد بود.

بخش قابل توجهی از این قسمت به موضوع مهم Deploy کردن اپلیکیشن روی سرور پرداخته شده است. برای این کار با مرور اهمیت و کاربرد Git و Github بطور عملی با این سیستم های کنترل ورژن (Version Control System) کار خواهیم کرد تا با کمک مخزن (Repository) گیت هاب، کدهای پروژه را مدیریت کرده و پروژه را از کامپیوتر شخصی به سرور منتقل کنیم.

پس از آن به انتقال Setting های پروژه، مبحث Dependency ها و انتقال کتابخانه های مورد نیاز خواهیم پرداخت.

سپس با Nginx، Gunicorn و Supervisor و همچنین دیتابیس PostgrSQL آشنا خواهیم شد و بطور عملی آنها را روی سرور Linux Ubuntu به همراه Python3 و VirtualEnv نصب خواهیم کرد.

در انتها با پیکربندی gunicorn، Supervisor و Nginx روی سرور لینوکس اوبونتو و همچنین تنظیمات سرویس ارسال Email، کار Deployment پروژه را به اتمام میرسانیم.

این دوره میتواند برای برنامه نویسان وب به ویژه علاقه مندان به زبان پایتون برای استفاده از این فریمورک در توسعه وبسایت های داینامیک و Deploy کردن آن روی سرور دید مناسبی ایجاد نماید.

تهیه و دانلود قسمت سوم دوره آموزش جنگو

دوره یادگیری فریمورک وب جنگو Django – قسمت ۲

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

در قسمت پیشین این دوره آموزشی (قسمت ۱)، از نصب و آماده سازی محیط توسعه جنگو شروع کردیم و با کدنویسی در محیط VSCode به تعریف و ایجاد Model ها، View ها، Template ها و URL ها پرداختیم. نمایش Topic ها، ایجاد Topic جدید، کار با پنل Admin، ایجاد مدل، view و تمپلیت ها، ایجاد فرم ها و پردازش و اعتبارسنجی آنها مواردی بود که در قسمت ۱ به آنها پرداختیم. همچنین با نوشتن Test های مورد نیاز، نحوه نوشتن اصولی و توسعه پروژه ها را بطور عملی و واقعی نمایش دادیم.

در این دوره آموزشی (قسمت ۲)، به تکمیل بحث و ایجاد سیستم احراز هویت (Authentication) که شامل صفحه SignUp، Login، Logout، Forgot/Reset Password و Change Password است میپردازیم.

در ادامه مباحث اعتبارسنجی فرم ها به تفصیل بیان شده و چگونگی محدود کردن کاربران از دسترسی به برخی view ها (Login Required) ها آموزش داده شده است.

در انتها به تکمیل و زیباتر ساختن صفحات وبسایت با استفاده از کتابخانه bootstrap خواهیم پرداخت.

در دوره آتی (قسمت ۳) که دوره پایانی این مجموعه آموزش است به تکمیل نهایی پروژه و ایجاد فرم Edit Post، ایجاد صفحه ویرایش پروفایل کاربر، ایجاد Pagination برای لیست تاپیک ها و پست ها خواهیم پرداخت. همچنین از Class-Based View ها استفاده خواهیم کرد تا بتوانیم سادگی و قابلیت استفاده مجدد را فراهم کنیم. و در آخر چگونگی Deploy کردن اپلیکیشن به یک Web Server را خواهیم آموخت.

این دوره میتواند برای برنامه نویسان وب به ویژه علاقه مندان به زبان پایتون برای استفاده از این فریمورک در توسعه وبسایت های داینامیک دید مناسبی ایجاد نماید.

 

تهیه و دانلود قسمت اول مجموعه آموزشی Django Framework

تهیه و دانلود قسمت دوم مجموعه آموزشی Django Framework

دوره آموزشی فریمورک وب پایتونی جنگو Django

در دنیای طراحی وب، مسئله هایی عمومی وجود دارند که در توسعه اغلب وب سایت های پویا مشترک و تکراری هستند. مسئله ثبت نام، احراز هویت کاربران (Authentication)، دسترسی به دیتابیس، صفحات Session ،Template، امنیت، URL Routing و بسیاری مسائل دیگر که هر برنامه نویس وب سایت Dynamic با آنها سر و کار دارد.

فریمورک وب، نرم افزاری برای توسعه سریع تر و پشتیبانی قابل اعتمادتر وب سایت ها، اپلیکیش ها و سرویس ها است. در واقع یک Web Framework مجموعه ای از ابزارها و قابلیت ها را در اختیار برنامه نویسان قرار میدهد تا بتوانند کدهایی امن تر و استانداردتر توسعه دهند بطوری که نیاز نباشد همه چیز را از صفر برنامه نویسی کنند و به قول معروف نیاز نباشد چرخ را از اول اختراع کنند!

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

با کمک فریمورک Django بدون اینکه نیاز داشته باشید در مراحل توسعه و تست وبسایت از وب سرور جداگانه ای مثل Apache استفاده کنید، میتوانید از وب سرور اختصاصی خود Django برای Debug کردن استفاده نمایید. این فریمورک به علت داشتن قابلیت Caching، پردازش فرم ها، ابزارهای تست، Template engine و ارتباط با دیتابیس از طریق ORM میتواند فرایند تولید و توسعه اپلیکیشن های وب را سریع تر و ساده تر نماید.

فریمورک Django کلیه امکانات مورد نیاز برای داشتن سیستم احراز هویت کاربران، داشتن interface ادمین برای عملیات های درج و ویرایش و حذف و مشاهده داده ها (CRUD)، و امکان بکارگیری RSS و SiteMap را نیز فراهم میکند.

گذشت بیش از ده سال از توسعه فعال این فریمورک، OpenSource و رایگان بودن آن و همچنین بکارگیری توسط شرکت های معتبر نشان دهنده بلوغ و قابل اعتماداین فریم ورک است.

این دوره آموزشی قسمت اول از آموزش پروژه محور این فریمورک است که در آن قصد داریم یک اتاق گفتگو (Forum) را با همه بخش ها و امکانات پیاده سازی کنیم. از نصب و آماده سازی محیط توسعه جنگو شروع کرده و با کدنویسی در محیط VSCode به تعریف و ایجاد Model ها، View ها، Template ها و URL ها خواهیم پرداخت. تمام مسیر آموزش را با نوشتن کدهای Test مورد نیاز هر قسمت پیش خواهیم برد لذا میتواند نحوه نوشتن اصولی و توسعه پروژه ها را بطور عملی و واقعی نمایش دهد.

در دوره آموزشی جاری (قسمت ۱) به ساخت اپلیکیشن صفحه فروم، نمایش Topic ها، ایجاد Topic جدید، کار با پنل Admin، ایجاد مدل، view و تمپلیت ها، ایجاد فرم ها و پردازش و اعتبارسنجی آنها خواهیم پرداخت.

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

این دوره میتواند برای برنامه نویسان وب به ویژه علاقه مندان به زبان پایتون برای استفاده از این فریمورک در توسعه وبسایت های داینامیک دید مناسبی ایجاد نماید.

 

مشاهده معرفی دوره آموزشی فریمورک Django

مشاهده نصب پایتون، نصب Virtual Environment و نصب فریمورک جنگو

تهیه دوره آموزشی فریمورک وب پایتونی جنگو