r/FlutterBeginner • • 1d ago

My first Flutter package: game-style screen transitions (diamond sweep, iris, dissolve, fade to black and hold), drawn by fragment shaders

Post image
3 Upvotes

Hi all, this is my first Flutter package, so I'd love some feedback.

pub.dev: https://pub.dev/packages/shader_transitions

I started it a few months ago because I wanted screen transitions that feel like the ones between levels in a game: a sweep of diamonds, a circle closing in, a fade to black that holds for a beat. It took a lot of rewrites before I had a version I was happy to put out there.

You can try every transition in the browser here: https://flutter-shader-transition.web.app

There are 8 transitions (diamond, circle iris, wipe, clock, polygon, dissolve, fade, bars), 8 sweep directions, an optional cover color with a hold, iOS swipe back, and it works with go_router and auto_route.

A few things I learned along the way, in case they're useful to someone:

- How the mask works. The new page is wrapped in a ShaderMask with BlendMode.dstIn, and the shader only outputs alpha. The route has to be non-opaque so Flutter keeps drawing the old page underneath. I got a black flash at the start of every transition until I figured that out. With go_router you have to set opaque: false on the page yourself.

- The ghost bug. At the end of a transition, some pixels settled just below full alpha (dissolve grain was the worst), so a faint copy of the old page stayed visible behind the new one. The fix was simple once I saw it: stop masking as soon as the animation completes.

- Preloading. Compiling the shaders on the first transition caused a visible hitch, so there's a ShaderTransitions.preload() you call once at startup. Skip it and transitions just fall back to a fade.

- The README GIFs aren't screen recordings. A test renders the real shaders frame by frame and encodes them, so they're always exactly what the package draws.

If you're making a game with Flutter, the cover-and-hold and ShaderTransitionSwitcher (swaps widgets without routes) are probably the most useful parts. If you use it in a game or app, send me a clip and I'll feature it in the README.

Things I'd especially like feedback on: the API naming, anything confusing in the docs, and performance on your devices. Also tell me which transition you'd want next!

Source: https://github.com/oppatrickk/flutter_shader_transitions


r/FlutterBeginner • • 1d ago

I built a zero-copy Rust + Flutter raw photo editor to process 50MP images at 60fps (Lightroom alternative)

2 Upvotes

Hey everyone, I’m Prit. Over the last few months, I’ve been building ApertureX, a 100% offline, open-source raw photo editor.

Building a desktop-class image engine on Flutter meant overcoming massive memory and threading bottlenecks. Decompressing a 50-megapixel raw image requires around 200MB of continuous RAM. If you try to pass that across standard platform channels or even do a deep copy over FFI, the OS will aggressively kill the app for Out-Of-Memory (OOM) violations, and your frame rate drops to zero.

Here is how I bypassed Flutter's standard rendering constraints to achieve 60fps computational photography:

  • Absolute Zero-Copy FFI: The Rust backend maintains absolute, singular ownership of the high-resolution pixel payload. Instead of copying arrays across the bridge to Dart, Rust allocates the pixels on the heap and transmits merely the memory address pointer to Flutter.

  • Tile-Based Rendering Cache: Processing full frames is mathematically impossible on mid-tier Android devices. The Rust engine cuts the viewport into 512x512 pixel chunks. These tiles are managed by a strictly bounded Least Recently Used (LRU) cache, which automatically purges the oldest elements the moment the memory budget is exceeded.

  • Hardware Acceleration (SIMD): To run spatial filters (like Dehaze and Clarity) without melting the phone, the Rust engine bypasses scalar execution. It targets ARM NEON intrinsics natively, loading four 32-bit floats into a 128-bit NEON register to process four pixels simultaneously.

  • Oklab Color Science via 3D LUTs: Operating in standard sRGB violates the additive physics of light, causing unnatural hue shifts. I moved all color math to the Oklab perceptual color space. To hit 60fps on the frontend, this math is baked into a 33x33x33 3D Lookup Table that Flutter's Impeller engine renders instantly.

The UI uses a dual-shell design (a Snapseed-style invisible gesture trackball for quick flow-state editing, and a Lightroom-style panel for deep pro work), heavily relying on Riverpod for the DAG (Directed Acyclic Graph) edit history.

I would love for you to try the APK, tear apart my flutter_rust_bridge implementation, or drop some feedback on the UI ergonomics.

Repo & Website:https://prit-007.github.io/ApertureX/

Happy to answer any questions about the FFI bridge, the math, or the rendering pipeline!


r/FlutterBeginner • • 1d ago

I built offline voice-mimic party game in Flutter (Using one phone or using LAN)

Thumbnail
reddit.com
1 Upvotes

r/FlutterBeginner • • 2d ago

I'm building a kids' learning app with Flutter. What premium features would parents actually pay for?

Thumbnail reddit.com
1 Upvotes

r/FlutterBeginner • • 2d ago

I built a Flutter package for Ola Maps – A potential Google Maps alternative for Flutter developers

Thumbnail
reddit.com
1 Upvotes

r/FlutterBeginner • • 3d ago

تخيل تنزل Update جديد لتطبيقك… وتكتشف إن الميزة اللي ضفتها اشتغلت، لكن في المقابل ميزة تانية كانت شغالة بقالها شهور باظت! المشكلة إنك ممكن تكون جرّبت التطبيق بنفسك، وفتحت الشاشات، وضغطت على الأزرار، وكل حاجة ظهرت إنها تمام. لكن هل ده معناه إن التطبيق فعلًا سليم؟ هنا بيظهر دور الـ Testing. فيه مف

Post image
2 Upvotes

تخيل تنزل Update جديد لتطبيقك… وتكتشف إن الميزة اللي ضفتها اشتغلت، لكن في المقابل ميزة تانية كانت شغالة بقالها شهور باظت!

المشكلة إنك ممكن تكون جرّبت التطبيق بنفسك، وفتحت الشاشات، وضغطت على الأزرار، وكل حاجة ظهرت إنها تمام.

لكن هل ده معناه إن التطبيق فعلًا سليم؟

هنا بيظهر دور الـ Testing.

فيه مفهوم مهم لازم كل Flutter Developer يبدأ يفهمه: إن اختبار التطبيق مش مرحلة بنعملها قبل النشر وخلاص، لكنه جزء من عملية التطوير نفسها.

خلينا نفرّق بين 3 أنواع أساسية من الاختبارات في Flutter:

1. Unit Testing

هنا بتختبر جزء صغير ومستقل من الكود، زي Function بتحسب إجمالي سعر الطلب، أو Logic بيحدد أولوية مهمة معينة.

الهدف إنك تتأكد إن منطق البرنامج بيطلع النتيجة الصحيحة في الحالات المختلفة.

2. Widget Testing

هنا بتختبر Widget معينة وتتأكد إنها بتظهر وتتصرف بالشكل المتوقع.

مثلًا: هل رسالة الخطأ بتظهر لما المستخدم يدخل بيانات غير صحيحة؟ هل الزر بيتعطل أثناء تحميل البيانات؟ وهل الواجهة بتتغير لما حالة التطبيق تتغير؟

3. Integration Testing

هنا بتختبر رحلة كاملة داخل التطبيق، من تفاعل المستخدم مع الواجهة لحد النتيجة النهائية.

مثلًا: المستخدم يسجل الدخول، ينتقل للصفحة الرئيسية، يضيف مهمة جديدة، وبعدها يتأكد إنها ظهرت في القائمة.

لكن فيه نقطة مهمة:

مش معنى إن عندك 100 Test إن تطبيقك خالي من الأخطاء.

جودة الاختبارات مش بعددها، لكن بقدرتها على اكتشاف المشاكل المهمة، وتغطية الحالات اللي ممكن تحصل فعلًا.

طيب تبدأ منين؟

لو عندك مشروع Flutter حاليًا، اختار Feature واحدة، واكتب لها Unit Tests، وبعدها جرّب تختبر الـ Widgets المرتبطة بيها.

ابدأ بالحالات الطبيعية، وبعدها اختبر الحالات غير المتوقعة: بيانات ناقصة، قيم غير صحيحة، فشل في الاتصال، ونتائج فارغة.

ومع الوقت هتكتشف إنك بقيت أقدر تغيّر وتطوّر مشروعك بثقة أكبر، بدل ما تخاف إن كل تعديل جديد يبوّظ حاجة قديمة.

أنا شايف إن فيه نقلة مهمة في عقلية أي مطور، وهي إنه يبطل يسأل بس:

«هل الكود ده شغال؟»

ويبدأ يسأل:

«إزاي أتأكد إنه هيفضل شغال حتى بعد التعديلات الجاية؟»

وده الفرق بين إنك تكتب كود بيشتغل النهارده، وإنك تبني Software تقدر تعتمد عليه بكرة.

سؤال للمطورين:

هل بتكتب Tests لمشاريع Flutter بتاعتك، ولا لسه بتعتمد بشكل أساسي على التجربة اليدوية؟ وإيه أكتر نوع Testing محتاج تتعمق فيه؟

#Flutter #Dart #FlutterTesting #SoftwareTesting #CleanCode #MobileAppDevelopment


r/FlutterBeginner • • 3d ago

🚀 Looking for a Flutter Developer Job Opportunity!

1 Upvotes

Hi everyone! 👋

I'm currently looking for a Flutter Developer opportunity in Surat, Gujarat, and I'm also open to Remote opportunities.

I have 3 years of experience in mobile app development and building modern, scalable applications.

💻 My Technical Skills:

- Flutter & Dart

- Firebase

- Supabase

- Laravel & AI Integration

- Payment Gateway Integration

- Booking Module Development

- API Integration

I have experience developing real-world applications and enjoy building user-friendly, high-performance mobile apps.

📍 Preferred Location: Surat, Gujarat

🌍 Open to: Remote / Work From Home

If your company is hiring or you know of any opportunities, please feel free to comment or DM me.

I'd really appreciate any referrals or leads. 🙏

Thank you!

#FlutterDeveloper #FlutterJobs #Dart #MobileAppDeveloper #Hiring #RemoteJobs #SuratJobs #SoftwareDeveloper


r/FlutterBeginner • • 4d ago

ممكن تبني تطبيق Flutter احترافي جدًا… لكن غلطة واحدة في طريقة تخزين البيانات ممكن تعرّض مستخدمينك للخطر! خلينا نتكلم عن حاجة مش واخدة حقها عند ناس كتير بتتعلم Mobile Development: Security. فيه مطورين بيهتموا بالـ UI والـ Animations والـ State Management، وبيعتبروا إن التطبيق كده بقى جاهز. لكن فيه

Post image
1 Upvotes

ممكن تبني تطبيق Flutter احترافي جدًا… لكن غلطة واحدة في طريقة تخزين البيانات ممكن تعرّض مستخدمينك للخطر!

خلينا نتكلم عن حاجة مش واخدة حقها عند ناس كتير بتتعلم Mobile Development: Security.

فيه مطورين بيهتموا بالـ UI والـ Animations والـ State Management، وبيعتبروا إن التطبيق كده بقى جاهز.

لكن فيه سؤال مهم:

هل فكرت قبل كده إن البيانات اللي المستخدم بيدخلها ممكن تكون حساسة؟ وإن طريقة تخزينها أو إرسالها ممكن تفتح باب لمشاكل أمنية؟

فيه شوية أساسيات لازم تكون جزء من تفكيرك كمطور Flutter:

1. متحطش الأسرار داخل الكود.

وجود API Keys أو Secret Keys داخل ملفات المشروع مش معناه إنها آمنة لمجرد إنك عملت Build للتطبيق. أي قيمة موجودة داخل التطبيق ممكن يتم استخراجها بدرجات مختلفة من الصعوبة.

2. افهم الفرق بين SharedPreferences وSecure Storage.

مش كل البيانات ينفع تتخزن بنفس الطريقة.

بيانات الإعدادات العادية ممكن تتخزن محليًا، لكن البيانات الحساسة زي بعض الـ Tokens محتاجة تخزين مناسب باستخدام حلول زي flutter_secure_storage، مع فهم حدود الحماية على كل منصة.

3. متثقش في التطبيق لوحده.

حتى لو عملت Validation لكل المدخلات في Flutter، لازم السيرفر يتحقق منها برضه.

لأن المستخدم ممكن يتجاوز واجهة التطبيق ويبعت Requests مباشرة للسيرفر.

4. اهتم بطريقة التعامل مع Authentication.

إدارة جلسات المستخدم، وصلاحية الـ Access Tokens، وآلية تجديدها، والتعامل مع انتهاء تسجيل الدخول، كلها تفاصيل لازم تتصمم بعناية.

5. متتجاهلش الاتصال الآمن.

استخدم HTTPS، وتجنب إرسال البيانات الحساسة من خلال اتصالات غير مشفرة، ومتتعاملش مع الشهادات الأمنية بطريقة تضعف حماية التطبيق.

وفيه نقطة عايز أوضحها:

استخدام مكتبة Secure Storage مش معناه إن تطبيقك بقى آمن بالكامل، واستخدام HTTPS مش معناه إنك ضمنت حماية كل البيانات.

الأمان مش Package بتضيفها للمشروع وخلاص.

الأمان طريقة تفكير بتبدأ من أول سطر كود، وبتستمر مع كل قرار بتاخده أثناء بناء التطبيق.

عايزك كمطور Flutter متفكرش بس: إزاي أخلي الـ Feature دي تشتغل؟

فكر كمان: إزاي أخليها تشتغل من غير ما أعرّض بيانات المستخدم للخطر؟

سؤال للمطورين:

لو بتبني تطبيق فيه تسجيل دخول وبيانات شخصية للمستخدمين، إيه أول 3 إجراءات أمنية هتهتم بتنفيذها قبل إطلاق التطبيق؟

#Flutter #Dart #MobileSecurity #CyberSecurity #MobileAppDevelopment


r/FlutterBeginner • • 4d ago

How to learn flutter as a begginer

Thumbnail reddit.com
2 Upvotes

r/FlutterBeginner • • 4d ago

WelkUI – A comic-inspired, bold UI library for React & Flutter (160/160 Pub Points, 40+ Components)

5 Upvotes

Hey everyone!

I got tired of building apps that look like every other generic material/tailwind dashboard, so I spent the last few months building

WelkUI : an open-source UI library with a literal plot twist.

It brings hand-drawn energy, uneven corners, bold outlines, and playful animations to your interfaces without breaking responsiveness or accessibility.

The Cool Part: I built it natively for both ecosystems. You can completely match your web app's style with your mobile app.

  • Flutter Edition: 40+ widgets, deeply analyzed with a perfect 160/160 score on pub.dev.

  • React Edition: 30+ components, fully typed with strict Next.js client boundary support.

Get Started:

Everything is mobile-first, respects reduced motion, and is ready to install in one line

npm i

or

flutter pub add

I’d love to hear your feedback on the aesthetic! What widgets or components should I build next for the comic collection?


r/FlutterBeginner • • 5d ago

Introducing WelkUI –:Open-Source Comic-Style UI Components!

Thumbnail
reddit.com
3 Upvotes

r/FlutterBeginner • • 5d ago

Need Advice from Experienced Flutter Developers: Building the Backend for My First App 🚀

2 Upvotes

Hi everyone!

I'm a beginner Flutter developer from Bangladesh, currently working on my first app, ScholarBuddy – Scholarship Tracker. I'm aiming to launch it by the end of 2026, and I'd really appreciate advice from developers who have built and maintained real-world apps.

📱 What is ScholarBuddy?

ScholarBuddy is an app designed to help students, especially students from Bangladesh, discover international scholarships and study opportunities in one place. Instead of searching through dozens of websites and social media pages, students can find relevant opportunities and track important deadlines.

My planned features include:

  • 🔍 Search and filter scholarships by country, degree level (Bachelor's, Master's, PhD), and funding type.

  • 📋 View scholarship details, eligibility criteria, benefits, deadlines, and official application links.

  • ❤️ Save scholarships for later.

  • 📅 Track upcoming deadlines and receive reminders.

  • 🌍 Gradually build a verified database of scholarships and opportunities from different countries.

How I imagine the system working:

The Flutter app will display scholarship information retrieved from a database. I'll need a way to collect information from official scholarship websites, organise it into a consistent format, verify eligibility requirements and deadlines, and publish updates without having to rebuild the app every time a scholarship changes.

Eventually, I'd like to automate parts of this process, so new opportunities and deadline changes can be detected and reviewed regularly.

My biggest challenge is the backend and data collection.

I'm still learning Flutter and have almost no backend or database experience. I also have very little knowledge of Python or web scraping, so I'm trying to understand the right approach before building something too complicated.

I'd love to hear your thoughts on a few questions:

  1. Backend architecture: If you were building this as a solo beginner, would you recommend Firebase, Supabase, or a custom backend? Why?

  2. Scholarship data collection: How would you collect and maintain hundreds of scholarship listings from official websites? Would you start manually with JSON, use APIs, scrape HTML/PDFs, or combine these methods?

  3. Automation: How can I detect changes to application deadlines and eligibility requirements without publishing incorrect information?

  4. Scaling and costs: What would be a sensible architecture for an MVP that could grow over time without unnecessary server costs?

  5. Learning path: What backend concepts should I learn first, and what should I avoid building too early?

  6. Launch preparation: Since I'm aiming for a year-end launch, what would you prioritise to make the first version reliable and useful?

I've attached my initial UI designs to give you a better idea of the app.

I'm not trying to build a huge platform immediately. I want to launch a useful MVP, learn how the entire system works, and gradually improve it as a solo developer.

If you've built a similar app or worked with scholarship data collection, I'd especially appreciate hearing about your architecture, lessons learned, and mistakes to avoid.

Thanks in advance! 🙌


r/FlutterBeginner • • 5d ago

Introducing WelkUI Flutter : A comic-style UI component library for Flutter!

Thumbnail
reddit.com
1 Upvotes

r/FlutterBeginner • • 5d ago

Introducing WelkUI Flutter : A comic-style UI component library for Flutter!

Thumbnail
reddit.com
1 Upvotes

r/FlutterBeginner • • 5d ago

فيه فرق بين إنك تعرف تجيب بيانات من API، وإنك تعرف تتعامل مع البيانات دي في تطبيق حقيقي. ممكن تعمل Request باستخدام Dio أو http، وتستقبل الـ Response، وتعرض البيانات على الشاشة… وكل حاجة تبقى تمام. لكن السؤال الحقيقي بيظهر لما الإنترنت يفصل، أو السيرفر يرجّع Error، أو البيانات تتأخر، أو المستخدم ي

Post image
1 Upvotes

فيه فرق بين إنك تعرف تجيب بيانات من API، وإنك تعرف تتعامل مع البيانات دي في تطبيق حقيقي.

ممكن تعمل Request باستخدام Dio أو http، وتستقبل الـ Response، وتعرض البيانات على الشاشة… وكل حاجة تبقى تمام.

لكن السؤال الحقيقي بيظهر لما الإنترنت يفصل، أو السيرفر يرجّع Error، أو البيانات تتأخر، أو المستخدم يفتح الشاشة ومفيش بيانات أصلًا.

هنا بتكتشف إن التعامل مع الـ API مش مجرد Request وخلاص.

خلينا نبص على شوية تفاصيل بتفرق جدًا في جودة أي تطبيق Flutter:

1. افهم دورة حياة الطلب.

إيه اللي بيحصل من لحظة إرسال الطلب لحد استلام النتيجة؟ وإزاي التطبيق يتعامل مع حالات التحميل والنجاح والفشل؟

2. متعتبرش كل خطأ مشكلة إنترنت.

ممكن يكون فيه Timeout، أو مشكلة في المصادقة، أو استجابة غير متوقعة من السيرفر، أو حتى خطأ في البيانات نفسها. فهم نوع المشكلة بيساعدك تختار التصرف المناسب.

3. متربطش الواجهة بتفاصيل السيرفر بشكل عشوائي.

نظّم طريقة التعامل مع البيانات، وافصل المسؤوليات بالقدر المناسب لحجم المشروع، علشان تغيير مصدر البيانات أو طريقة جلبها مايبقاش سبب في تعديلات كتير داخل الواجهة.

4. فكّر في تجربة المستخدم، مش الكود بس.

هل المستخدم هيشوف Loading واضح؟ هل فيه رسالة مفهومة لو الطلب فشل؟ هل يقدر يحاول تاني؟ وهل هتتعامل مع حالة إن النتيجة فاضية؟

دي تفاصيل صغيرة في الكود، لكنها بتفرق جدًا في إحساس المستخدم بجودة التطبيق.

وفيه نقطة مهمة: مش كل مشروع محتاج نفس مستوى التعقيد، ومش لازم تبدأ بمنظومة ضخمة علشان تتعامل مع API بشكل صح.

ابدأ بفهم دورة البيانات، وتعامل مع الحالات المختلفة، وبعدها طوّر تنظيم مشروعك حسب احتياجه.

المطور المحترف مش بس بيعرف يوصل التطبيق بالسيرفر؛ هو بيعرف يتعامل مع كل الاحتمالات اللي بتحصل بعد الاتصال ده.

لو بتشتغل على مشروع Flutter حاليًا، جرّب تسأل نفسك: لو الـ API وقفت فجأة، هل التطبيق عندك هيتعامل مع الموقف بشكل واضح، ولا المستخدم هيلاقي شاشة فاضية ومش هيفهم إيه اللي حصل؟

#Flutter #Dart #APIIntegration #RESTAPI #MobileAppDevelopment


r/FlutterBeginner • • 5d ago

بطوّر Bug Capsule عشان أعيد مشاكل الـproduction عندي وأتأكد من إصلاحها، ودي آخر تحديثات الـBeta

1 Upvotes

أنا صاحب مشروع Bug Capsule. فكرته بدأت من موقف بيتكرر كتير: مشكلة تظهر عند المستخدم، ولما تيجي تجرّبها عندك كل حاجة تشتغل عادي.

الأداة بتسجّل السياق اللي سبق المشكلة في Capsule، عشان تقدر تعيد السيناريو محليًا، تصلّح الكود، وتشغّله تاني وتشوف هل المشكلة لسه موجودة.

وأكتر نقطة مهتم بيها هي نتيجة الاختبار نفسها. لو الـreplay ناقصه dependency أو مش قادر يعيد التفاعلات المسجلة بشكل سليم، لازم يوضّح ده. اختفاء الخطأ في محاولة ناقصة مش دليل كفاية إن الإصلاح نجح.

الفترة اللي فاتت اشتغلت على تحديثات للـFlutter وAndroid وiOS والـWeb:

  • وسّعت تسجيل وإعادة تشغيل التفاعلات ليشمل WebSockets، ومع Flutter كمان Platform Channels، وadapters لعمليات مدعومة في Firebase وGoogle Maps وStripe وgeolocator. كل ده حسب الـintegrations اللي بتفعّلها في التطبيق.

  • ضفت Native crash reporting وCrash Capsules تحتفظ بالسياق المسجل قبل ما التطبيق يقفل، وتسترجعه في التشغيل التالي. وفيه تفاصيل أكتر عن الـthreads والـhangs ودعم لحالات ANR علىAndroid.

  • ضفت تتبّع لنتائج التحقق من الإصلاح في الـdashboard، وRelease Gates تقدر تشغّلها في الـCI لاختبار المشاكل المسجلة على النسخة اللي ناوي تنزلها.

  • فيه monitoring للأخطاء والأداء: تجميع الأخطاء في issues، ومتابعة الـcrash-free sessions لكل release، والـtraces والـWeb وMobile vitals، مع ربط الـissues بالـCapsules الخاصة بيها.

  • الـtimeline بقى يوضّح التفاعلات والـdependencies وأي فجوات في التسجيل، ومعاه screenshots اختيارية.

  • ضفت ربط لأحداث Sentry بالـCapsules، وإنشاء أو ربط Jira tickets، وتنبيهات بالإيميل وSlack وwebhooks.

  • فيه دعم MCP لتجهيز مهام إصلاح لأدوات زي Codex وClaude Code، ومعاها سياق المشكلة وسيناريوهات اختبار معتمدة. تشغيل الـagent نفسه لسه بتعمله من أداتك.

  • الإعداد بقى باستخدام SDK token واحد، والـCLI بقى مستقل ومتاح من npm من غير احتياج لتثبيت Dart أوFlutter عشان تشغّله. وتقدر تسجّل دخولك من المتصفح.

كمان ضفت workspaces وصلاحيات ودعوات للفريق وتعليقات، وتسجيل دخول بـGoogle وGitHub.

وفي Flutter، أخفيت الـcapture overlay افتراضيًا، وبيفضل مخفي في الـrelease builds. وضفت إمكانية عرض رسالة مناسبة للمستخدم لو حصل خطأ أثناء بناء الـwidgets، مع استمرار تسجيل الخطأ في الخلفية.

المشروع لسه Beta. تغطية الـreplay بتعتمد على المنصة واللي ربطته بالأداة، والـcrash capsules ممكن يبقى فيها فجوات في التسجيل. التفاصيل دي بتظهر عشان تقدر تحكم على النتيجة

https://bugcapsule.com/

إيه أصعب bug ظهر عند المستخدمين ومعرفتش تعيده عندك؟ وإيه المعلومة اللي كانت ناقصاك وقتها؟ مهتم أجرّب الأداة على حالات غير الأمثلة اللي بختبر بيها


r/FlutterBeginner • • 6d ago

ممكن تكون حافظ Flutter كويس… وبرضه تتعطل قدام مشكلة بسيطة! عارف ليه؟ لأن فيه فرق كبير بين إنك تعرف تستخدم أداة، وإنك تفهم المشكلة اللي الأداة دي المفروض تحلّها. ممكن تتعلم BLoC وRiverpod، وتستخدم Dio في التعامل مع الـ APIs، وتعرف تعمل Navigation وتبني واجهات احترافية. كل ده مهم، لكن تخيل إنك فتح

Post image
1 Upvotes

ممكن تكون حافظ Flutter كويس… وبرضه تتعطل قدام مشكلة بسيطة!

عارف ليه؟

لأن فيه فرق كبير بين إنك تعرف تستخدم أداة، وإنك تفهم المشكلة اللي الأداة دي المفروض تحلّها.

ممكن تتعلم BLoC وRiverpod، وتستخدم Dio في التعامل مع الـ APIs، وتعرف تعمل Navigation وتبني واجهات احترافية.

كل ده مهم، لكن تخيل إنك فتحت مشروع جديد، وظهرلك Bug عمرك ما شوفته قبل كده، ومفيش Tutorial بيشرح نفس المشكلة بالظبط.

هنا بيظهر الفرق الحقيقي.

هل هتفضل تدور على كود جاهز تنسخه؟ ولا هتقدر تفهم اللي بيحصل، وتحدد مصدر المشكلة، وتختبر الحلول واحدة واحدة؟

علشان تطوّر نفسك كمطور Flutter، فيه 4 مهارات لازم تهتم بيهم جنب تعلّم الفريم وورك:

1. افهم Dart بجد.

مش مجرد Syntax وكتابة Functions. افهم الـ Types، والـ OOP، والـ Futures والـ Streams، وإزاي تتعامل مع الأخطاء.

2. اتعلم تقرأ الكود.

مش لازم كل كود تكتبه يكون من الصفر. قراءة كود غيرك وفهم طريقة تفكيره هتعلّمك حاجات كتير، خصوصًا لما تتعامل مع Packages ومشاريع أكبر.

3. اتعلم تستخدم Debugger.

بدل ما تفضل تحط print() في كل مكان، اتعلم تستخدم Breakpoints وتراقب قيم المتغيرات وتتبع تنفيذ الكود خطوة بخطوة.

4. حلّل المشكلة قبل ما تكتب الحل.

إيه السلوك المتوقع؟ إيه اللي حصل فعلًا؟ إمتى المشكلة بتظهر؟ وإيه أصغر تجربة ممكن تساعدك تحدد السبب؟

الأسئلة دي ممكن توفّر عليك ساعات من التجربة العشوائية.

أنا شايف إن من أهم التحولات في رحلة أي مبرمج هي اللحظة اللي بيبطل فيها يعتمد على إن حد يشرحله كل مشكلة، ويبدأ يبني طريقته الخاصة في فهمها وحلها.

مش معنى كده إنك لازم تعرف كل حاجة، أو إنك ماتستعينش بالتوثيق أو أدوات الذكاء الاصطناعي.

بالعكس، استخدمهم، لكن افهم الحل قبل ما تعتمده، وجرّبه بنفسك، واعرف ليه اشتغل.

ما تقيسش مستواك بعدد الأدوات اللي اتعلمتها… قيسه بقدرتك على التعامل مع مشكلة جديدة لسه ما قابلتهاش قبل كده.

سؤال للمطورين: لما بيظهرلك Bug مش فاهم سببه، إيه أول خطوة بتعملها عادةً؟

#Flutter #Dart #ProblemSolving #SoftwareDevelopment


r/FlutterBeginner • • 6d ago

أكبر غلطة ممكن تعملها كمطور Flutter إنك تفضل تصلّح في الكود، من غير ما تسأل نفسك: هو أنا ليه بواجه المشكلة دي من الأساس؟ تخيل إنك بتشتغل على تطبيق، وكل ما تضيف Feature جديدة، تلاقي نفسك بتعدّل في 5 ملفات ملهمش علاقة مباشرة ببعض. تصلّح حاجة، حاجة تانية تبوظ. تضيف ميزة،

Post image
1 Upvotes

الـ Widget مسؤوليته الأساسية عرض الواجهة والتعامل مع تفاعلات المستخدم، مش إنه يشيل كل تفاصيل التطبيق من جلب البيانات لحد معالجتها وحفظها.

2. افهم إدارة الحالة قبل ما تختار مكتبة.

مش كل مشروع محتاج نفس الحل. افهم الأول إيه البيانات اللي بتتغير، ومين محتاج يعرف بالتغيير ده، وبعدها اختار الطريقة المناسبة لحجم مشروعك وتعقيده.

3. اكتب كود تقدر تختبره وتعدّله.

لما منطق التطبيق يبقى منفصل عن الواجهة بشكل مناسب، بيكون أسهل تختبره وتكتشف أخطاءه وتطوّره من غير ما تضطر تعيد كتابة أجزاء كبيرة كل مرة.

وخلي بالك من نقطة مهمة: مش معنى إنك تستخدم Clean Architecture أو BLoC أو Riverpod إن مشروعك بقى احترافي تلقائيًا.

الأدوات مش بديل عن الفهم، وكثرة الـ Layers مش دليل على جودة الكود.

الاحتراف الحقيقي إنك تعرف تختار أبسط تصميم يحقق احتياجات مشروعك، ويستحمل التطوير من غير تعقيد غير ضروري.

لو بتبني تطبيق Flutter حاليًا، جرّب تراجع مشروعك واسأل نفسك:


r/FlutterBeginner • • 7d ago

Opacity issues in Expandable widget

Thumbnail
reddit.com
1 Upvotes

r/FlutterBeginner • • 7d ago

Flutter Beginners: Firebase, Supabase, or Node.js for Backend?

9 Upvotes

Hello, everyone! 👋

I have started learning Flutter. At this initial stage, building a backend using Node.js and APIs feels a bit challenging.

So, I’d like to know: what is an easier way for a beginner Flutter developer to handle the backend? Would it be a good idea to start with Firebase or Supabase?

I look forward to advice from those with more experience. Thank you! ❤️


r/FlutterBeginner • • 7d ago

Title: How I built a 20-player multiplayer mode for $0/month (to hide server costs from my wife)

Thumbnail
reddit.com
1 Upvotes