برنامه نویس و عاشق دنیای فناوری
تجربه لذت بخشِ برنامه نویسیِ وب با پایتون
در این آموزش میخام یه مطلب جامع و کاملی بنویسم درباره ی زبان پایتون و اینکه چطور اولین سایت خودمان را با این زبان بسازیم.
این رو هم بگم که این نوشته توسط کسی هست که قبلا سالها پی اچ پی کار میکرد و الان داره به سمت پایتون میره و دلیلش را هم در ادامه مینویسم اما همین اول بگم که قرار نیست هر برنامه نویس PHP به PYTHON مهاجرت کنه و این شرایط فقط برای یه عده ی خاصی صدق میکنه
بزارید اینطوری شروع کنم که پایتوون اصلا چیه
زبان پاایتون یک زبان سطح بالا و چند پلتفرمیه یعنی مخصوص یک جا نیست و همه جا کاربرد داره. ممکنه یکی باهاش نرم افزار دسکتاپی بنویسه ممکنه یکی دیگه اونو برای ساخت سایت استفاده کنه ممکنه یکی دیگه ازش بعنوان اسکریپت بازی سازی استفاده کنه و .... این زبان شی گراست و از اکثر دیتابیس ها پشتیبانی میکنه عمده ی استفادش در هوش مصنوعی ، توسعه وب ، هک و امنیت ، تحلیل داده ( ریاضی و آمار و فیزیک و نجوم و ... ) هست.
چطور شد پایتون ، اینقدر محبوب شد ؟
طبق آماری که سایت Toibe index منتشر کرده محبوب ترین زبان برنامه نویسی جهان زبان پایتون هست :
اما محبوبیت این زبان اتفاقی نبوده و دلایلی هست که باعث محبوبیتش شده و قراره اون دلایل رو همینجا بررسی کنیم :
- سادگی در یادگیری : شاید مسخره به نظر برسه ولی کارشناسان یکی از مهم ترین عوامل محبوبیت پایتون رو سادگی این زبان اعلام کردند. اگر شما بخواهید برای مثال زبانی مثل جاوا را یاد بگیرید باید کلی برنامه نصب کنید و بعد از آماده سازی محیط برای نمایش یک متن ساده hello world باید کلی کُد درک کنید ولی پایتون واقعا سادست و نیاز به نصب نرم افزار و ابزارهای خاصی نداره و با یک خط هم میتوانید اولین برنامه ی خود را اجرا کنید.
- خلاقیت بالا : با کدنویسی کمتر میتوانید کارهای پیچیده ای انجام دهید. اگر با زبانی مثل سی پلاس پلاس مقایسه کنیم میبینید که چقدر در زمان شما صرفه جویی خواهد شد چون کدهایی که با پایتون نوشته میشود نسبت به سی پلاس پلاس یا هر زبان دیگری بسیار خلاصه تر و کمتره.
- کتابخانه ها و پکیج های زیاد : واقعا برای هر کاری که بخواهیید انجام دهید یک کتابخانه یا پکیج آماده پیدا میشه و شما با import کردن آن میتوانید به راحتی از آن استفاده کنید و دیگر نیاز نیست هزاران خط کدنویسی کنید. این هم مدیون جامعه ی بزرگی هست که جامعه ی پایتون را شکل داده اند.
- استفاده ی آکادمیک : توی بیشتر دانشگاه ها و مدارس که علوم کامپیوتر را درس میدن باب شده که همه چیو با پایتون آموزش میدن. البته بعضی دانشگاه ها زبان سی پلاس پلاس را بخاطر جامع تر بودن ترجیح میدن ولی باز هم یکی از دلایل محبوب شدن پایتون میتونه این استفاده آکادمیک باشه که ناخودآگاه باعث میشه افراد به سمتش جذب بشن.
- مالتی پلتفرم بودن : به زبان ساده یعنی بتونی همه جا استفادش کنی. تو کامپیوتر تو وب سایت توی بازی سازی برای نوشتن پلاگین برای هک و امنیت و ... هر اسکریپت دم دستی که بخایید سریع اجراش کنید با پایتون قابل انجامه و بخاطر همین پایتون انتخاب اول هکرهاست.
عوامل بالا باعث شدن پایتون ، نه تنها یه زبان برنامه نویسی بلکه تبدیل به یه ابزار دوست داشتنی برای همه ی برنامه نویسان جهان شده و از این طرف پروژه های واقعا بزرگی هم با پایتون اجرا شدن و هیچ مشکلی هم براشون پیش نیامده.
استفاده از پایتون در توسعه ی وب
برنامه نویسی وب دنیای گسترده ایه و البته میشه گفت پردرآمدترین و پرجنب و جوش ترین حوزه ی برنامه نویسی هم حساب میشه. معمولا دنیای برنامه نویسی وِب با زبان ها و ابزارهای فرانت اند شروع میشه مثل یادگیری HTML , Css و Javascript.
اما وقتی پیشرفت میکنید میبینید اینا کافی نیستن و شما باید یک زبان بک اند یاد بگیرید تا بتونید یک سایت داینامیک و قوی پیاده سازی کنید.
در همین مرحله زبان PHP پیشنهاد میشه.
و بعد سیستم مدیریت محتوایی مثل وردپرس کار شما رو حل میکنه.
تا اینجای داستان همه چی اوکیه و طرفی که تا اینجا پیش رفته باید بهش احسنت گفت چون خیلیا تو همون مرحله ی HTML داستان وب گیر میکنند. اما وقتی پروژه ها واقعی تر و بزرگتر میشه نیازمندی ها هم گسترش پیدا میکنه
کم کم همون PHP که غول برنامه نویسی وب بود هم کم میاره و اینجاست که پایتون وارد میشه.
اما کسی که برنامه نویسی وب شروع میکنه الزامی نداره اول PHP یاد بگیره بعدا Python !
میتونه همون اولش بره سراغ پایتون...
توی دنیای زبان های برنامه نویسی وِب وجود فریمورکها یک نعمت بزرگیه و همیشه هر برنامه نویس وب برای زبان برنامه نویسی خودش ( میخاد PHP باشه یا Python ) باید یک فریمورک هم انتخاب کرده و یاد گرفته باشه.
چون این مقاله درباره ی پایتوون هست ترجیحا من به فریمورک های پایتون میپردازم. یادگیری یکی از فریمورک های پایتون برای شما کافیه و یادگیری دومی و سومی کاملا اختیاری هست و البته باعث میشه رزومه ی شما قویتر بشه
سه تا از محبوب ترین فریمورک های پایتون عبارتند از :
- Flask = سبک و ساده ولی قدرتمند ، مناسب برای شروع یادگیری
- Django = برای پروژه های بزرگ ، کمی پیچیده و سخت
- CherryPy = مینیمالیست هست تجربه کار باهاش رو نداشتم
من با فریمورک فلسک ( FLASK ) توسعه ی وب با زبان پایتون رو شروع کردم و شروع خیلی عالی بود. فلسک برخلاف جنگو که همه چیز را اول کار نصب میکنه ، خیلی سبک هست و براساس نیازمندی های شما نصب میشه.
اگه دوست دارید flask رو یاد بگیرید من ویدیو های آموزشی رایگانی ازشون پیدا کردم و با اونا شروع کردم که به شما هم پیشنهاد میدم. این ویدیو ها توسط مهندس نیکزاد تولید شده اند و خیلی عالی هستند
اولی یه پلی لیست هست به اسم شروع طراحی وب با پایتون که از صفر به شما یاد میده چطور برنامه نویسی وب با فلسک را استارت بزنید :
لینک پلی لیست بالا اینه و میتونید بصورت کامل رایگان ازش استفاده کنید. کیفیت این آموزش ها در حد دوره های خارجی هست و خیلی خوبه من مدیون این دوره هستم که تونستم برنامه نویسی وب با پایتون رو شروع کنم پس حتما برید و استفاده کنید :
https://www.aparat.com/playlist/9601270
پلی لیست دومی یه کارگاه آموزشی هست بصورت کاملا پروژه محور که علاوه بر برنامه نویسی بک اند ، برنامه نویسی فرانت اند رو هم قرار دادن ( فول استک ) و برای فرانت اند هم از vue.js استفاده کردن که به نظرم عالیه این دو تا رو یکجا یاد بگیرید :
این کارگاه آموزشی رو هم میتونید از لینک زیر ببینید :
https://www.aparat.com/playlist/9640827
تجربه ی اولین پروژه ی وب با پایتون و فریمورک فلسک
اولین قدم برای شروع نصب کردن پایتونه برای نصب پایتون کافیه برید تو سایت پایتون و نسخه ی پایدار یا stable ازش دانلود کنید که طبق آموزش های بالا من نسخه ی 3.10 استفاده کردم.
پایتون توی بعضی از لینوکس ها بصورت پیشفرض نصبه ولی حتما امتحانش کنید که نصب باشه.
اگه ویندوزی هستید حتما موقع نصب کردن گزینه ی PATH رو تیک بزنید وگرنه مجبور خواهید شد مسیر پایتون رو به environment variables تعریف کنید.
بعد از اینکه پایتون را نصب کردید دستور زیر را توی ترمینال یا CMD بزنید تا مطمئن بشید پایتون نصبه :
python --version
این دستور نسخه ی نصب شده را نشان میده و اگر خطا نمایش داد یعنی اینکه هنوز پایتون روی سیستم شما نصب نیست و نمیتوانید برنامه نویسی وب با پایتون رو آغاز کنید.
محیط کدنویسی که استفاده میکنم visual studio code هست که از لینک زیر میتونید دانلود و نصب کنید :
محیط visual studio code به شما امکان استفاده از ترمینال هم میده که به راحتی میتونید دستورات را هم در زیر کدهای خود واردکنید.
بعد از نصب محیط ویژوال استودیو کد باید افزونه ی python را نصب کنید که برای اینکار طبق تصویر زیر در قسمت اکستنشن ها جستجو کنید و نصب کنید :
حالا میتونید از منوی File گزینه ی New File را بزنید سپس Python را انتخاب کنید تا یک فایل جدید پایتونی ساخته بشه.
با زدن دکمه ی کنترل و S میتونید اونو ذخیره کنید . فرقی نداره کجا ذخیره میکنید ولی حتما فرمت فایل py باشه
شما میتونید فایل py رو در هرکجا که باشه با دستور python اجراش کنید. یعنی شما کافیه ترمینال یا CMD را باز کنید و به مسیری که فایل py قرار داره برید و سپس دستور زیر را اجرا کنید :
python file.py
یا اینکه میتوانید از خود ویژوال استودیو کد استفاده کنید کافیه منو Run رو بزنید و سپس گزینه ی Run without debugging رو بزنید مثل تصویر زیر :
حالا موقع این رسیده که فریمورک Flask رو نصب کنیم.
فلسک به راحتی با استفاده از pip نصب میشه. ( پکیج منیجر pip به همراه پایتون برای شما نصب میشه )
کافیه CMD در ویندوز یا ترمینال در مک و لینوکس را باز کنید و عبارت زیر را تایپ کنید ( البته از V.P.N خوبی هم استفاده کنید ) :
pip install flask
کمی صبر کنید تا نصب تمام بشه و حالا میتونید از فلسک استفاده بکنید ولی یه چیز مهم اینه که شما در هر فایلی که بخواهید از فلسک استفاده کنید باید آنرا ایمپورت کنید.
بهتره یک فایل جدید بسازید و اسم اونو به app.py تغییر بدید. در ابتدا عمل ایمپورت ساده ی فلسک رو انجام بدید :
from flask import Flask
حالا که flask به فایل شما ایمپورت شده میتونید از کدهای فلسک استفاده کنید به همین سادگی !
برای شروع کدهای زیر را بنویسید :
app = Flask(__name__)
@app.route('/', methods=['GET'])
def show():
return "hello world"
if __name__ == "__main__" :
app.run(debug=True)
حالا کافیه با دستور زیر فایل python را اجرا کنید :
python app.py
سرور شروع به اجرا میکنه و پروژه ی شما رو معمولا با پورت 5000 روی localhost اجرا میکنه . حالا مرورگر باز کنید و بنویسید localhost:5000 تا نتیجه را ببینید.
باید عبارت hello world برای شما چاپ بشه.
مطلبی دیگر از این انتشارات
ویژگی Primary Constructors در سی شارپ 12
مطلبی دیگر از این انتشارات
آموزش JSX در ری اکت ! ( سیر تا پیاز JSX در React )
مطلبی دیگر از این انتشارات
refactor کردن کد چیست