طراحی وبسایت با پایتون (۵ مرحله اصلی)

سلام دوستان بعداز دو مقاله قبلیم امروز تصمیم گرفتم به مبانی طراحی وبسایت با پایتون بپردازملایک و کامنت یادتون نره.من رو فالو هم بکنید تا نوشته های بعدیمو از دست ندین.پایتون در چند سال گذشته، محبوبیت زیادی پیدا کرد. زبان برنامه ریزی در جاوا بیش از بقیه محبوبیت پیدا کرده است اما برای خیلی از افراد این موضوع اصلا جای تعجب ندارد. با افزایش یادگیری در مورد دستگاه ها ، آنالیز دیتا، و اپلیکیشن وب، بسیاری از توسعه دهندگان از پایتون برای مجموعه برنامه های قدرتمند و فراوانی استفاده می کنند، که هماهنگی قسمت های مختلف و جابجایی در آن راحت است. بدون شک اکنون زمان خوبی برای توسعه دهندگان پایتون است. امروز یاد می گیرید که پایتون چگونه برای ساخت وب سایت مورد استفاده قرار می گیرد.در این مقاله موضوعات زیر را پوشش می دهیم:توسعه وبسایت چیست؟چه چیزی پایتون را برای ساخت وبسایت مناسب کرده است؟چارچوب های وبسایت پایتونمجموع برنامه های پایتون برای ساخت وبیک نقشه راه برای توسعه دهندگان وبسایت با پایتونچگونگی ایجاد اولین اپلیکیشن وب در پایتونتبدیل شدن به توسعه دهنده وب پایتونتوسعه وب سایت چیست؟برای افرادی که در کار برنامه نویسی تازه کار هستند، شاید معنی دقیق توسعه وبسایت برایشان عجیب و ناشناخته باشد. البته که شرح معنی دقیق آن تقریبا غیر ممکن است، توسعه وب تقریبا یک نوع ساخت، ایجاد، و پشتیبانی کردن از وبسایت هاست. معمولا توسعه وب یک فروت اند (Frontend)، هرچیزی که با مشتری تعامل داشته باشد و یک بک اند(backend) ، چیزی که شامل منطق بیزینس می شود و با دیتابیسس تعامل برقرار می کند را شامل می گردد.چه چیزی پایتون را به یک گزینه مناسب برای توسعه وب تبدیل کرده است؟مزایای اپلیکیشن های وب در پایتونیادگیری آسان: پایتون محبوب ترین زبان برای یادگیرندگان است و آن هم یک دلیل دارد. زبان آن روی عبارارت رایج و فضای سفید تمرکز می کند که باعث می شود شما کدهای کمتری را نسبت به دیگر زبان ها مثل جاوا یا C++ بنویسید. نه تنها این، بلکه موانع کمتری برای داخل شدن دارد، زیرا شباهت بیشتری نسبت به زبان مورد استفاده شما دارد، بنابراین کدها را راحت تر می فهمید.کارخانه ها و اکوسیستم های غنی. پایتون طیف وسیعی از ابزارهای کارخانه و پکیج ها را پیشنهاد می شود که به شما اجازه می دهد به کدهای از پیش نوشته شده بیشتری دسترسی داشته باشید و زمان توسعه اپلیکیشن خود را کمتر کنید. مثلا شما به نامپی و پانداس برای آنالیز محاسباتی، به pygal برای نموداربندی، و SLQALchemy برای ایجاد سوالات دسترسی دارید. پایتون همچنین فریم ورک های اعجاب انگیزی را مانند فلاسک و جنگو را پیشنهاد می کند که بعدا در این مقاله به آن خواهیم پرداخت.طرح اولیه سریع: از آنجایی که پایتون زمان کمتری را برای ساخت پروژه در مقایسه با دیگر زبان های برنامه نویسی می گیرد، در نتیجه ایده های شما سریع تر اجرایی می شوند و به شما اجازه می دهد که بازخورد بگیرید و سریع تر کار را تکرار کنید. این زمان توسعه سریع باعث می شود که پایتون به یک برنامه عالی برای استارتاپ های مارکت تبدیل شود که می خواهند سریع تر وارد عرصه رقابتی شوند.مجبوبیت وسیع تر: پایتون یکی از محبوب ترین زبان ها در دنیا و جوامع در سراسر جهان است. بخاطر میزان محبوبیت این زبان، پایتون به طور مداوم ویژگی ها و کارخانه های جدید را آپدیت می کند، در حالی که اجتماع و اسناد را ساپورت می کند. پایتون مخصوصا برای توسعه دهندگان تازه کار، ساپورت گسترده و چارچوبی را برای افرادی که می خواهند این مسیر را در پیش بگیرند، فراهم می کند.چارچوب های وب پایتونچارچوب های وب چیست، و چرا مهم هستند؟در مورد جعبه ابزار فکر کنید. یک فریم ورک وب، مجموعه ای از پکیج ها و مدل های از پیش نوشته شده، کد استاندارد شده است که ساخت اپلیکیشن های وب را ایجاد می کند و باعث می شود که توسعه سایت سریع تر و آسان تر پیش برود و برنامه های شما قابل اعتمادتر و با مقیاس بندی همراه باشند. به عبارت دیگر، چارچوب ها اجزای درونی دارند که پروژه شما را “تنظیم می کنند”، بنابراین در میانه راه کمتر با مشکل مواجه می شوید.فریم ورک های وب پایتون فقط در تکنولوژی کناری سرور در بک اند قرار گرفته اند، و به روت در URL کمک می کنند، درخواست ها و پاسخ های HTTP را ایجاد می کنند و به دیتابیس دسترسی دارند و باعث امنیت وبسایت می گردند. در حالیکه به استفاده از چارچوب وب نیاز نیست، اما آن را به شدت پیشنهاد می کنیم، زیرا به شما کمک می کند اپلیکیشن های پیچیده را در مدت زمان کمتر توسعه دهید.فریم ورک های محبوب وب پایتون کدام ها هستند؟جنگو و فلاسک از طریق حاشیه پهن، جزء مجبوب ترین فریم ورک های توسعه وب پایتون است.جنگو یک چارچوب پایتون است که یک منبع باز را پیشنهاد می دهد که یک چارچوب با سطح بالا است که “توسعه سریع و تمیز و با طراحی برنامه ریزی شده را ایجاد می کند.” این چارچوب سریع، امن و مقیاس پذیر است. جنگو حمایت امنیتی قوی همراه با اسناد مربوط به جزئیات را به همراه دارد.جنگو به شدت انعطاف پذیر است که در آن می توانید با MVP ها برای کمپانی های بزرگتر کار کنید. از دیدگاه بعضی ها، بعضی از بزرگ ترین کمپانی هایی که از جنگو استفاده می کنند، اینستاگرام، دراپ باکس، پینترست و اسپاتیفای هستند.فلاسک یک چارچوب میکرو است که یک چارچوب مینیمالیستی محسوب می گردد و کمتر “شامل باتری” می شود و به معنای کمبود عملکردها و ویژگی ها است و مانند جنگو ویژگی های کامل را مثل موتور طرح وب، حساب رسی و سندیت را ارائه نمی دهد.فلاسک یک برنامه مینیمالیستی و سبک است، به معنای اینکه ویژگی ها و مجموع برنامه هایی را ارائه می دهد که بدون استفاده از چارچوب یا فریم ورک آن، می توانید به آنها کد بدهید. فلسفه پشت فلاسک، این است که اجزایی را به شما می دهد که نیاز دارید برای یک اپلیکیشن بسازید، بنابراین شما به اندازه کافی انعطاف پذیری و کنترل دارید. فلاسک همچنین یک چارچوب وب قدرتمند و رایج است که برای کمپانی های بزرگ مانند نتفلیکس، لینکدین و Ubar استفاده می شود.کدام را باید استفاده کنید؟بنابراین ممکن است از خودتان بپرسید: کدام فریم ورک یا چارچوب را باید انتخاب کنم؟ پاسخ شما این است که بستگی دارد. سطح مهارت خود را به عنوان یک ارتقادهنده وب در نظر بگیرید. اگر به اندازه کافی تجربه دارید، در مورد توسعه برنامه با چیزی فراتر از “حداقل ها” فکر کنید. اگر به عنوان یک دانشجو در این زمینه کار می کنید، ممکن است بهتر باشد که از یک چارچوبی استفاده کنید که ساپورت بیشتری را ایجاد می کند، مثل جنگو.همچنین از خودتان بپرسید که آیا یک پایه کد “اساسی” را برای ساخت ترجیح می دهید یا می خواهید برای ساخت بک بن یا backbone پایه کد انعطاف پذیری داشته باشید؟ اگر گزینه اول را ترجیح می دهید، از جنگو استفاده کنید: اگر گزینه دوم را ترجیح می دهید، از فلاسک استفاده کنید. در انتهای روز، هردو می توانند عملکرد یکسانی را ارائه دهند. و مهم تر این است که از کدبندی شروع کنید تا اینکه مدام درگیر این باشید که کدام چارچوب بهتر است.کتابخانه ها یا مجموع برنامه های پایتون برای توسعه وببعضی از کارخانه های کاربردی پایتون برای توسعه وب که باید آنها را به یاد داشته باشید:اگر به یک وب کرالر (برنامه ای که وب سایت ها را با جستجو بازبینی می کند) برای استخراج اطلاعات از اپلیکیشن هایتان نیاز دارید، scrapy یک ابزار عالی است. از این برنامه به صورت گسترده از کتابخانه برای زدودن، نظم دیتا، تست اتوماتیک و … استفاده کنید.Zappa یک کتابخانه قدرتمند برای توسعه یک اپلیکیشن روی AWS Lambda است.Requests یک کتایخانه است که به شما اجازه می دهد که درخواست های HTTP را به راحتی ارسال کنید که برای ارتباط با اپلیکیشن استفاده می شود و مثلا به شما اجازه می دهد که دیتا یا صفحات HTML را بگیرید.یکی دیگر از کارخانه های کاربردی Dash است که به اپلیکیشن های توسعه وب که برای رصد دیتا هستند، کمک می کند. این برنامه روی فلاسک کار می کند، ویژگی هایی را مانند چارت ها، نمودارها، داشبوردها و … ارائه می دهد.نقشه راه برای توسعه وب با پایتونمرحله ۱: HTML + CSSزمانی که شروع به توسعه وب می کنید، بسیار مهم است که اول HTML و CSS را یاد بگیرید که جزء موارد پایه ای برای یادگیری این هستند که چگونه وبسایت بسازیم. اگر یاد گرفتید که چگونه ساختار صفحات ایستا را ایجاد کنید تا در مسیر توسعه وب قرار بگیرید، در واقع در بهترین حالت هستید. همچنین یاد گرفتن مفاهیمی مثل اینترنت، HTTP، مرورگرها، DNS، میزبان و … هم به شما کمک می کند.همچنین می توانید یک چارچوب CSS را مانند Materialize و Bootstrap را یاد بگیرید که سرعت توسعه وب را به طرز چشمگیری بالا می برد اما همیشه هم نیاز نیست.مرحله ۲: جاوا اسکریپتمرحله بعدی یادگیری وانیلا جاوا اسکریپت است. باید مفاهیم پایه مانند انواع دیتا، متغیرها، قراردادهای عمومی، سلسله مهارت ها، محاسبات و اوپراتورها، کنترل عبارات، لوپ ها و … را یاد بگیرید. یاد گرفتن موارد پایه جاوا اسکریپت، کار را برای اعمال روی کد مشتری جاوا اسکریپت آسان می کند.مرحله ۳: DOM و jQueryبعد از اینکه موارد پایه جاوا اسکریپت را یاد گرفتید، باید یاد بگیرید که چگونه DOM و jQuery را به کار بگیرید که یک کتابخانه جاوا اسکریپت است و باعث به کارگیری راحت تر DOM می شود. اکنون می دانید که چگونه صفحات داینامیک را ایجاد کنید.چارچوب پیشین (انتخابی)شاید نیاز نباشد که چارچوب پیشین را مانند اپلیکیشن کامل وب را برای ساخت یاد بگیرید، اما یادگیری آن را پیشنهاد می کنیم. این کار نه تنها به شما کمک می کند که SPA های زیبا بسازید، اما اغلب برای توسعه دهنده های کامل یا پیشین به کار گرفته می شود.مرحله ۴: پایتوناکنون در بک اند، باید موارد پایه پایتون را دقیقا مانند دوره های قبل در جاوا اسکریپت قبل از یادگیری DOM به کار بگیرید. یادگیری موارد پایه شما را برای جنگو اماده می کند، بنابراین احتمالا درگیری خیلی زیادی نخواهید داشت. یادگیری مقدمات پایتون، خیلی هم اعجاب انگیز نیست، و مفاهیم آن شبیه به جاوا اسکریپت است.مرحله ۵: جنگو + دیتابیسبا جنگو، قادر خواهید بود که محیط پشت صحنه را را آماده کنید و منطق بیزینس را توسعه دهید. همچنین می توانید در مورد دیتابیس ها مانند ، SQLite، چگونگی طرح سوال و عملکرد CRUD چیزهایی را یاد بگیرید. با این روش می توانید یک اپلیکیشن کامل داشته باشید!چگونه اولین اپلیکیشن وب را در پایتون ایجاد کنیم؟اول یک اپلیکیشن فلاسک “hello world” به عنوان مقدمه ای برای چارچوب های وب پایتون بسازیدنصب فلاسکاولین کاری که نیاز دارید، نصب فلاسک است. بسته به نوع نسخه ای از پایتون که استفاده می کنید، باید از pip یا pip3 استفاده کنید.اپلیکیشن فلاسکدر مرحله بعد، یک فایل به نام hello.py با کد زیر بسازید.from flask import Flaskapp = Flask(__name__)@app.route(“/”)def hello():return “Hello World!”if __name__ == “__main__”:app.run()خط ۱ فلاسک را وارد عمل می کند.خط ۲ فلاسک را با متغیر app با استفاده از –name—معرفی می کند.خط ۴ یک کانال / برای فهرست شما یا پیش زمینه، صفحه تنظیم می کند. زمانی که کاربر وارد locahost:5000/ می شود، می توانید کد خاصی را تنظیم کنید.خط ۵ یک عملکرد به نام hello را ایجاد می کند.خط ۶ hello world! را به کاربر برمی گرداند.خط ۸ تست می کند تا مطمئن شود که اسکریپت به طور صحیح اجرا شده است.خط ۹ اپلیکیشن را از متغیر app که حین آغاز کار استفاده کرده بودیم، اجرا می کند که کاربر بتواند اپلیکیشن وب را از طریق localhost بازدید کند.تبدیل شدن به یک توسعه دهنده وب پایتونتبریک! اکنون شما در مسیر متخصص شدن در توسعه وب با پایتون هستید. باید یک دیدگاه کلی از چگونگی اجرای پایتون در داخل توسعه دهنده های وب و کاربردهایش داشته باشید. با این مفهوم، مسیرهای زیادی دارید که می توانید یادگیری پایتون را در آن دنبال کنید.