آموزش برنامه نویسی فلاتر Flutter
2.01K subscribers
647 photos
71 videos
23 files
357 links
اولین مرجع فارسی آموزش برنامه نویسی فلاتر Flutter

🌐 https://flutter-learn.ir

سوالات برنامه نویسی خودتون در بخش پرسش و پاسخ سایت بپرسید:
🌐 https://flutter-learn.ir/question/


👨‍💻 Admin: @atyscode
Download Telegram
آموزش برنامه نویسی فلاتر Flutter
از یکسال دیگه به عنوان توسعه دهنده اندروید باید احراز هویت انجام بدید تا گوگل اجازه نصب برنامه‌های شمارو به دیگران بده https://android-developers.googleblog.com/2025/08/elevating-android-security.html?m=1 ⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
گوگل فرآیند سخت‌گیرانه‌تری برای نصب اپلیکیشن‌های خارج از پلی‌استور (سایدلود) در اندروید آغاز کرده است.

طبق این تغییرات، کاربران برای نصب برنامه‌های توسعه‌دهندگان تأییدنشده باید یک دورهٔ انتظار ۲۴ ساعته را طی کنند و از طریق بخش Developer options، گزینهٔ مربوطه را فعال نمایند. این محدودیت شامل نصب از طریق ابزار ADB نمی‌شود.

طرح تأیید هویت توسعه‌دهندگان از ۸ مهر در چند کشور آغاز و سال آینده جهانی می‌شود.

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
فکر کنید می‌خواهید اسپاتیفای (Spotify) را طراحی کنید. اولین چیزی که به ذهنتون می‌رسه چیه؟ خیلی ساده: کاربر اپلیکیشن رو باز می‌کنه، اسم یه آهنگ رو سرچ می‌کنه، دکمه پلی رو می‌زنه و موسیقی شروع می‌شه. به همین سادگی، نه؟

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


https://www.youtube.com/watch?v=8-2xAxpZoLs
عمو باب یا آقای رابرت مارتین نویسنده کتاب Clean Code میگه که کدهای نوشته شده توسط هوش مصنوعی و بازخوانی و بررسی نکنید!

رابرت مارتین معتقد است برای اینکه واقعاً از بهره‌وری هوش مصنوعی بهره‌مند شویم، نباید کدهای تولید شده توسط آن را خط به خط خواند. اگر بخواهیم همه کدها را بازبینی کنیم، سرعت خواندن انسان به گلوگاه سیستم تبدیل شده و سرعت هوش مصنوعی هدر می‌رود.

تغییر رویکرد: از «بازبینی چشمی» تا «ابزارهای سنجش»
مارتین این تغییر را به گذر از ابزارهای دستی به دستگاه‌های CNC تشبیه می‌کند.
در کارخانه، اپراتور تک‌تک برش‌ها را با چشم بررسی نمی‌کند، بلکه قطعه نهایی را با ابزارهای دقیق (گیج‌ها) اندازه‌گیری می‌کند. در نرم‌افزار هم باید به جای خیره شدن به کد، «ابزارهای سنجش و محدودیت» بسازیم.

مارتین کدها را بدون بررسی منتشر نمی‌کند، بلکه آن‌ها را در یک مسیر پر از محدودیت‌های سخت‌گیرانه و خودکار قرار می‌دهد:
تست‌های پذیرش (Acceptance Tests): رفتار سیستم را به زبان ساده و قابل فهم برای ذینفعان تعریف می‌کنند.
تست‌های واحد (Unit Tests): با پوشش بالا برای قفل کردن رفتار قطعات کوچک.

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
مصاحبه های برنامه نویسی فلاتر هم مثل بقیه مصاحبه های حوزه تِک تغییر کرده, دیگه قرار نیست بشینید از حفظ بگید فرق Stateful و Stateless چیه یا کد ویجت بنویسید.
الان مصاحبه‌کننده‌ها می‌خوان ببینن آیا می‌تونید تصمیمات معماری بگیرید و مبادلات (Trade-offs) رو تحلیل کنید یا نه.

▫️عجیب نیست که بپرسن "این کد رو با AI زدی؟" اصلاً تدافعی برخورد نکنید.

بگید بله، اما مثل کد یه توسعه‌دهنده جونیور باهاش برخورد کردم؛ ریویو کردم، Edge caseهاش رو فیکس کردم و تست نوشتم.
نقطه ضعف اصلی AI تو معماری و امنیته (مثلاً لو دادن توکن)، چون با اعتماد به نفس کدهای اشتباه مینویسه!

اگر تو مصاحبه میخوان یه شبکه اجتماعی طراحی کنید بزرگترین اشتباه اینه که سریع برید سراغ ادیتور و کد بنویسید.

این یه چالش System Design هست. باید اول نیازمندی‌ها رو بپرسید (پلتفرم؟ آفلاین؟ ریل‌تایم؟) و بعد مدل داده و لایه‌ها رو طراحی کنید.

جونیورها تو مسیر خوش و راحت (Happy Path) جواب میدن، اما ارشد‌ها تو مصاحبه خودشون رو با حالت‌های خطا (Failure States) نجات میدن.
خودتون به مصاحبه‌کننده بگید که اگه شبکه قطع بشه چی میشه؟ اگه کاربر وسط کار لاگ‌اوت کرد، آیا کش اکانت قبلی رو می‌بینه؟ این پیش‌بینی خطاها همون چیزیه که تاییدیه می‌گیره.

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
پیشنهاد میکنم دوره جدید دانشگاه استنفورد که رایگان روی یوتوب هست و ببینید Self-improving AI Agents مدرس دوره هم خانم آزالیا میرحسینی هست.

🤖 این ایجنت‌های خود-بهبوددهنده دقیقاً یعنی چی؟
اینجا منظور چت‌بات‌های ساده نیست. منظور ایجنت‌هایی هست که با محیط و ابزارها تعامل می‌کنن و با گذشت زمان هوشمندتر میشن؛ مثل یادگیری با افزایش زمان تفکر (بدون نیاز به آموزش مجدد)، درک پاداش‌ها، و انجام وظایف طولانی و چندمرحله‌ای. (دقیقاً همون منطقی که پشت Claude Code و ابزارهای تحقیقاتی پیشرفته هست).

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

https://www.youtube.com/watch?v=6YnLB0XbTnI

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
✨ فرق Offline Support با Offline-First:

🔗 Offline Support = آفلاین رو «تحمل» می‌کنی (دیتای کش رو نشون بده)
💎 Offline-First = دیتابیس محلی «منبع اصلی حقیقت» هست — اول محلی بنویس و بخون، همگام‌سازی بزن پس‌زمینه

🔑 ایده کلیدی: UI منتظر سرور نمی‌مونه!
کاربر عمل می‌کنه ← ذخیره محلی ← آپدیت فوری UI ← همگام‌سازی بعداً

⚔️ سخت‌ترین بخش: Conflict ها!

دو دستگاه آفلاین یه رکورد رو تغییر دادن, کدوم برنده‌ست؟

✔️ Last Write Wins: ساده ولی احتمالاً مخرب
✔️ Merge: قدرتمند ولی پیچیده

⚠️ نکته مهم: ساده‌ترین راه‌حل درست رو انتخاب کن. Conflict Resolver اضافی نساز!



⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
دو قانون جدید گوگل پلی


1️⃣ کاهش مصرف رم اپ

اپ‌هایی که حافظه زیادی مصرف می‌کنن و سیستم رو کند می‌کنن، از فوریه ۲۰۲۷ باید آستانه‌های جدید گوگل پلی رو رعایت کنن، وگرنه دیده‌شدنشون تو استور کم میشه! شامل:

🔹 حافظه پویا و Bitmap در حالت‌های مختلف اپ
🔹 کد DEX بهینه با حداقل ۲۵٪ shrinking/obfuscation

ابزارهای جدیدی هم به Android Vitals اضافه شده برای رصد مصرف حافظه و کرش‌های Out of Memory.

2️⃣ ورود بدون تپ (Zero-Tap Sign-In)

دیگه موقع عوض کردن گوشی، دردسر لاگین مجدد وجود نداره! از آوریل ۲۰۲۷ هر اپی که لاگین داره، باید با Restore Credentials API کاربر رو تو گوشی جدید خودکار و امن ورود بده. (بازی‌ها فعلاً معافن)

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
گوگل مدل‌های جدید Gemini 3.8 Flash و 3.8 Flash Cyber رو معرفی کرد؛ سومین عرضه از خانواده Flash فقط طی شش هفته.

مدل جمینای 3.8 Flash ادعا می‌کنه بهترین مدل استدلال و کدنویسی گوگل تا امروزه، با همون سرعت و هزینه‌ی ۳.۷ یعنی ۷۵ سنت برای هر میلیون توکن ورودی و ۳.۷۵ دلار برای هر میلیون توکن خروجی.

نسخه‌ی Cyber هم روی امنیت سایبری تمرکز داره و فقط از طریق برنامه‌ی جدید Fairwind در اختیار مدافعان مورد اعتماد قرار می‌گیره.



⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
در بنچمارک‌های مهندسی نرم‌افزار طولانی‌مدت مثل DeepSWE، مدل ۳.۸ Flash از بیشتر مدل‌های فرانتیر بزرگ‌تر پیشی می‌گیره، درحالی‌که فقط کسری از هزینه‌شون رو داره.

در حوزه‌های تخصصی مثل مالی و حقوقی هم عملکرد بهتری از ۳.۷ و مدل‌های رقیب نشون داده.

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

اگه کارایی محدودیت اصلی‌تونه، هم می‌تونید سطح تلاش (effort) رو پایین بیارید و هم مدل ۳.۷ همچنان کاملاً پشتیبانی میشه.



⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
اگه از دستفروشای فردوسی کردیت کارت بخرید معتبر از کارت هایی که سایت نامبرلند صادر میکنه
اپ‌هایی که با API 37 کار می‌کنن باید resizable multi-window رو پشتیبانی کنن.

اگه orientation رو قفل کرده باشید یا تبلت/تاشو رو نادیده بگیرید، اپ‌تون تو حالت compatibility فلگ میشه.

چارچوب WindowSizeClass رو جای breakpoint های ثابت به کار ببرید و روی دستگاه‌های تاشو تست کنید، نه فقط امولاتور گوشی.



⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
تیم OpenDesign مدل DeepSeek V4.1 Flash را در بنچمارک کارهای طراحی روزمره آزمایش کرد و نتیجه چشمگیر بود:

نتیجه کلی:

این مدل به ۹۸٪ امتیاز GPT-6 Astra رسید، با فقط ۱.۴٪ هزینه‌ی آن
۱۱ مدل دیگر هم امتیاز پایین‌تری آوردند و هم هزینه‌ی بیشتری داشتند؛ فقط Astra امتیازش بالاتر بود

👾 یعنی DeepSeek با یک‌هفتادم هزینه تقریباً همان کیفیت را با کمتر از نصف زمان ارائه می‌دهد.



⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
فکر کنید شرکتی دارید که در سال ۲۰۲۶ یکی از داغ‌ترین شرکت‌های حوزه هوش مصنوعی دنیاست.
درآمدش با سرعت زیادی در حال رشد است، ارزش‌گذاری‌اش حتی از OpenAI جلو زده و مدل‌های Claude هم در بین برنامه‌نویس‌ها و شرکت‌ها حسابی محبوب شده‌اند.
اما یک سؤال مهم وجود دارد:
آیا Anthropic واقعاً می‌تواند برنده‌ی نهایی رقابت هوش مصنوعی باشد؟


https://www.youtube.com/watch?v=bNtXfuOqiBU
تجربه یکی از افرادی که مصاحبه فنی اسپاتیفای و شرکت کرده بود میخوندم این مورد جالب بود:
DAU یا کاربر فعال روزانه را چطور محاسبه می‌کنید؟

کوئری کلاسیک را همه بلدند:

SELECT DATE(stream_ts) AS dt,
COUNT(DISTINCT user_id) AS dau
FROM song_streams
GROUP BY 1;


✔️ از نظر فنی درست. اما مصاحبه‌گر همین‌جا شروع کرد:

🔹 اگر یک آهنگ ۲ ثانیه به‌صورت خودکار پخش شود، کاربر «فعال» حساب می‌شود؟
🔹 ایونت‌های تکراری (Retry) چه؟
🔹 ترافیک بات‌ها را چه کار کنیم؟
🔹 پادکست هم باید شامل باشد؟
🔹 ایونت‌های آفلاین که دیر Sync می‌شوند چطور؟

💡 نکته‌ی اصلی: مصاحبه‌گر اصلاً به کوئری اهمیت نمی‌داد؛ به نحوه‌ی تعریف «فعال بودن» اهمیت می‌داد.

در نهایت باید منطق را این‌طور اصلاح می‌کرد:
✅ حداقل مدت گوش دادن (مثلاً ۳۰ ثانیه)
✅ حذف داده‌های تکراری
✅ فیلتر ایونت‌های نویزی

در شرکت‌هایی مثل اسپاتیفای، SQL فقط زبان ارزیابی است. چیزی که واقعاً سنجیده می‌شود توانایی استدلال درباره‌ی سیستم‌های داده است:

بهترین جواب‌ها همیشه با پرسیدن سوال شروع می‌شوند، نه با نوشتن کد!
از نظر تجربه کاربری بهترین ادغام هوش مصنوعی اون هوش مصنوعی‌هایی هستن که بی‌سر و صدا تو پس‌زمینه کار می‌کنن؛ مثلاً فیلدهای یه فرم رو بر اساس رفتار قبلیِ کاربر خودش پر می‌کنه، همون فیلتری که نیاز داریم رو قبل از اینکه سرچ کنیم بهمون پیشنهاد می‌ده، یا رابط کاربری رو طبق کاری که قبلاً انجام دادیم تغییر می‌ده.

هوش مصنوعی داخل یک اپلیکیشن یا برنامه نباید یک فیچر باشه باید یک لایه باشه.

بهترین هوش مصنوعی توی رابط کاربریِ امروز، اون هوش مصنوعیه که کاربر اصلاً نمی‌فهمه داره ازش استفاده می‌کنه.

⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
جت‌برینز روز برنامه نویس هم تبریک گفت هم تیکه انداخت

@flutter_learn_ir