Pure Coder
787 subscribers
189 photos
30 videos
8 files
150 links
⭕️آدرس سایت:
https://purecoder.ir

⭕️گروه پرسش و پاسخ:
@purecoder_gp

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
🔥Capsule
⚡️⚡️⚡️Flutter threads⚡️⚡️⚡️
1️⃣

آیا فلاتر single thread هست؟ 🤔

جواب این سوال هم آره هست و هم نه. 😳😳
ولی چرا اره و چرا نه.

بستگی داره از چه نظر به موضوع نگاه کنیم.

🔥اگه فقط کدهایی که خودمون داریم مینویسیم رو در نظر بگیریم و کار هایی ک framework فلاتر روی کدهای ما انجام میده به جواب آره میرسیم.

جهت یادآوری بگم که قبلن توی یه پست دیگه در مورد بخش های مختلف فلاتر توضیح دادیم و گفتیم که فلاتر از یه بخش به اسم framework که کلن با Dart نوشته شده و یه بخش دیگه به اسم engine که با c++ نوشته شده و ... تشکیل شده.

اینجا منظورمون از framework هم همون بخش نوشته شده با Dart هست.

✔️این جا یه thread داریم به اسم UI thread که تمام کدهایی که ما نوشتیم به علاوه کار هایی framework انجام میده، داخلش انجام میشه.

حالا کار هایی که framework انجام میده چیه؟
بحث کردن راجب این موضوع خیلی مفصله ولی به طور کلی و خیلی ساده framework کدهای ما (ویجت ها) رو به ی سری painting commands تبدیل میکنه که بعدن اون رو تحویل engine بده و engine هم اون رو روی صفحه نمایش بده.

همچنین کارهای دیگه ای هم framework انجام میده از جمله دریافت event هایی مثل touch یا click های کاربر از engine و پردازش اون ها و هدایت کردن اون touch ها به سمت object های هدف.

کارهای framework به این موارد خلاصه نمیشن....

همه این کارها در یک thread انجام میشه(یک isolate که یک thread داره)

🔥پس نکته مهمی که این جا مطرح هست block نشدن این thread هست.

یعنی باید جوری کد بنویسیم که این thread قفل یا block نشه که اگه این اتفاق بیوفته نتیجش افت frame و لگ توی برنامه (به خصوص موقع اجرای انیمیشن ها خواهد بود)

🔥برای جلوگیری از block شدن این thread میتونیم برای پردازش های سنگین ، isolate های دیگه ای بسازیم.


✔️در مورد جواب ،،نه،، این سوال هم توی پست بعدی صحبت میکینم. ☺️
#capsule
#advanced
#single_thread
🔥Capsule
⚡️⚡️⚡️Flutter threads⚡️⚡️⚡️
2️⃣

آیا فلاتر single thread هست؟ 🤔

خب بریم در مورد جواب ،، نه،، سوال بالا صحبت کنیم.

گفتیم که همه کدهای ما به علاوه پردازش های framework توی یه thread به اسم UI thread انجام میشه. و در نهایت یک سری painting command ها تولید میشن

.ولی این command ها به چه دردی میخورن ؟
🔥این ها به یه thread دیگه ای تحویل داده میشن که مسئولیتش ارتباط برقرار کردن با پردازشگر و درنهایت نمایش تصویر روی نمایشگر هست.

پس یه thread دیگه هم وارد کار شد که اسمش raster thread هست.

🔥همون طور که گفتیم کار Raster thread که بهش GPU thread هم میگن، دریافت painting command ها از UI thread و نمایش اون ها هست (این کار توسط engine که به زبان c++ نوشته شده انجام میشه)

🔥این دو thread یعنی UI و raster نقش اصلی در پرفرمانس اپ رو ایفا میکنن.

🔥ما به raster thread دسترسی نداریم ولی کدهایی که مینویسیم تاثیر مستقیم توی کار اون و پرفرمانسش داره.
پس اگه اپتون با افت فریم مواجه شد دلیلش رو توی کدهای خودتون جستجو کنید و به raster thread یا... انگ نچسبونید 😂😂.

🔥یه thread مهم دیگه هم به اسم IO thread داریم که وظیفش هندل کردن تسک های سنگین هست.
خیلی از future هایی که استفاده میکنیم میره توی این thread و پردازش میشه و بعد از این که done شد برمیگرده و یه event توی UI thread اجرا میشه.

ایا thread های دیگه هم غیر از این سه تا داریم ؟
✔️UI
✔️Raster
✔️IO
✔️? 🤔

#capsule
#advanced
#single_thread
استارت مقاله جدید هم از امروز میخوره
Dart null safety😍😍😍

با همون سبک مقاله های Dart const

اگه مقاله های مربوط به Dart const رو نخوندی زودتر شرو کن.
قسمت بعدی داستان null safety در دارت به زودی منتشر میشه...

😣نال فرزند ناخلف 😅

اگه قسمت اول رو نخوندی زودتر بخونش 😍
Forwarded from 🎥 اپارات 🎥
This media is not supported in your browser
VIEW IN TELEGRAM
عنکبوت رو‌ تا حالا اینجوری اسکول کرده بودید؟ 😅
معلوم نیست چی تو مغز عنکبوت میگذره و چه توهمی نسبت به نشانگر ماوس داره

🎬 @aparatcheh 🎞
دوستان گل قسمت جدید مجموعه null safety هم منتشر شد.
بخونید و لذت ببرید😍😍
🔥قسمت بعدی مجموعه داستان null safety در دارت به زودی منتشر میشه😍

⚡️در این قسمت دارت با توتئه برنامه نویس ها دستگیر و دادگاهی میشه😂😂

برای دنبال کردن قسمت های قبلی لینک زیر رو ببین :
https://virgool.io/flutter-challenge/dart-null-safety-introduction-qelr6jcpsj1c

https://t.me/flutter_challenges
Forwarded from Books & Articles 🇮🇷 (Mohammad Taheri)
clean-code-uncle-bob.pdf
2.8 MB
🔥Challenge
در مورد FIFO و LIFO چی میدونی؟

#challenge #intermediate
🔥Capsule
⚡️⚡️FIFO vs LIFO⚡️⚡️

FIFO : first in first out
LIFO : last in first out

Queue => FIFO
Stack => LIFO

🔥استک مثل یک لیوان میمونه، هر چیزی که اخر اضافه بشه موقع خارج شدن اول از همه میره بیرون

🔥صف مثل لوله هست هر چیزی که اول وارد شده زودتر از همه هم خارج میشه

#سوال
ایا فلاتر از این مفاهیم استفاده میکنه؟ از هر دو تاش استفاده میکنه و یا یکیش یا هیچ کدوم؟ 🤔

#intermediate #capsule
🔥Capsule
⚡️⚡️EdgeInsetsGeometry⚡️⚡️

این کلاس معمولن برای Padding ها توی فلاتر استفاده میشه.
دو تا زیر کلاس داره :
✔️EdgeInsets
که 4 تا فیلد داره :‌left , top , right , bottom
که مقدار padding از 4 جهت رو مشخص میکنن.

✔️EdgeInsetsDirectional
که 4 تا فیلد داره :‌ start , top , end , bottom

🔥اگه اپلیکیشنتون یک زبانه هست و یا اینکه زبان های استفاده شده کلن rtl یا کلن ltr هستن میتونید همه جا از EdgeInsets استفاده کنید.

🔥اگه اپلیکیشنتون چند زبانه هست و هم زبان های rtl و هم ltr رو پشتیبانی میکنه مثلن فارسی و انگلیسی بهتره هست که از EdgeInsetsDirectional استفاده کنید.

در این حالت خود فریمورک مقادیر start و end رو بر اساس TextDirection تفسیر میکنه.

✔️اگه زبان ltr باشه(مثلن انگلیسی) در نتیجه :
TextDirection => ltr
start => left
end => right

خود فریمورک start رو به عنوان left و end رو به عنوان right تفسیر میکنه.

✔️اگه زبان rtl باشه (مثلن فارسی) در نتیجه :‌
TextDirection : rtl
start => right
end => left

🔥در این حالت دیگه نگران این نیستین که وقتی کاربر زبان رو تغییر داد مقادیر padding ها و ... به هم بخوره.

#beginner #capsule
دوستان موضوعی که لازم میدونید راجبش مقاله بگذاریم رو کامنت کنید...
🔥Article

🔥اگه یه پکیجی درست کردی و میخوای که بذاریش روی گیت لب یا گیت هاب و پرایوتش کنی که فقط خودت یا هم تیمی هات ازش استفاده کنن و میخوای توی پروژه های فلاترت هم ازش استفاده کنی مقاله زیر رو بخون...

git dependencies in Flutter pubspec :
https://vrgl.ir/PzrBC

🔥https://t.me/flutter_challenges

#intermediate #article
🔥Article
🔥مفهوم const و درک و استفاده درست ازش ممکنه برای خیلی ها مبهم باشه..
خود من وقتی که تازه دارت رو شرو کرده بودم با این مفهوم مشکل داشتم و درکش نمیکردم و حتا از مدرسین اون موقع فلاتر هم که میپرسیدم اون ها هم خوب توضیح نمیدادن...

توی این مجموعه مقاله ۶ قسمتی مفهوم const رو با جزئی ترین نکات با هم بررسی میکنیم.

بعد از خوندن این مجموعه میتونی مثل یه استاد این مفهوم رو به بقیه یاد بدی...

لینک قسمت اول آموزش :
https://vrgl.ir/P0OY9

🔥https://t.me/flutter_challenges

#beginner #intermediate #article
⚡️⚡️Build and release an Android app⚡️⚡️

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

https://docs.flutter.dev/deployment/android