آنچه یاد خواهید گرفت:
ساخت اپلیکیشنهای دادهای تعاملی و آمادهی تولید با استفاده از Streamlit و Python
طراحی طرح بندیهای تمیز و واکنشگرا در Streamlit با استفاده از کامپوننتهای قابلاستفادهمجدد
ثبت و مدیریت مؤثر ورودیهای کاربر، رویدادها و session state
مصورسازی داده با استفاده از جدولها، شاخصها، نمودارها و نمودارهای تعاملی
ایجاد اپلیکیشنهای چندصفحهای Streamlit با استیت مشترک و ناوبری
بهینهسازی عملکرد اپلیکیشن با استفاده از تکنیکهای کشینگ و مدیریت استیت
یکپارچهسازی اپلیکیشنهای Streamlit با پایگاههای داده و APIهای خارجی
شخصیسازی رابط کاربری با استفاده از تمها، CSS و تکنیکهای برندسازی
استقرار اپلیکیشنهای Streamlit در محیطهای ابری و تولید
ساخت و استقرار پروژههای واقعی، از جمله Personal Finance Tracker و Budget Planner
پیشنیازهای دوره
اشتیاق و اراده برای اینکه اثر خود را در جهان بگذارید!
توضیحات دوره
به دورهی Streamlit با Python: ساخت و استقرار اپلیکیشنهای دادهای واقعی از طرف Uplatz خوش آمدید.
Streamlit یک فریمورک Python متنباز است که به شما امکان میدهد اپلیکیشنهای وب تعاملی برای داده، تحلیل و یادگیری ماشین - فقط با Python بسازید.
بدون نیاز به HTML ،CSS یا JavaScript. اگر بتوانید یک اسکریپت Python بنویسید، میتوانید یک وب اپلیکیشن هم بسازید.
این ابزار بهطور گسترده توسط دانشمندان داده، تحلیلگران، مهندسان ML و توسعهدهندگان Python استفاده میشود تا اسکریپتها و نوتبوکها را در چند دقیقه به اپلیکیشنهای قابلاشتراکگذاری تبدیل کنند.
Streamlit چگونه کار میکند؟
Streamlit از یک مدل اجرای مبتنی بر اسکریپت پیروی میکند:
شما یک اسکریپت Python معمولی مینویسید
از فرمان های st * استفاده میکنید (مثل st button ،st dataframe ،st line_chart)
Streamlit اسکریپت شما را از بالا به پایین اجرا میکند.
هر تعامل کاربر (کلیک دکمه، جابهجایی اسلایدر) باعث اجرای مجدد اسکریپت میشود.
Streamlit رابط کاربری را بهصورت خودکار در مرورگر بروزرسانی میکند.
ایدهی اصلی
اسکریپت Python شما خود وب اپلیکیشن شماست
بدون route، بدون callback، و بدون دردسرهای استیت فرانتاند
در پشت صحنه (درون سیستم چه اتفاقی میافتد؟)
کد Python در بکاند اجرا میشود
Streamlit:
عناصر رابط کاربری را شناسایی میکند.
استیت رابط کاربری را به مرورگر ارسال میکند.
در هنگام تعامل، اسکریپت را دوباره اجرا میکند.
Session state داده مخصوص هر کاربر را نگه میدارد.
Caching از محاسبات غیرضروری جلوگیری میکند.
این ویژگیها Streamlit را به ابزاری تبدیل میکنند که:
برای توسعه، بسیار سریع است
درک آن آسان است
برای اپلیکیشنهای دادهمحور ایدهآل است
ویژگیهای اصلی Streamlit
توسعهی سریع اپلیکیشن
ساخت اپلیکیشن در چند دقیقه، نه چند روز
بدون نیاز به دانش فرانتاند
کدهای boilerplate بسیار کم
کامپوننتهای غنی رابط کاربری
پشتیبانی آماده از موارد زیر:
متن، markdown، شاخصها
دکمهها، اسلایدرها، چکباکسها
فرمها و ویجتهای ورودی
جدولها و dataframeهای قابل ویرایش
مصورسازی قدرتمند داده
نمودارهای بومی (st line_chart ،st bar_chart)
پشتیبانی کامل از:
Matplotlib
Seaborn
Plotly
Altair
داشبوردهای تعاملی با حداقل کد
Session State و Caching
st session_state برای داده مخصوص هر کاربر
Caching برای:
بارگذاری داده
محاسبات پرهزینه
افزایش چشمگیر عملکرد در اپلیکیشنهای واقعی
اپلیکیشنهای چندصفحهای
ساخت داشبوردهای چندصفحهای
ناوبری و استیت مشترک
ساختار پروژهی تمیز برای اپلیکیشنهای بزرگ
مدیریت فایل و پشتیبانی از رسانه
آپلود CSV ،Excel، تصویر، صوت و ویدئو
دانلود فایلهای پردازششده
مناسب برای ابزارها و utilityهای داخلی
یکپارچهسازی با پایگاه داده و API
اتصال به:
پایگاههای داده SQL
پایگاههای داده ابری
REST APIها
ساخت اپلیکیشنهای کاملاً دادهمحور
استایلدهی و تمسازی
تمهای داخلی
تزریق CSS سفارشی
رابطهای آماده برای برندسازی
استقرار آسان
Streamlit Community Cloud
Docker
AWS ،Azure ،GCP
سازگار با پایپ لاین های CI/CD
Streamlit برای چه مواردی بهترین گزینه است؟
داشبوردهای داده
دموی مدلهای ML
ابزارهای داخلی
اپلیکیشنهای تحلیلی
نمونهسازی سریع
پروژههای شخصی یا استارتاپی
برای موارد زیر گزینهی ایدهآلی نیست:
انیمیشنهای سنگین فرانتاند
اپلیکیشنهای پیچیده به سبک SPA
منطق رابط کاربری بسیار سفارشی
Streamlit به شما اجازه میدهد اسکریپتهای Python را بدون هیچ کد فرانتاندی به وب اپلیکیشنهای تعاملی تبدیل کنید.
چرا این دورهی Streamlit را بگذرانید؟
Streamlit یکی از سریعترین راهها برای تبدیل کد Python به اپلیکیشنهای واقعی و قابلاستفاده است. این دوره بر کاربرد عملی و واقعی تمرکز دارد، نه فقط روی قابلیتهای جداگانه
شما فقط Streamlit را یاد نمیگیرید - بلکه اپلیکیشنهای کامل میسازید، بهترین شیوههای تولید را میآموزید و با اطمینان اپلیکیشنهای خود را مستقر میکنید.
این دوره طوری طراحی شده که شما را از این مسیر عبور دهد:
اسکریپتهای Python ➜ وب اپلیکیشنهای تعاملی
نوتبوکها ➜ داشبوردهای قابلاشتراکگذاری
ایدهها ➜ محصولات قابل استقرار
بررسی دوره
این دوره با رویکردی عملی و پروژهمحور به Streamlit میپردازد.
شما با مبانی Streamlit شروع میکنید و بهتدریج وارد این مباحث میشوید:
طرح بندی رابط کاربری و تعاملپذیری
مصورسازی داده و اپلیکیشنهای دادهای قابل ویرایش
مدیریت استیت و بهینهسازی عملکرد
معماری اپلیکیشنهای چندصفحهای
یکپارچهسازی با پایگاه داده و API
استایلدهی، تمسازی و برندسازی
استقرار و گردش های کار تولید
هر مفهوم با مثالهای روشن توضیح داده میشود و سپس در سناریوهای واقعی به کار گرفته میشود.
پروژههای عملی موجود در دوره
در طول دوره، اپلیکیشنهای کاربردی زیر را خواهید ساخت:
داشبوردهای تعاملی داده
اپلیکیشنهای چندصفحهای Streamlit
ابزارهای ویرایش و اعتبارسنجی داده
اپلیکیشنهای دادهمحور مبتنی بر API
اپلیکیشنهای مستقرشده و آمادهی تولید
پروژههای نهایی
اپلیکیشن نهایی ابتدا تا انتها در Streamlit
Personal Finance Tracker و Budget Planner
این پروژهها همهی آموختههای شما را تثبیت میکنند و میتوانند به نمونهکار یا GitHub شما اضافه شوند.
چه چیزی این دوره را متفاوت میکند؟
تمرکز بر ساخت اپلیکیشنهای واقعی، نه مثالهای ساده و آزمایشی
پوشش استقرار و تولید، نه فقط توسعه
شامل اپلیکیشنهای چندصفحهای و مدیریت استیت
تعادل ایدهآل بین سادگی + شیوههای حرفهای
مناسب برای مبتدیان، اما همچنان ارزشمند برای توسعهدهندگان باتجربه
این دوره چگونه تدریس میشود؟
توضیحات روشن و گامبهگام
نمایشهای عملی کدنویسی
تأکید بر مثالهای کاربردی بهجای تئوری
گردش های کار پروژههای واقعی
پیشرفت منظم و ساختارمند
شما همواره نه فقط چگونگی استفاده از یک چیز، بلکه دلیل استفاده از آن را درک خواهید کرد.پس از پایان این دوره، قادر خواهید بود.
اپلیکیشنهای دادهای تعاملی با استفاده از Streamlit و Python بسازید.
رابطهای تمیز و مناسب کاربر در Streamlit طراحی کنید.
استیت و عملکرد اپلیکیشن را بهصورت کارآمد مدیریت کنید.
اپلیکیشنهای چندصفحهای Streamlit ایجاد کنید.
پایگاههای داده و APIها را در اپلیکیشنهای خود یکپارچه کنید.
اپلیکیشنهای Streamlit را در محیطهای ابری و تولید مستقر کنید.
پروژههای Streamlit خود را با اطمینان و بهصورت حرفهای ارائه دهید.
Streamlit با Python: ساخت و استقرار اپلیکیشنهای دادهای واقعی - سرفصل دوره
ماژول 1: شروع کار با Streamlit
Streamlit چیست و چرا اهمیت دارد؟
نصب Streamlit و راهاندازی محیط
اجرای اولین اپلیکیشن Streamlit
درک چرخهی عمر اپلیکیشن Streamlit
ماژول 2: کامپوننتهای اصلی و طرح بندی اپلیکیشن
ساختار صفحه در Streamlit
متن، Markdown و عناصر رسانهای
کنترل طرح بندی با Containerها، Columnها و Expanderها
بهترین شیوهها برای طراحی تمیز اپلیکیشن
ماژول 3: ویجتهای ورودی کاربر و تعاملپذیری
دکمهها، اسلایدرها، چکباکسها و دکمههای رادیویی
ورودیهای متنی و Select Boxها
فرمها و جریان تعامل کاربر
مدیریت مؤثر رویدادهای کاربر
ماژول 4: مصورسازی داده با Streamlit
نمایش جدولها و شاخصها
رسم نمودار با Matplotlib و Seaborn
نمودارهای تعاملی با Plotly
انتخاب بهترین نوع مصورسازی برای داده شما
ماژول 5: DataFrameهای پیشرفته و ویرایشگرها
نمایش کارآمد DataFrameهای بزرگ
استفاده از st data_editor
جدولهای قابل ویرایش و اعتبارسنجی
سناریوهای واقعی ویرایش داده
ماژول 6: مدیریت استیت و Caching
درک Session State
مدیریت سشن های کاربر
Caching داده و توابع
تکنیکهای بهینهسازی عملکرد
ماژول 7: قابلیتهای تخصصی Streamlit
آپلود و دانلود فایل
مدیریت رسانه (تصویر، صوت، ویدئو)
نوارهای پیشرفت و پیامهای استیت
مروری بر کامپوننتهای سفارشی
ماژول 8: ساخت اپلیکیشنهای چندصفحهای Streamlit
ایجاد ساختارهای چندصفحهای
ناوبری و مسیریابی صفحات
اشتراکگذاری استیت بین صفحات
طراحی معماریهای مقیاسپذیر برای اپلیکیشن
ماژول 9: استایلدهی، تمها و شخصیسازی رابط کاربری
تمهای سفارشی و استایلدهی طرح بندی
استفاده از CSS در Streamlit
برندسازی اپلیکیشن Streamlit شما
بهبود UX و جذابیت ویژوال
ماژول 10: یکپارچهسازی پایگاه داده و API
اتصال Streamlit به پایگاههای داده
کار با کوئریهای SQL
مصرف REST APIها
ساخت اپلیکیشنهای دادهمحور
ماژول 11: استقرار و تولید – بخش 1
آمادهسازی اپلیکیشنهای Streamlit برای استقرار
پیکربندی محیط
مدیریت secrets
اشتباهات رایج در استقرار
ماژول 12: استقرار و تولید – بخش 2
استقرار در Streamlit Cloud
استقرار در پلتفرمهای ابری (مروری بر AWS / GCP / Azure)
ملاحظات عملکرد و مقیاسپذیری
نظارت و نگهداری
ماژول 13: پروژهی نهایی – اپلیکیشن ابتدا تا انتها در Streamlit
برنامهریزی و معماری پروژه
ساخت یک اپلیکیشن کامل و آمادهی تولید
اعمال بهترین شیوههای آموختهشده
بازبینی نهایی و بهبودها
ماژول 14: پروژهی واقعی – Personal Finance Tracker و Budget Planner
طراحی Finance Tracker
ردیابی هزینهها و منطق بودجهبندی
مصورسازی داده و استخراج بینش
استقرار پروژهی نهایی
این دوره برای چه کسانی مناسب است؟
توسعهدهندگان Python که میخواهند بدون یادگیری فریمورکهای فرانتاند، اپلیکیشنهای وب تعاملی بسازند.
تحلیلگران داده و دانشمندان داده که میخواهند نوتبوکها را به داشبوردهای قابلاشتراکگذاری و آمادهی تولید تبدیل کنند.
فعالان یادگیری ماشین که میخواهند مدلها را بهصورت اپلیکیشنهای وب ساده مستقر کنند
تحلیلگران کسبوکار و متخصصانی که میخواهند ابزارهای دادهمحور و داشبوردهای داخلی بسازند.
دانشجویان و مبتدیان حوزهی تحلیل داده یا Python که به دنبال یادگیری عملی و مبتنی رب پروژه هستند.
بنیانگذاران استارتاپ و سازندگان محصول که میخواهند بهسرعت نمونههای اولیهی اپلیکیشنهای دادهای بسازند.
هر کسی که به ساخت داشبورد، ابزار یا اپلیکیشنهای داخلی با Python علاقهمند است.