Forwarded from wogood
https://youtube.com/playlist?list=PL5l6CnIghfQPRZ3OMs39lWH1xkGvi73HK&si=Mw01uSjKOovDc1VT
دي بلاي ليست بشرح فيها flutter بشكل مبسط من اول الاساسيات لحد النهاية
لعل وعسي تفيد حد
دي بلاي ليست بشرح فيها flutter بشكل مبسط من اول الاساسيات لحد النهاية
لعل وعسي تفيد حد
❤🔥7🔥1
HighQ Dio Logger
باكدج جديدة للـ
Dio Logging
في Flutter.
الهدف منها إنها توفر Logging متقدم يناسب المشاريع الكبيرة.
PII Sanitization
إخفاء تلقائي للبيانات الحساسة مثل:
• Access Tokens
• Passwords
• Cookies
• Authorization Headers
Pretty Console Logs
عرض الـ
Requests
والـ
Responses
بشكل منظم وسهل القراءة.
Structured JSON Logging
إمكانية إخراج اللوجز بصيغة
JSON
لاستخدامها مع أنظمة المراقبة والتحليل.
cURL Generator
إنشاء أمر
cURL
جاهز لأي
Request
لتسهيل الاختبار والتتبع.
Correlation Metadata
دعم:
• Trace ID
• Span ID
• Session ID
لتتبع الطلبات عبر أجزاء النظام المختلفة.
Rate Limiting
منع إغراق الكونسول باللوجز عند وجود عدد كبير من الطلبات.
Observer System
الاستماع لأحداث الشبكة:
• Request
• Response
• Error
وإرسالها لأي خدمة خارجية بسهولة.
Metadata Enrichment
إضافة بيانات مخصصة إلى اللوجز مثل:
• إصدار التطبيق
• بيئة التشغيل
• معلومات الجهاز
Batching & Backpressure
تجميع اللوجز وإدارتها بكفاءة .
الهدف من الباكدج
توفير Logger
واحد يجمع أدوات الـ
Debugging
والـ
Monitoring
والـ
Observability
في مكان واحد بدل الاعتماد على عدة حلول مختلفة.
https://pub.dev/packages/high_q_dio_logger
باكدج جديدة للـ
Dio Logging
في Flutter.
الهدف منها إنها توفر Logging متقدم يناسب المشاريع الكبيرة.
PII Sanitization
إخفاء تلقائي للبيانات الحساسة مثل:
• Access Tokens
• Passwords
• Cookies
• Authorization Headers
Pretty Console Logs
عرض الـ
Requests
والـ
Responses
بشكل منظم وسهل القراءة.
Structured JSON Logging
إمكانية إخراج اللوجز بصيغة
JSON
لاستخدامها مع أنظمة المراقبة والتحليل.
cURL Generator
إنشاء أمر
cURL
جاهز لأي
Request
لتسهيل الاختبار والتتبع.
Correlation Metadata
دعم:
• Trace ID
• Span ID
• Session ID
لتتبع الطلبات عبر أجزاء النظام المختلفة.
Rate Limiting
منع إغراق الكونسول باللوجز عند وجود عدد كبير من الطلبات.
Observer System
الاستماع لأحداث الشبكة:
• Request
• Response
• Error
وإرسالها لأي خدمة خارجية بسهولة.
Metadata Enrichment
إضافة بيانات مخصصة إلى اللوجز مثل:
• إصدار التطبيق
• بيئة التشغيل
• معلومات الجهاز
Batching & Backpressure
تجميع اللوجز وإدارتها بكفاءة .
الهدف من الباكدج
توفير Logger
واحد يجمع أدوات الـ
Debugging
والـ
Monitoring
والـ
Observability
في مكان واحد بدل الاعتماد على عدة حلول مختلفة.
https://pub.dev/packages/high_q_dio_logger
❤🔥5🔥1
Forwarded from Flutter | Mahmoud Azab
ده ملف شرح flutter بخط اليد اللي نزل علي
LinkedIn
مشكله ربما تقابلكم
وأنا شغال على مشروع تحميل الفييدوهات قابلتني مشكلة مع
Package photo_manager.
الـ Build بقى يقع بسبب اختلاف إصدار الـ
Java/Kotlin
اللي الـ Package كانت بتستخدمه عن المشروع.
بدل ما أعدل ملفات الـ Package نفسها (وده هيروح مع أي Update)
استخدمت Gradle عشان أطبق الإعدادات عليها وقت الـ
Build
تضيف الكود ده فى ال
build.gradle.kts
subprojects {
if (project.name == "photo_manager") {
val configureAction = Action<Project> {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
tasks.withType<JavaCompile>().configureEach {
sourceCompatibility = "17"
targetCompatibility = "17"
}
}
if (state.executed) {
configureAction.execute(this)
} else {
afterEvaluate(configureAction)
}
}
}
هل ده آمن؟
آه طالما الـ Package أصلًا متوافقة مع Java 17، فده مجرد Workaround بيخليها تستخدم نفس إعدادات المشروع، وبيحل مشكلة الـ Build بدون ما تعدل ملفاتها.
ولو الـ Package مش بتدعم Java 17؟
ساعتها الكود ده مش هيضيف دعم من عنده، وممكن تفضل المشكلة موجودة أو تظهر Errors تانية، لأن عدم التوافق هيكون من كود الـ Package نفسه، مش من إعدادات الـ Build.
في الحالة دي الحل الصحيح هو:
تحديث الـ Package لإصدار أحدث بيدعم Java 17.
أو استخدام إصدار Java المناسب اللي مطور الـ Package موصي بيه.
أو انتظار Fix من مطور الـ Package لو المشكلة من عنده.
يعني الكود ده بيوحد إعدادات الـ Build، لكنه مش بيحول Package غير متوافقة إلى Package متوافقة.
يمكن حد يقابل نفس المشكلة، فقلت أشارك الحل.
وأنا شغال على مشروع تحميل الفييدوهات قابلتني مشكلة مع
Package photo_manager.
الـ Build بقى يقع بسبب اختلاف إصدار الـ
Java/Kotlin
اللي الـ Package كانت بتستخدمه عن المشروع.
بدل ما أعدل ملفات الـ Package نفسها (وده هيروح مع أي Update)
استخدمت Gradle عشان أطبق الإعدادات عليها وقت الـ
Build
تضيف الكود ده فى ال
build.gradle.kts
subprojects {
if (project.name == "photo_manager") {
val configureAction = Action<Project> {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
tasks.withType<JavaCompile>().configureEach {
sourceCompatibility = "17"
targetCompatibility = "17"
}
}
if (state.executed) {
configureAction.execute(this)
} else {
afterEvaluate(configureAction)
}
}
}
هل ده آمن؟
آه طالما الـ Package أصلًا متوافقة مع Java 17، فده مجرد Workaround بيخليها تستخدم نفس إعدادات المشروع، وبيحل مشكلة الـ Build بدون ما تعدل ملفاتها.
ولو الـ Package مش بتدعم Java 17؟
ساعتها الكود ده مش هيضيف دعم من عنده، وممكن تفضل المشكلة موجودة أو تظهر Errors تانية، لأن عدم التوافق هيكون من كود الـ Package نفسه، مش من إعدادات الـ Build.
في الحالة دي الحل الصحيح هو:
تحديث الـ Package لإصدار أحدث بيدعم Java 17.
أو استخدام إصدار Java المناسب اللي مطور الـ Package موصي بيه.
أو انتظار Fix من مطور الـ Package لو المشكلة من عنده.
يعني الكود ده بيوحد إعدادات الـ Build، لكنه مش بيحول Package غير متوافقة إلى Package متوافقة.
يمكن حد يقابل نفس المشكلة، فقلت أشارك الحل.
🏆5⚡1
السلام عليكم ورحمة الله وبركاته
باكدج جديده عشات تعمل
Pick
للصور أو الفيديوهات والملفات بنفس شكل ال
Pick
فى
Instagram & Telegram
https://pub.dev/packages/hq_picker
باكدج جديده عشات تعمل
Pick
للصور أو الفيديوهات والملفات بنفس شكل ال
Pick
فى
Instagram & Telegram
https://pub.dev/packages/hq_picker
Dart packages
hq_picker | Flutter package
A stateful widget that allows users to pick media files (images, videos, audio, files) from their device.
❤🔥2🤯1
Forwarded from Alaa khaled
🚀 ارتقِ بتجربة تحديث تطبيقك مع "app_upgrade_checker"!
دعم 7 لغات، وإمكانية جلب أحدث الإصدارات من 3 مصادر مختلفة، بالإضافة إلى 3 واجهات (Themes) جذابة وقابلة للتخصيص، مع العديد من الميزات التي لن تجدها في معظم مكتبات تحديث التطبيقات.
اكتشف جميع الإمكانيات، والأمثلة، وطريقة الاستخدام من خلال الموقع:
🔗 https://share.google/VyRyf8Dtn0OdYUo7i
رابط الفيديو
https://www.linkedin.com/posts/alaa-khaled-developer_flutter-flutterdev-dart-ugcPost-7490305634886807552-uE32/?utm_source=share&utm_medium=member_android&rcm=ACoAADkHlsABmNSOskOha06IqjnAQnaKlqrH2XE
دعم 7 لغات، وإمكانية جلب أحدث الإصدارات من 3 مصادر مختلفة، بالإضافة إلى 3 واجهات (Themes) جذابة وقابلة للتخصيص، مع العديد من الميزات التي لن تجدها في معظم مكتبات تحديث التطبيقات.
اكتشف جميع الإمكانيات، والأمثلة، وطريقة الاستخدام من خلال الموقع:
🔗 https://share.google/VyRyf8Dtn0OdYUo7i
رابط الفيديو
https://www.linkedin.com/posts/alaa-khaled-developer_flutter-flutterdev-dart-ugcPost-7490305634886807552-uE32/?utm_source=share&utm_medium=member_android&rcm=ACoAADkHlsABmNSOskOha06IqjnAQnaKlqrH2XE
Dart packages
app_upgrade_checker | Flutter package
Check for a newer app version from the store (App Store / Google Play) or your own backend, and prompt users to update with a themeable full screen, dialog or bottom sheet.
🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Splash screen for مآب | Maab — a fully custom animated Quran experience built from scratch using Flutter's CustomPainter. No assets
❤🔥10🤯4
This media is not supported in your browser
VIEW IN TELEGRAM
No PNGs. No SVGs. No Lottie files. Our Maab onboarding is pure canvas , built with CustomPaint code.
❤🔥9🔥1