خدمة

تطوير تطبيقات سطح مكتب مخصصة

للعمل الذي لا يجيده تبويب المتصفح.

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

القرار

متى يكون هذا هو القرار الصحيح.

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

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

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

ما الذي تحصل عليه

ما الذي يشمله العمل.

إدخال بيانات يعتمد على لوحة المفاتيح

ترتيب التنقل والاختصارات والتحقق في مكانه، مصممة لمن لا يلمس الفأرة أصلاً ويحفظ النموذج عن ظهر قلب.

العتاد المحلي

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

العمل دون شبكة

قاعدة بيانات محلية بوصفها مساحة العمل، مع مزامنة إلى الخادم حين يكون متاحاً، وقاعدة واضحة للتعارض حين لا يكون كذلك.

مزامنة بين عدة فروع

فروع تعمل باستقلال وتتطابق مركزياً، دون الحاجة إلى اتصال دائم بالمقر.

حساب دقيق

المبالغ كأعداد عشرية ثابتة الفاصلة في كل مكان. الفاصلة العائمة في نظام فوترة نزاع تقريب ينتظر أن يُكتشف.

تحديثات مُدارة

تحديثات موقّعة ومرقّمة تصل وتُطبَّق دون أن يزور فنيٌّ كل جهاز.

التقنيات

بماذا نبنيه.

تُختار لكل مشروع. لا شيء هنا يُفرَض افتراضياً، والفريق الذي سيصونها يزن بقدر المشكلة نفسها.

تطبيق

.NET مع WPF أو WinUI على Windows، اختيرت لنضج الوصول إلى العتاد والنشر لا اتّباعاً للموضة.

البيانات المحلية

SQLite أو SQL Server LocalDB، مع مسار ترحيل يصمد أمام تغيير في المخطط على جهاز دون اتصال.

المزامنة

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

العتاد

المنافذ التسلسلية وUSB HID وحزم المطوّرين، مختبرة على الأجهزة الموجودة فعلاً لديك.

النشر

مثبّتات موقّعة رقمياً مع تحديث تلقائي، وإمكانية تراجع تعمل فعلاً.

مقارنة

المتصفح مقابل عميل سطح المكتب.

سطح المكتب اختيار مقصود لمجموعة ضيقة من الأعمال. وهنا نبيّن أين يتفوق كلٌّ منهما فعلاً.

المتصفح مقارنةً بعميل سطح المكتب
الجانبالمتصفحعميل سطح المكتب
النشرلا شيء لتثبيته؛ الجميع على الإصدار الحالي فوراًمثبّت موقّع رقمياً مع تحديث تلقائي، وإمكانية تراجع تعمل
إدخال بيانات كثيف بلوحة المفاتيحيعمل، لكنه نادراً ما يضاهي سرعة موظف حفظ النموذج عن ظهر قلبترتيب التنقل والاختصارات والاستجابة الفورية، مصممة لمن يُدخل أربعمئة سند في اليوم
العتاد المحليالموازين وطابعات الدوت ماتريكس وأجهزة منفذ COM إما مستحيلة أو هشّةتُشغَّل مباشرةً عبر حزم المطوّرين والمنافذ التسلسلية وUSB HID
العمل عندما تتوقف الشبكةيتوقف، ما لم تُضَف هندسة كبيرةيواصل العمل على البيانات المحلية ويطابقها حين يعود الاتصال
الوصولأي جهاز، في أي مكان، بما في ذلك الهواتفالأجهزة التي تثبّته عليها، وهي عادةً Windows
الجواب الصحيح لـالإدارة والتقارير وأي عمل متعدد الأجهزة أو عن بُعدنقطة البيع، أرضية المتجر، محطة الوزن

كيف يسير الأمر

من أول حديث حتى الإطلاق.

إرشادي لعمل بهذا الشكل. التجربة الأولية ليست اختيارية — ولا يُنقل شيء قبل أن يقول مستخدموه إنه يصمد.

  1. أسبوع واحد

    الاستكشاف

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

  2. 4-7 أسابيع

    البناء الأساسي

    مسار الإدخال ودمج العتاد أولاً، مختبرين على الأجهزة الموجودة لديك لا على ما يعادلها.

  3. أسبوعان

    تجربة على نقطة بيع واحدة

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

  4. 1-3 أسابيع

    الإطلاق

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

بعد الإطلاق

ما الذي يتغير.

  • يتوقف الموظف عن انتظار الشاشة، وهذا على مدار اليوم هو كامل الحجة لصالح سطح المكتب.
  • انقطاع الاتصال لم يعد يعني توقف نقطة البيع.
  • العتاد الذي كان يُشغَّل يدوياً، أو لا يُشغَّل أصلاً، يصبح جزءاً من السجل.
  • تصل التحديثات إلى كل جهاز دون أن يزور فنيٌّ كل جهاز على حدة.

وُصفت نوعياً عن قصد. نحن لا ننشر نسب تحسّن لا نستطيع نسبتها إلى عميل بعينه وبموافقته.

أسئلة

أسئلة شائعة.

أليست برمجيات سطح المكتب قديمة؟

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

هل يمكن أن يعمل مع نظامنا على الويب أيضاً؟

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

وماذا عن macOS أو Linux؟

ممكن، ويستحق النقاش. معظم الطلب على هذا العمل على Windows، لأن مشغّلات العتاد والأجهزة القائمة هناك.

كيف تُدار التحديثات؟

تصل التحديثات الموقّعة تلقائياً وتُطبَّق عند إعادة التشغيل، والإصدار ظاهر داخل التطبيق، مع مسار للتراجع إذا أساء إصدار التصرف.

هل يمكن لتطبيق سطح المكتب ونظام الويب مشاركة قاعدة بيانات واحدة؟

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

ماذا يحدث إذا ظل جهاز دون اتصال لأسبوع؟

يواصل العمل على البيانات المحلية ويطابقها عند إعادة الاتصال، وفق قاعدة تعارض اختيرت أثناء الاستكشاف لا تُركت لما تفعله الشيفرة افتراضياً. وكل ما هو ملتبس فعلاً يُعرَض على شخص بدل أن يُحسم بصمت.