تخطي إلى المحتوى
v2.8.2

PWA للياقة: تطبيق بدون متجر التطبيقات | دليل 2025

كيفية انشاء PWA للياقة تتجنب عمولة 30%. تحديات iOS وحلول الفيديو واستراتيجيات التبني المختبرة في WorkoutGen.

Jean-Baptiste Thery تم التحديث في
  • PWA
  • Progressive Web App
  • تطوير الموبايل
  • تقنية اللياقة
  • تمارين
  • Lemon Squeezy
Developer on MacBook

الحقيقة حول بناء التطبيقات بدون متاجر التطبيقات

لا تحتاج إلى إذن من Apple أو Google لإطلاق تطبيق موبايل احترافي. مع صديقي المدرب الرياضي، بنيت WorkoutGen - مولد تمارين ينشئ برامج تدريب الأثقال في الجيم مخصصة - كتطبيق ويب تقدمي يعمل بسلاسة على جميع الأجهزة دون لمس App Store أو Google Play.

يشارك هذا المقال تجربتي الحقيقية في بناء ونشر تطبيق PWA في الإنتاج، بما في ذلك المزايا الاقتصادية (34٪ إيرادات أكثر لكل عميل)، والتحديات التقنية (خاصة أخطاء تشغيل الفيديو في Safari)، واستراتيجيات التبني التي نفذتها. الواقع أكثر دقة من الضجة التسويقية، لكن الفرص حقيقية.

ما الذي يجعل تطبيق PWA للياقة البدنية رائعاً؟

يجب أن يوفر تطبيق PWA احترافي للتمارين (و WorkoutGen ينفذ كل هذا):

  • بنية تعمل بلا إنترنت أولاً - التمارين متاحة بدون إنترنت
  • أداء يشبه التطبيقات الأصلية - رسوم متحركة سلسة، استجابات فورية
  • معالجة الوسائط - فيديوهات أو صور متحركة للتمارين تعمل على جميع المنصات
  • مطالبات التثبيت - تأهيل واضح للمستخدمين غير المألوفين بتطبيقات PWA
  • تكامل الدفع - فوترة Lemon Squeezy مباشرة (0٪ رسوم المنصة مقابل 30٪ من المتاجر)
  • اتساق عبر المنصات - تجربة متطابقة على iOS و Android وسطح المكتب

لماذا اخترت PWA بدلاً من التطبيقات الأصلية

الاقتصاديات مقنعة

متاجر التطبيقات التقليدية:

  • 30٪ عمولة على جميع المعاملات (Apple، Google)
  • رسوم مطور سنوية ($99-$299)
  • نظام شراء داخل التطبيق إلزامي
  • حصة الإيرادات على الاشتراكات (السنة 1: 30٪، السنة 2+: 15٪)

PWA + Lemon Squeezy (Merchant of Record):

  • 0٪ عمولة المنصة
  • 5٪+50¢ رسوم Lemon Squeezy (يشمل معالجة الدفع + الامتثال الضريبي)
  • Lemon Squeezy يتعامل مع جميع ضرائب القيمة المضافة/الضرائب عالمياً - لا حاجة للتسجيل في كل دولة
  • تحكم كامل في منطق الفوترة
  • تحديثات الدفع الفورية (لا توجد تأخيرات 24-48 ساعة من App Store)

بالنسبة لاشتراك $10/شهر، تحتفظ بـ $7.00 مع متاجر التطبيقات مقابل ~$9.00 مع Lemon Squeezy. هذا ~25٪ إيرادات أكثر لكل عميل. Lemon Squeezy يتعامل مع 100٪ من الامتثال الضريبي والالتزامات القانونية في كل دولة - لا تحتاج لإعلان أي شيء.

واقع التطوير

الميزة التطبيقات الأصلية PWA
قاعدة الكود 2-3 منفصلة (iOS/Android/Web) قاعدة كود واحدة
التحديثات مراجعة المتجر (3-7 أيام) نشر فوري
التوزيع موافقة المتجر مطلوبة مشاركة URL مباشرة
التثبيت تنزيلات 50MB+ 2-5MB أصول مخزنة
الدعم بلا إنترنت تنفيذ يدوي معيار Service Worker

ماذا عن الحلول عبر المنصات؟

قبل الذهاب بالكامل إلى PWA، قيّمت البدائل الرئيسية عبر المنصات:

React Native / Flutter: وعدت "اكتب مرة واحدة، شغل في كل مكان" لكنها لا تزال تتطلب:

  • خطوط بناء منفصلة لـ iOS و Android
  • كود خاص بالمنصة للميزات الأصلية
  • تقديمات متجر التطبيقات وتأخيرات الموافقة
  • تنزيلات تطبيقات 40-60MB+
  • تعلم Dart (لـ Flutter) - لغة جديدة بنظام بيئي أصغر من JavaScript

Capacitor (غلاف هجين): مفيد للوصول إلى واجهات برمجة التطبيقات الأصلية، لكنه يضيف تعقيداً:

  • 15MB حمل إضافي فقط للغلاف
  • لا يزال يحتاج موافقة متجر التطبيقات للتوزيع
  • يفقد ميزة التحديث الفوري لتطبيقات الويب النقية
  • الأفضل استخدامه كتحسين اختياري، وليس كمتطلب

PWA + Capacitor (اختياري): بنيت WorkoutGen أولاً كـ PWA نقي، مع غلاف Capacitor اختياري للميزات الأصلية لاحقاً. هذا يوفر:

  • التجربة الأساسية تعمل في كل مكان عبر الويب (لا حاجة للمتجر)
  • أغلفة التطبيقات الأصلية متاحة لاكتشاف App Store
  • قاعدة كود واحدة مع تحسينات أصلية مشروطة
  • نشر تحديثات الويب فوراً، التحديثات الأصلية عند الحاجة

التحديات التقنية (والحلول)

تشغيل الفيديو على iOS: أخطاء Safari القديمة

المشكلة التي لن تموت:

Safari على iOS لديه أخطاء مستمرة وغير مصلحة في تشغيل الفيديو تطارد مطوري PWA لسنوات. هذا ليس تكهناً - إنه موثق في متتبع أخطاء WebKit نفسه:

المشاكل الحديثة:

  • iOS 26 (2025): الفيديوهات تتجمد على الإطار الأول بعد إغلاق وإعادة فتح PWA (WebKit Bug #300990)
  • iOS 15-18 (مستمر): تدفقات فيديو getUserMedia() تعرض أحياناً شاشة سوداء في PWAs (WebKit Bug #252465، تم الإبلاغ عنه فبراير 2023، تم وضع علامة "تم إصلاحه" لكنه لا يزال يحدث)

أنماط تاريخية:

  • Bug #232076 (2021): الفيديوهات من blob URLs استهلكت 200-300MB من الذاكرة لفيديوهات 2MB، استغرقت 10+ ثوانٍ لبدء التشغيل. تم إصلاحه في iOS 15 بعد أشهر من التحقيق.
  • Bug #198277 (2019-2022): الصوت توقف عن التشغيل عندما تم وضع PWAs في الخلفية. استغرق 3 سنوات للإصلاح (تم حله أخيراً في iOS 15.4، فبراير 2022).
  • تقارير Stack Overflow: الفيديوهات المقدمة من دليل /public/ تفشل في التحميل بعد تحديث الصفحة أو تثبيت PWA على Safari (iOS و macOS). الحل البديل: استضافة الفيديوهات على CDN خارجي.

النمط واضح: أخطاء الفيديو/الوسائط في Safari PWAs يتم الإبلاغ عنها، أحياناً يتم وضع علامة "تم إصلاحها"، ثم تظهر مرة أخرى في إصدارات iOS جديدة.

استراتيجية الحل البديل:

لـ WorkoutGen، نفذت نهج احتياطية متعددة:

  1. استخدام سمة crossorigin="anonymous" على جميع عناصر الفيديو
  2. إضافة playsInline و muted و autoPlay للتوافق مع iOS
  3. تحميل مسبق لبيانات الفيديو الوصفية لتقليل مشاكل التحميل
  4. مراقبة الأخطاء الخاصة بإصدار iOS والتكيف (فيديوهات منفصلة لـ iOS 26)
  5. تصميم تجربة المستخدم مع افتراض أن الفيديوهات قد تفشل - توفير تعليمات نصية كنسخة احتياطية

الواقع المحبط: الأخطاء مثل #198277 استغرقت 3 سنوات للإصلاح، والمشاكل المفترض "حلها" مثل تشغيل فيديو getUserMedia() (#252465) تستمر في الظهور في إصدارات iOS جديدة. دعم PWA من Apple يحصل بوضوح على أولوية أقل من واجهات برمجة التطبيقات الأصلية، مع إصلاحات تتطلب "تغييرات على مستوى المنصة الأساسية" بدلاً من تصحيحات WebKit السريعة.

لا توجد أحداث تثبيت أصلية على iOS

المشكلة: Safari لا يطلق أحداث beforeinstallprompt، مما يجعل من المستحيل:

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

حلي: طبقات تعليمية بالفيديو

نظراً لأن مستخدمي iOS لا يمكنهم الحصول على مطالبات تثبيت تلقائية، قمت ببناء تدفق تأهيل مخصص:

// منطق الكشف من WorkoutGen
const isPWAInstalled = () => {
  // كشف iOS
  if (window.navigator.standalone) return true

  // Android/Desktop
  if (window.matchMedia("(display-mode: standalone)").matches) return true

  return false
}

// إظهار البرنامج التعليمي للمتصفحات بدون beforeinstallprompt
const browserInfo = detectBrowser()
if (!browserInfo.canInstallPWA && !isPWAInstalled()) {
  showVideoTutorial() // برنامج تعليمي مخصص مع تعليمات التثبيت
}

يعرض WorkoutGen دروس فيديو قصيرة توضح للمستخدمين بالضبط كيفية النقر على "مشاركة → إضافة إلى الشاشة الرئيسية" على iOS. الفيديوهات سياقية - تعليمات مختلفة لـ iOS 26 مقابل الإصدارات السابقة، Safari مقابل Chrome على iOS.

كان هذا الاستثمار في تجربة المستخدم حاسماً: بدون مطالبات تثبيت أصلية، يعتمد تبني PWA على iOS بالكامل على تعليم المستخدم.

استراتيجية التخزين المؤقت لـ Service Worker

التمارين بلا إنترنت تتطلب تخزيناً مؤقتاً قوياً. يستخدم WorkoutGen Vite PWA Plugin مع Workbox:

// التكوين الحقيقي من apps/frontend/vite.config.ts
VitePWA({
  registerType: "prompt",
  workbox: {
    globPatterns: ["**/*.{js,css,html,ico,png,svg,woff,woff2}"],
    globIgnores: ["**/*.mp4", "**/*.webm", "**/*.gif", "**/*.jpg", "**/*.jpeg", "**/*.webp"],
    maximumFileSizeToCacheInBytes: 40 * 1024 * 1024,
    cleanupOutdatedCaches: true,
    navigateFallback: null,
  },
})

القرارات الرئيسية:

  • تخزين الأصول الثابتة (JS، CSS، الخطوط) للتحميل الفوري
  • استبعاد الوسائط الكبيرة من التخزين المسبق - جلبها عند الطلب عبر CDN
  • حد تخزين مؤقت 40MB لتجنب مشاكل حصة التخزين على iOS (Safari يحد عند 50MB)
  • registerType: 'prompt' يسمح للمستخدمين بالتحكم في وقت التحديث
  • التخزين المؤقت في وقت التشغيل لوسائط التمارين مع استراتيجية CacheFirst

هذا يمنح WorkoutGen وظائف كاملة بلا إنترنت مع البقاء ضمن حدود تخزين iOS.

ما خيب ظني في PWAs (ولماذا ما زلت متفائلاً)

دعم محدود من المتصفحات لميزات التثبيت

Safari (iOS): لا يوجد حدث beforeinstallprompt، لا واجهة تثبيت تلقائية، لا لافتة تثبيت. يجب على المستخدمين التنقل يدوياً عبر قائمة المشاركة → "إضافة إلى الشاشة الرئيسية" - عملية من 4 نقرات لا يعرف معظم الناس أنها موجودة.

Firefox (سطح المكتب): دعم غير متسق لتثبيت PWA. بعض الإصدارات تدعمه، والبعض الآخر لا. يظهر زر التثبيت بشكل غير متوقع.

Chrome/Edge (Android): هذه تعمل بشكل مثالي مع مطالبات التثبيت الأصلية، لكنها الأقلية عالمياً عندما تأخذ في الاعتبار حصة سوق iOS.

الحل البديل؟ بناء تجربة مستخدم تثبيت مخصصة لكل متصفح. لـ WorkoutGen، نفذت:

  • دروس فيديو توضح خطوات التثبيت على iOS
  • كشف المتصفح لإظهار التعليمات ذات الصلة
  • أزرار "إضافة إلى الشاشة الرئيسية" مخصصة تُطلق أدلة سياقية
  • تدفقات مختلفة لـ iOS 26 مقابل الإصدارات السابقة

هذا يضيف عبء تطوير، لكنه قابل للإدارة مقارنة بصيانة قواعد كود أصلية منفصلة.

معظم المستخدمين لا يعرفون أن PWAs موجودة

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

وجدت أن استراتيجيتين تعملان:

  1. لا تسميها PWA - قل فقط "أضف إلى شاشتك الرئيسية للتجربة الكاملة"
  2. أظهر، لا تخبر - استخدم دروس فيديو تعرض عملية التثبيت

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

لماذا ما زلت متفائلاً رغم هذه القيود

الأمر هو: PWAs مقدرة بأقل من قيمتها بشكل كبير لفئة معينة من التطبيقات.

لمنتجات SaaS ومنصات المحتوى والأدوات مثل WorkoutGen:

  • ✅ تشحن لجميع المنصات من اليوم الأول (iOS، Android، سطح المكتب، الويب)
  • ✅ تجربة ملء الشاشة، قادرة على العمل بلا إنترنت بدون متاجر التطبيقات
  • ✅ تحديثات فورية بدون تأخيرات المراجعة
  • ✅ احتفظ بـ ~90٪ من الإيرادات بدلاً من 70٪ (رسوم Lemon Squeezy 5%+50¢ مقابل تخفيضات متجر التطبيقات 30%)
  • ✅ علاقة مباشرة مع المستخدمين (بدون وسيط المنصة)

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

ماذا عن الذكاء الاصطناعي/ChatGPT للتخطيط للتمارين؟

ChatGPT يمكنه توليد خطط تمارين، لكنه يقصر في التدريب الجاد:

  • لا توجد مكتبة فيديو تمارين - ChatGPT يمكنه وصف التمارين، لكن لا يمكنه أن يريك الشكل الصحيح. WorkoutGen يتضمن قاعدة بيانات فيديو مخصصة تغطي كل تمرين قوة رئيسي مع عروض احترافية.
  • التقدم المنظم - لا تتبع للحمل الزائد التدريجي الأسبوعي، أو التدوير، أو أسابيع التخفيف
  • الوصول بلا إنترنت - يتطلب إنترنت لكل استعلام (غير قابل للاستخدام في صالات الرياضة بإشارة ضعيفة)
  • ذاكرة التخصيص - يفقد السياق بين الجلسات ما لم تحافظ يدوياً على تاريخ المحادثة
  • لا واجهة تنفيذ - تحصل على خطة نصية، لكن لا يوجد مشغل تمرين لإرشادك خلال المجموعات وفترات الراحة وترتيب التمارين

بناء قاعدة بيانات فيديو التمارين لـ WorkoutGen كان أشهراً من العمل - التصوير والتحرير والضغط والتحسين للتشغيل على الموبايل. هذا شيء لا يمكن للذكاء الاصطناعي توفيره لأنه يعمل بشكل نصي بحت. الجمع بين الخوارزميات المنظمة + العروض المرئية + الوصول بلا إنترنت هو حيث تتألق PWAs على الذكاء الاصطناعي المحادثاتي.

ماذا عن YouTube لدروس التمارين؟

YouTube رائع لتعلم التمارين لكنه فظيع للتدريب الفعلي:

  • لا بنية تمرين - تجمع 6 فيديوهات مختلفة
  • الإعلانات تقطع المجموعات - تقتل الزخم في منتصف التمرين
  • لا تتبع للتقدم - لا يمكن تسجيل التكرارات أو الوزن أو التحسينات
  • الإنترنت مطلوب - غير قابل للاستخدام في صالات الرياضة بإشارة ضعيفة

PWA يمنحك الأفضل من الاثنين: محتوى فيديو منسق داخل نظام تدريب منظم.

توصيتي الصادقة

للمطورين الذين يبنون تطبيقات اللياقة/الإنتاجية/SaaS:

  • ابدأ بـ PWA إلا إذا كنت تحتاج بالتأكيد إلى واجهات برمجة تطبيقات أصلية (HealthKit، ARKit، Background App Refresh)
  • استخدم React 19 + Vite 7 + Vite PWA Plugin + Workbox لتجربة مطور مثلى
  • أضف Capacitor لاحقاً فقط إذا كنت تريد أغلفة أصلية اختيارية لحضور متجر التطبيقات
  • اختبر على أجهزة iOS حقيقية طوال التطوير - أخطاء PWA في Safari ستفاجئك
  • خصص وقتاً لتجربة مستخدم تثبيت مخصصة (دروس فيديو، كشف المتصفح، مطالبات سياقية)

لرواد الأعمال والمؤسسين المستقلين:

  • PWA أولاً لـ MVPs - شحن لجميع المنصات في أسابيع، وليس أشهر، بقاعدة كود واحدة
  • الاقتصاديات تفضل PWAs - احتفظ بـ ~90٪ من الإيرادات (Lemon Squeezy 5%+50¢) مقابل 70٪ (متاجر التطبيقات 30٪)
  • التكرار الفوري - انشر التحديثات في ثوانٍ بدون تأخيرات مراجعة المتجر
  • متاجر التطبيقات اختيارية - أضف أغلفة أصلية لاحقاً للاكتشاف إذا لزم الأمر، لكن المنتج الأساسي يعمل في كل مكان عبر الويب
  • ضع في اعتبارك التطبيقات الأصلية فقط بعد $10K+ MRR لتبرير العبء الإضافي

للمستخدمين:

  • جرب WorkoutGen PWA: my.workoutgen.app
  • ثبت عبر قائمة المتصفح: انقر على مشاركة → "إضافة إلى الشاشة الرئيسية" (iOS) أو زر تثبيت المتصفح (Android)
  • يعمل بلا إنترنت، ملء الشاشة، يبدو كتطبيق أصلي - بدون تنزيل 50MB+

الخلاصة

بعد بناء WorkoutGen كـ PWA في الإنتاج، إليك ما تعلمته:

الجيد:

  • احتفظ بـ ~25٪ إيرادات أكثر لكل عميل - Lemon Squeezy 5%+50¢ مقابل App Store 30٪ (بالإضافة إلى أن Lemon Squeezy يتعامل مع كل الامتثال الضريبي)
  • شحن لجميع المنصات من قاعدة كود واحدة - iOS و Android وسطح المكتب والويب في نفس الوقت
  • نشر التحديثات فوراً - بدون تأخيرات مراجعة المتجر (ساعات مقابل أيام)
  • وظائف كاملة بلا إنترنت - Service Workers يخزن كل ما يحتاجه المستخدمون
  • سرعة تطوير أسرع - بدون سلاسل أدوات بناء أصلية أو واجهات برمجة تطبيقات خاصة بالمنصة

التحديات:

  • ⚠️ دعم Safari PWA محبط - أخطاء تشغيل الفيديو غير مصلحة لسنوات، واجهات برمجة تطبيقات محدودة
  • ⚠️ لا مطالبات تثبيت تلقائية على iOS - يتطلب تجربة مستخدم مخصصة وتعليم المستخدم
  • ⚠️ توافق المتصفح يختلف - ما يعمل في Chrome قد ينكسر في Safari
  • ⚠️ وعي المستخدم منخفض - معظم الناس لا يعرفون أن PWAs موجودة
  • ⚠️ لا اكتشاف في متجر التطبيقات - تحتاج حركة مرور عضوية أو اكتساب مدفوع

الحكم:

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

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

WorkoutGen يثبت أنه يعمل على نطاق واسع. المشاكل 2-3 (أخطاء Safari، تعليم المستخدم) يتم تجاوزها بكثير من الفوائد: النشر الفوري، صفر رسوم المنصة، ووصول حقيقي عبر المنصات.

ابدأ برنامج قوة حقيقي مجاناً

ولّد خطة تقدمية مع فيديوهات وتتبع. تطبيق مجاني. يضيف WorkoutGen Max اقتراحات حمل بالذكاء الاصطناعي، تخصيصًا كاملًا وتحليلات متقدمة.

أنشئ برنامجي المجاني →

أدلة WorkoutGen ذات صلة

للمتابعة مع الهدف نفسه، اقرأ أيضًا:

المراجع

الأسئلة الشائعة

هل يمكن لتطبيقات PWA فعلا استبدال التطبيقات الاصلية لتطبيقات اللياقة؟

نعم، لمعظم تطبيقات اللياقة. WorkoutGen يثبت انك تستطيع بناء منصة تمارين كاملة بدعم بلا انترنت وعروض فيديو وفوترة اشتراك بالكامل كـ PWA. الاستثناءات هي التطبيقات التي تتطلب HealthKit او Apple Watch او تتبع GPS في الخلفية - تلك لا تزال تحتاج كودا اصليا. لتدريب القوة او HIIT او اليوغا، توفر PWAs كل ما يحتاجه المستخدمون.

كيف تتعامل مع نقص مطالبات التثبيت التلقائية على iOS؟

بدروس فيديو وتعليم سياقي. في WorkoutGen، عندما نكتشف مستخدم iOS بدون حدث beforeinstallprompt، نعرض فيديو قصيرا يوضح كيفية النقر على مشاركة ثم اضافة الى الشاشة الرئيسية. نطلق هذا بعد ان يختبر المستخدم قيمة حقيقية حتى يكون متحمسا للتثبيت. هذا اقل كثيرا من صيانة تطبيق iOS اصلي.

ماذا عن اكتشاف متجر التطبيقات؟ الا تخسر تلك الحركة العضوية؟

نعم، هذا اكبر ضعف لـ PWA - لا يمكن اكتشافك من خلال تصفح App Store. تحتاج مصادر الحركة الخاصة بك: تحسين محركات البحث وتسويق المحتوى ووسائل التواصل الاجتماعي والاعلانات المدفوعة. لـ WorkoutGen اركز على البحث العضوي لمصطلحات مثل مولد تمارين وبرنامج تدريب مخصص. اذا كان الاكتشاف عبر المتجر حاسما، فكر في نهج هجين مع اغلفة اصلية اختيارية.

هل تعمل PWAs فعلا بلا انترنت على iOS؟

تعمل بالتاكيد بلا انترنت - هذا مجال حيث دعم iOS PWA قوي. Service Workers مدعومة بالكامل منذ iOS 11.3 عام 2018. WorkoutGen يخزن بيانات التمرين وفيديوهات التمارين وأصول التطبيق حتى يتمكن المستخدمون من التدريب في وضع الطائرة. الحد الوحيد هو 50MB على Safari، لكن لمعظم التطبيقات هذا كاف.

ما حجم الملف مقارنة بالتطبيقات الاصلية؟

PWA الخاص بـ WorkoutGen هو 2.8MB من الاصول المخزنة (JavaScript وCSS والخطوط وصور الواجهة). وسائط التمارين يتم جلبها عند الطلب من CDN. تطبيق اصلي مكافئ سيكون 40-60MB كحد ادنى. تتحدث PWAs ايضا بشكل تدريجي - فقط الملفات المتغيرة يتم تنزيلها.

هل يمكن فعلا كسب المال بـ PWA؟

تكسب اكثر مع PWAs باستخدام Lemon Squeezy كـ Merchant of Record. لا يوجد خصم 30% من المتجر، ولا قيود على التسعير، ومعالجة دفع فورية. احتفظ بحوالي 90% من الايرادات بعد رسوم 5%+50 سنتا. Lemon Squeezy يتعامل ايضا مع كل الامتثال الضريبي عالميا - ضريبة القيمة المضافة وضريبة المبيعات في كل دولة.

ما هي المجموعة التقنية التي استخدمتها لبناء WorkoutGen؟

الواجهة الامامية React 19 مع TypeScript الوضع الصارم. اداة البناء Vite 7 مع Vite PWA Plugin. التخزين المؤقت عبر Workbox. ادارة الحالة: TanStack Query للحالة الخادم وTanStack Store لواجهة المستخدم. الواجهة مع shadcn/ui وTailwind CSS v4. الخلفية Strapi v5 CMS. المدفوعات عبر Lemon Squeezy. الواجهة الامامية على Cloudflare Pages. اغلفة اصلية اختيارية عبر Capacitor 7.