5.2WinDev Mobile: تطبيقات iOS وAndroid
الأساسي في 30 ثانية
- WinDev Mobile يعيد استخدام WLangage والتحليل، لكن المحمول استخدام مختلف: لا ينقل ياسين عشرات شاشات الإدارة، بل يحتفظ بمهام ميدانية قليلة.
- الشاشة الصغيرة واللمس يفرضان إعادة التفكير في الواجهة والإدخال: القوائم والقيم الافتراضية ومسح الباركود تحل محل الكتابة.
- الاتصال غير المؤكد هو الصعوبة الكبرى: قاعدة محلية، طابور تعديلات ومزامنة باستراتيجية تعارضات، دون فقدان أي إدخال.
حالة مصغّرة متسلسلة — ياسين يجهّز الفنيين بتطبيق محمول
يطوّر ياسين تطبيق إدارة شركة صغيرة لتجارة المعدات الكهربائية في وهران. يريد الفنيون وأمناء المخزن، في الميدان، مسح مقال والاطلاع على بطاقته وإدخال جرد وتوقيع وصل تسليم. ينشئ ياسين تطبيق WinDev Mobile بإعادة استخدام التحليل والإجراءات المهنية الموجودة، لكنه لا يستعيد سوى هذه المهام القليلة: لا ينقل شاشات المكتب الكثيفة. يخزّن التطبيق القراءات في قاعدة HFSQL محلية ويعلّمها كغير متزامنة. في المستودع، دون شبكة، يواصل الفني الإدخال. عند عودة الاتصال، يرسل التطبيق القراءات المعلّقة. حدّد ياسين قاعدة تعارض: الخادم يفوز في كميات المخزون، لكن توقيع وصل التسليم وصورته يبقيان محفوظين. كما يتوقع قواعد النشر في المتاجر.
حالة مستقلة لهذا القسم: تعود في الدرس والمخطط والكود وتحدي 48 ساعة للقسم 5.2.
1. إعادة الاستخدام، لا النقل
WinDev Mobile يستهدف Android وiOS بنفس WLangage ونفس التحليل ونفس المحررات. لذا يعيد ياسين استخدام نموذج البيانات وجزء من الإجراءات المهنية. لكنه لا ينقل تطبيق المكتب: تطبيق إدارة كامل يضم عشرات الشاشات، بينما الميدان لا يطلب سوى حفنة منها. المحمول ليس نسخة مصغّرة، بل استخدام مختلف: مسح مقال، إدخال جرد، توقيع وصل. النطاق هو القرار الأول الذي يجب اتخاذه.
2. الواجهة اللمسية والإدخال
شاشة كثيفة مصممة لحاسوب ولوحة مفاتيح غير قابلة للاستخدام على هاتف. يرتّب ياسين المعلومات، ويقسّم الشاشات، ويكبّر مناطق اللمس، ويقلّل الإدخال إلى الحد الأدنى. كتابة النص على لوحة صغيرة بطيئة ومزعجة: لذا يفضّل قوائم الاختيار والقيم الافتراضية ومسح الباركود والصورة وGPS والتوقيع على الشاشة. حساسات الهاتف تحلّ محل كثير من الإدخالات اليدوية. الهدف أن يقوم الفني بالإيماءة الصحيحة بلمسات قليلة، حتى بقفازات.
3. عدم الاتصال والمزامنة والمتاجر
في الميدان، الشبكة غير مؤكدة: قبو، مستودع، منطقة بلا تغطية. التطبيق الذي يتطلب اتصالًا دائمًا سيُهجر. يتوقع ياسين قاعدة محلية (HFSQL متاح على المحمول)، وطابور تعديلات مؤرخة ومزامنة عند عودة الشبكة. تبقى نقطة الصعوبة هي التعارض: بينما كان فني يعدّل بطاقة دون اتصال، عدّلها شخص آخر في المقر. يجب أن تكون الاستراتيجية واضحة وملائمة للمهنة، بقاعدة مطلقة: عدم فقدان أي إدخال ميداني أبدًا. أخيرًا، يمر النشر عبر المتاجر (Google Play، App Store) التي تتطور قواعدها وعمليات التحقق فيها: يجب صيانة التطبيق على المدى الطويل.
🔎 مثال ملموس — 🔎 مثال عملي — إدخال جرد دون اتصال
يسجّل ياسين قراءة محليًا دون الاعتماد على الشبكة:
// Saisie hors ligne d'un relevé d'inventaire
HAjoute(ReleveStock)
ReleveStock.CodeArticle = SAI_CodeArticle
ReleveStock.QuantiteComptee = SAI_Quantite
ReleveStock.DateReleve = SysDateHeure()
ReleveStock.Synchronise = Faux
HModifie(ReleveStock)
النتيجة: يعمل الفني في المستودع حتى دون اتصال.
المنعكس: تعليم السطر كغير متزامن لإعادة إرساله لاحقًا.
مفردات القسم
- WinDev Mobile
- عضو في مجموعة PC SOFT لتطبيقات Android وiOS، يشارك WLangage والتحليل والمحررات مع WinDev.
مثال بسيط: ينشئ ياسين تطبيق المسح والجرد لفنييه.
ما ليس كذلك: تعلّم تطوير Android وiOS الأصلي كلًا على حدة.
رد فعل: المحمول = نفس الأساس، استخدام آخر.
- نطاق المحمول
- مجموعة محدودة من المهام المفيدة فعلًا في الميدان، تُختار قبل تصميم التطبيق.
مثال بسيط: يحتفظ ياسين بالمسح والجرد ووصل التسليم.
ما ليس كذلك: نسخ كل شاشات الإدارة على الهاتف.
رد فعل: المحمول ليس نسخة مصغّرة من المكتب.
- وضع عدم الاتصال
- القدرة على الاطلاع والإدخال على الجهاز دون اتصال، بفضل قاعدة بيانات محلية.
مثال بسيط: تُسجّل قراءة ياسين في المستودع دون شبكة.
ما ليس كذلك: فرض اتصال دائم للإدخال.
رد فعل: عدم الاتصال = قاعدة محلية وإدخال محفوظ.
- المزامنة
- إرسال التعديلات المحلية إلى الخادم واستقبال التحديثات عند عودة الشبكة.
مثال بسيط: تنطلق القراءات المعلّقة حالما يخرج الفني من المستودع.
ما ليس كذلك: ترك البيانات المحلية دون رفعها أبدًا.
رد فعل: المزامنة = إعادة تشغيل طابور الانتظار.
- تعارض المزامنة
- حالة عُدّلت فيها البيانات نفسها دون اتصال وعلى الخادم؛ وتتطلب قاعدة واضحة.
مثال بسيط: يقرر ياسين أن الخادم يفوز في كميات المخزون.
ما ليس كذلك: ترك كل جهاز يطمس الآخر دون قاعدة.
رد فعل: التعارض يُحسم حسب المهنة، لا عشوائيًا.
في التطبيق — عمليًا — تصميم تطبيق محمول
- حدّد نطاق المحمول: أي المهام لها معنى فعلًا في الميدان (الاطلاع، المسح، إدخال جرد، التوقيع).
- أعد التفكير في الواجهة للشاشة الصغيرة واللمس: مناطق لمس واسعة، إدخال أدنى، قوائم اختيار ومسح.
- عالج عدم الاتصال: قاعدة محلية، طابور تعديلات مؤرخة ومزامنة بقاعدة تعارض واضحة.
- استفد من الحساسات المفيدة (صورة، باركود، GPS، توقيع) وتوقع قواعد النشر والصيانة في المتاجر.
سكربت خطوة بخطوة — مزامنة القراءات (10 دقائق)
يعيد ياسين إرسال القراءات غير المتزامنة حالما تعود الشبكة.
المزامنة لا تحذف شيئًا قبل التأكيد: يبقى الإدخال الميداني محفوظًا حتى إرساله بنجاح.
نموذج للنسخ واللصق — تطبيقي المحمول
// Application WinDev Mobile — terrain Yacine
// Analyse partagée : Article, Stock, BonLivraison, ReleveStock
// Périmètre : scan article, inventaire, signature du bon
// Base locale : HFSQL mobile
// File d'attente : ReleveStock.Synchronise = Faux
// Conflit : le serveur gagne sur les quantités, les preuves restent
// Capteurs : code-barres, photo, signature
// Stores : règles à vérifier avant chaque publication
جرد المستودع
يجعل ياسين أمناء المخزن يدخلون الكميات المحسوبة دون اتصال.
المسح عند العميل
يجعل ياسين الفني يمسح مقالًا عند العميل للاطلاع على بطاقته ومخزونه.
وصل تسليم موقّع
يلتقط ياسين توقيع العميل على شاشة الهاتف.
مزامنة مؤجلة
يرسل ياسين القراءات عند عودة الشبكة، بقاعدة تعارض ملائمة للمخزون.
✓ ممارسات جيدة
- اختيار نطاق محمول محدود بمهام الميدان.
- تفضيل المسح والقوائم والقيم الافتراضية على الكتابة.
- توقع قاعدة محلية وطابور انتظار وقاعدة تعارض من التصميم.
✗ أخطاء شائعة
- نقل كل الشاشات الكثيفة من المكتب إلى الهاتف.
- فرض اتصال دائم للإدخال.
- ترك تعارضات المزامنة دون قاعدة واضحة.
النقاط الأساسية
- WinDev Mobile يعيد استخدام WLangage والتحليل لـ Android وiOS.
- المحمول استخدام مختلف: يجب إعادة التفكير في النطاق والواجهة.
- عدم الاتصال والمزامنة هما الصعوبة الكبرى.
- المتاجر تفرض قواعد متطورة وصيانة على المدى الطويل.
تحدي 48 ساعة — طبّقه غدًا
مثل ياسين، اختر ثلاث مهام ميدانية من تطبيقك (الاطلاع، المسح، الإدخال) وارسم الشاشات المحمولة المقابلة. أنشئ جدولًا محليًا صغيرًا بمؤشر Synchronise، وأدخل قراءتين دون اتصال، ثم اكتب حلقة المزامنة. أخيرًا اكتب قاعدة التعارض التي ستطبقها إذا تغيّرت البيانات نفسها في المقر.
- أستطيع شرح ما يعيد WinDev Mobile استخدامه وما يجب إعادة التفكير فيه.
- أعرف تحديد نطاق محمول مفيد للميدان.
- أعرف تنظيم إدخال دون اتصال ومزامنته.
أسئلة شائعة
هل يمكن ببساطة نقل تطبيق WinDev إلى المحمول؟
لا. يعيد WinDev Mobile استخدام WLangage والتحليل، لكن نقل تطبيق مكتب كما هو يعطي نتيجة غير قابلة للاستخدام. يجب إعادة التفكير في النطاق والواجهة والعمل دون اتصال. ما يُعاد استخدامه: اللغة، نموذج البيانات، جزء من الإجراءات المهنية ومفاهيم الورشة. وما يجب إعادة التفكير فيه: المهام المفيدة فعلًا في الميدان، الشاشات اللمسية، طرق الإدخال (مسح، قوائم، صورة)، الاتصال غير المؤكد والمزامنة. يحتفظ ياسين ببعض الإيماءات المهنية، لا بالتطبيق كله.
كيف نتعامل مع وضع عدم الاتصال والمزامنة؟
بتخزين البيانات محليًا على الجهاز، وتسجيل التعديلات مع تاريخها، ثم المزامنة عند عودة الشبكة. نقطة الصعوبة هي التعارض: إذا عُدّلت البطاقة نفسها في المقر وعلى الهاتف، يجب قاعدة واضحة. الاستراتيجيات الشائعة هي فوز الخادم أو فوز المحمول أو أفضلية آخر تعديل، لكن الاختيار الجيد يعتمد على المهنة. يقلّل ياسين التعارضات بترجيح إضافة القراءات وبالحفاظ دائمًا على الأدلة (توقيع، صورة) حتى عندما يفرض الخادم كمياته.
ما الصعوبة الكبرى في تطبيق محمول مهني؟