-
المساهمات
18935 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
448
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل
-
مسار أساسيات بايثون لا غنى عن تعلمه بالكامل من البداية إلى النهاية، فذلك ما يترتب عليه باقي محتوى الدورة، وللعلم الأساسيات أهم من جانغو وأي تقنية أخرى، لذا الإهتمام بها والتطبيق عليها بشكل مُكثف هو ما يجعل منك مبرمج جيد ومُلم بالأساسيات المبني عليها أي تقنية أخرى قائمة على لغة بايثون. لذا الخيار يعود إليك، إما المتابعة أو الإنتقال للمسار الذي تريده، وللعلم تنفيذ التطبيقات العملية ورؤية تقدمك وتحسن المستوى سيشجعك على الاستمرار، تستطيع السؤال عن تطبيقات عملية حول مفهوم معين لتوظيف ما تعلمته.
-
في حال تم إضافة ملفات بعد عملية الحذف، فستكون نسبة استرجاع الملفات المحذوفة ضعيفة، حيث يتم استبدال البيانات المحذوفة بالبيانات الجديدة عند النقل. من البرامج المجانية الجيدة هو Recuva. والثاني هو برنامج DMDE وهو ليس مجاني تمامًا حيث يسمح لك باسترجاع 4000 ملف لكل عملية بحث أي تستطيع تكرار العملية، وذلك البرنامج هو أفضل من Recuva لكنه ليس مجاني. تحذير: عند استرجاع الملفات عليك حفظها في مكان آخر غير المكان الذي تم حذفها منه حتى لا يتم الكتابة على الملفات المحذوفة وفقدانها للأبد، فعند نقل ملفات على الهارديسك يتم استبدال الملفات المحذوفة بالملفات الجديدة.
-
أولاً نعتذر لك عن أية صعوبة واجهتها في الشرح، تستطيع الاستفسار عن أي شيء وسيتم مساعدتك. بخصوص سؤالك بالطبع لا، فكيف سيتم الشرح لم يصل تعلم الآلة لتلك الدرجة، الفكرة هي أنه في بعض المسارات ستحتاج إلى تعديل مستوى سرعة التشغيل مثل 1.5x لتصل للمستوى المناسب لك في الاستماع، حيث يتم مراعاة أن البعض لا يناسبه الشرح السريع، لذا الجميع يستطيع إختيار السرعة المناسبة في الشرح من خلال تقليل وزيادة سرعة تشغيل الفيديو. وبخصوص نفس الشرح في أكثر الدورة، فنعم يتم تضمين بعض المسارات من الدورات الأخرى لإثراء محتوى دورة معينة أي إعادة استخدام، فما الفائدة من شرح أساسيات بايثون مرتين؟ وبعض المدربين يقومون بشرح أكثر من مسار نعم بسبب تخصصهم في ذلك.
- 2 اجابة
-
- 1
-
-
حاليًا لا يوجد دورة خاصة بالأمن السيبراني بالأكاديمية، وكبداية ستحتاج إلى دراسة علوم الحاسوب، ويوجد بالأكاديمية دورة خاصة بذلك ستتعلم بها ما يلي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب أما بخصوص المصادر والمهارات التي تحتاجها كخريطة طريق لدخول مجال الأمن السيبراني ستجد تفصيل هنا: أما عن نظام لينكس ستجد دروس ومقالات هنا: مقالات لينكس
-
تلك العملية تتم من جهة قاعدة البيانات، فالأمر عبارة عن تخزين بيانات ثم مقارنتها والتحقق منها والسماح أو المنع بعد ذلك حسب النتيجة. فأولاً، تحتاج إلى إنشاء جداول قاعدة البيانات لتخزين المستخدمين والسيريالات. CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL ); CREATE TABLE serials ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, serial_key VARCHAR(50) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, used TINYINT(1) DEFAULT 0 ); ثم عند شراء المستخدم للسكربت، يتم توليد السيريال وتخزينه في قاعدة البيانات. function generateSerial($userId) { $randomPart = bin2hex(random_bytes(15)); $datePart = date('Ymd'); $serial = $userId . '-' . $randomPart . '-' . $datePart; return $serial; } function storeSerial($userId, $serial) { $pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password'); $stmt = $pdo->prepare("INSERT INTO serials (user_id, serial_key) VALUES (:user_id, :serial_key)"); $stmt->execute(['user_id' => $userId, 'serial_key' => $serial]); } // افتراض أن المستخدم قد اشترى السكربت وتم تمرير معرف المستخدم $userId = 1; $serial = generateSerial($userId); storeSerial($userId, $serial); وفي صفحة التحقق من السيريال، تقوم بالبحث عن المستخدم ثم التحقق من السريال ثم تحديث حالة السيريال على أنه أصبح مستخدم ثم متابعة التثبيت، وإن لم يحدث ذلك يعني أنّ التحقق فشل ولا يتم المتابعة. function verifySerial($username, $serial) { $pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password'); $stmt = $pdo->prepare("SELECT id FROM users WHERE username = :username"); $stmt->execute(['username' => $username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { $userId = $user['id']; $stmt = $pdo->prepare("SELECT * FROM serials WHERE user_id = :user_id AND serial_key = :serial_key AND used = 0"); $stmt->execute(['user_id' => $userId, 'serial_key' => $serial]); $serialData = $stmt->fetch(PDO::FETCH_ASSOC); if ($serialData) { $stmt = $pdo->prepare("UPDATE serials SET used = 1 WHERE id = :id"); $stmt->execute(['id' => $serialData['id']]); return true; } } return false; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $serial = $_POST['serial']; if (verifySerial($username, $serial)) { } else { unlink('install.php'); echo "بيانات خاطئة أو السيريال مستخدم سابقاً."; } } وبخصوص التحقق من أن كود الحماية لم يُزال، يمكنك استخدام تقنيات مثل Obfuscation (إخفاء الكود) أو تضمين كود التحقق في أماكن متعددة في السكربت. function checkIntegrity() { if (!file_exists('install.php')) { header('Location: رابط موقعك'); exit(); } } checkIntegrity(); حيث تقوم بتضمين الدالة السابقة في جميع الملفات المهمة للتأكد من أن ملف install.php لم يُحذف.
- 2 اجابة
-
- 1
-
-
بالطبع أنت ستعتمد على محرك البحث لتحصل على زيارات، إذن عليك أولاً ضبط الـ SEO لموقعك، من خلال تحسين جودة الموقع وتصمميه وسرعة تحميله أي تحسين تجربة المستخدم فهي العامل الأهم حاليًا. ومن ضمن تلك الأمور هو شراء دومين ولا يشترط .com تستطيع شراء دومين بأي لاحقة مختلفة وبسعر زهيد. وإذا لا تريد شراء دومين فحاول التقدم لمنصة Adsterra فهي تقبل ذلك. بعد ذلك ستحتاج إلى كتابة مقالات في موقعك لتسويقه من خلال المحتوى ويظهر على كلمات محددة في جوجل. أيضًا إنشاء روابط باك لينكس backlinks لتحسين ظهور الموقع في جوجل ومدى موثوقيته. وستحتاج 10 آلاف زائر كحد أدنى لتتمكن من التقدم لأحد مقدمي الإعلانات، مثل ezoic. لديك أيضًا Mediavine لكن يتطلب 25,000 زائر شهريًا على الأقل. ألقي نظرة على popads أيضًا.
- 3 اجابة
-
- 1
-
-
لم يتم ذكر ما نوع المشروع والبيانات الخاصة به؟ عامًة لا مشكلة في استخدام أكثر من قاعدة بيانات مع Django، تفقد التالي: https://docs.djangoproject.com/en/5.0/topics/db/multi-db/ وهو يقصد الجداول الداخلية التالية: django_content_type (content types for models) django_migrations (migration history) django_session (session data) auth_permission (permissions) auth_group (groups) بسبب ذلك، عليك تخصيص قاعدة بيانات مركزية تحتوي على الجداول التي يستخدمها Django داخليًا. ثم استخدم موجهات قواعد البيانات Database Routers لتحديد الجداول التي يجب أن تكون في قاعدة البيانات المركزية والجداول التي يمكن أن تكون في قواعد البيانات الأخرى.
-
لم تذكر ما الداعي لفعل ذلك، حيث أنّ IIS يعمل على نظام ويندوز فقط لكونه من تطوير مايكروسوفت. عامًة، لا مشكلة في استخدام IIS بدلاً من XAMPP لتشغيل تطبيقات PHP، فكل من IIS و XAMPP خادمان ويب يمكنهما تشغيل تطبيقات PHP. لكن XAMPP هو حزمة خادم ويب مجانية ومفتوحة المصدر تحتوي على Apache و MySQL و PHP و Perl و متاحة لأنظمة Windows و macOS و Linux. والعمل على IIS ليس بالسهل وستحتاج إلى خبرة ودراية به على عكس XAMPP. وربما تحتاج إلى إجراء بعض التعديلات على كود PHP لديك في حال كنت تستخدم ميزات أو امتدادات خاصة بالخادم والتي قد لا تكون متوفرة على كلا الخادمين، بمعنى لو تستخدم وحدات أو دوال خاصة بـ Apache، فستحتاج إلى تعديل كودك لاستخدام بدائل متوافقة مع IIS. أيضًا ملفات .htaccess في Apache، ستحتاج إلى تحويلها إلى قواعد URL Rewrite في IIS.
- 1 جواب
-
- 1
-
-
تعلم سي شارب الحلقات التكرارية في لغة سي شارب #C
Mustafa Suleiman علق على مقال حسام برهان في لغة C#
الحل صحيح، تستطيع تحسينه بتجنب طباعة فاصلة زائدة في النهاية، الفكرة هي التأكد من أن الفاصلة تُطبع فقط بين الأرقام وليس بعد آخر رقم في السلسلة. for (int i = 1; i <= 100; i++) { if (i % 5 != 0) { if (i > 1 && (i - 1) % 5 != 0) { Console.Write(","); } Console.Write(i); } } استخدمت شرطًا إضافيًا داخل الحلقة للتحقق في حال كان الرقم الحالي ليس الأول في السلسلة (i > 1) وأن الرقم السابق لم يكن مضاعفًا للـ 5 ((i - 1) % 5 != 0). بالتالي طباعة الفاصلة فقط بين الأرقام التي ليست مضاعفات للـ 5، وتجنب الفاصلة الزائدة في النهاية. وللعلم يوجد حل آخر باستخدام قائمة لتخزين النتائج، فبدلاً من التحقق داخل الحلقة، باستطاعتك استخدام قائمة لتخزين الأرقام ومن ثم طباعة الأرقام مرة واحدة بفاصلة بين كل رقم: using System; using System.Collections.Generic; class Program { static void Main() { List<int> numbers = new List<int>(); for (int i = 1; i <= 100; i++) { if (i % 5 != 0) { numbers.Add(i); } } Console.WriteLine(string.Join(",", numbers)); } } -
السؤال غير واضح، ما المقصود؟ هل تقصد إلغاء خاصية منع نسخ النص من موقع معين؟ هناك إضافات للمتصفح تسمح لك بذلك. عامًة لو تقصد إزالة حماية النسخ (مثل تعطيل النقر بزر الماوس الأيمن ومنع سحب الصور) وتريد فعل ذلك بنفسك، فستحتاج إلى كود JavaScript لتعطيل بعض وظائف المتصفح التي تقوم بحماية المحتوى، ولكن يرجى ملاحظة أن تلك الممارسات غير قانونية أو غير أخلاقية إن كنت تحاول تجاوز حقوق الطبع والنشر أو الحماية التي وضعها مالك الموقع.
-
في الأكاديمية لا يتوفر ذلك،. وعامًة MQL5 (MetaQuotes Language 5) عبارة عن لغة برمجة مخصصة لتطوير الأدوات والبرامج المستخدمة في منصة التداول MetaTrader 5 (MT5) كما ذكرت. والتي تُستخدم بشكل واسع في أسواق المال لتداول العملات الأجنبية (فوركس)، الأسهم، العقود الآجلة، وعقود الفروقات (CFDs). ستجد على اليوتيوب شرح للنسخة Mql4 بالعربية، لكن MQL5 ستجد شرح بالإنجليزية.
-
تعلم سي شارب الحلقات التكرارية في لغة سي شارب #C
Mustafa Suleiman علق على مقال حسام برهان في لغة C#
جيد جدًا، نقوم أيضًا استخدام TryParse بدلاً من Parse لتجنب حدوث استثناءات في حالة إدخال قيم غير صحيحة. using System; class Program { static void Main() { Console.WriteLine("Please enter a positive integer:"); if (!int.TryParse(Console.ReadLine(), out int n) || n <= 0) { Console.WriteLine("Invalid input. Please enter a positive integer greater than 0."); return; } CalculateAndPrintFactorial(n); } static void CalculateAndPrintFactorial(int n) { int sum = 1; for (int i = 1; i <= n; i++) { sum *= i; Console.WriteLine(sum); } } } إن أدخل المستخدم قيمة أقل من أو تساوي 0، يتم عرض رسالة "n must be > 0" ويتم إنهاء التطبيق باستخدام return. و int.TryParse يحاول تحويل الإدخال إلى عدد صحيح، وفي حال فشل التحويل، يعود false ويتجنب حدوث استثناء. إن كانت القيمة المدخلة أكبر من 0، يتم تنفيذ الحلقة التكرارية لحساب وعرض القيم المتتابعة للمتغير sum. -
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس لمساعدتك بشكل أفضل. مع إرفاق مجلد المشروع بعد ضغطه لتفقده.
-
تقصد الصورة في معرض الأعمال أم الصورة الشخصية؟ عامًة الصورة الشخصية تستطيع تعديلها من خلال الرابط التالي: https://accounts.hsoub.com/settings?service=11
-
مايكروسوفت إكسل أحد البرامج التي لا غنى عنها لأي شخص يتعامل مع الحاسوب، فمهما كانت اهتمامتك ستحتاج إليه في وقت من الأوقات. لكن في حالك أنت كونك مهندس برمجيات، فلن تحقق استفادة منه إلا إن كنت تتعامل مع البيانات في مشروع معين مثلاً. لكن للاستخدام الشخصي فهو جيد جدًا كما ذكرت، تستطيع تنظيم أمور حياتك من خلال ملف معين وتخصيصه حسب الأمور التي تريد متابعتها وتنظيمها، وحتى في عملك ستحتاج أحيانًا إلى التعامل مع ملفات Excel. تفقد الموقع التالي وستجد الكثير من القوالب المفيدة: https://www.vertex42.com
- 2 اجابة
-
- 1
-
-
هناك وجهات نظر مختلفة، لكن في رأي الاستيعاب والحفظ مهمان في بداية التعلم، فالاستيعاب وحده لا يكفي، والتطبيق العملي يقوم بتثبيت ذلك الاستيعاب والحفظ بنسبة أكبر، وبعد ذلك لو نسيت بعض الأمور لا مشكلة وليس جميعها بالطبع، ومع التكرار ستترسخ لديك الأمور التي أنت بحاجة بشكل متكرر في المشاريع. وباقي الأمور تستطيع البحث عنها واسترجاعها لكونك قد استوعبتها من قبل وتستطيع استخدامها بدون مشكلة، والجميع كذلك. النقطة المحورية هي التطبيق العملي بمفردك، فلا يكفي التطبيق وراء الشرح فقط، وذلك أمر يتكاسل عنه الغالبية رغم أن الفائدة تكمن به. ستجد هنا تفصيل أرجو قراءته:
- 2 اجابة
-
- 1
-
-
صحيح، من أشهر الخوارزميات المستخدمة في التجميع Clustering نظرًا لبساطتها وسرعتها في التنفيذ، ولا يعني هذا بالضرورة أنها الأفضل في جميع الحالات، فهناك العديد من الخوارزميات الأخرى التي تكون أكثر فعالية حسب طبيعة البيانات والمشكلة التي تحاول حلها. مثلاً DBSCAN (Density-Based Spatial Clustering of Applications with Noise) تعتمد الخوارزمية على الكثافة ولا تتطلب تحديد عدد المجموعات مسبقًا، كما أنها قادرة على التعامل مع الضوضاء والعثور على المجموعات ذات الأشكال غير المنتظمة. ولديك أيضًا Hierarchical Clustering التجميع الهرمي، مفيد في الحالات التي ترغب فيها ببناء شجرة تراتبية من المجموعات، وتوجد أشكال مختلفة من التجميع الهرمي مثل التجميع المتراكم Agglomerative والتجميع التقسيمي Divisive. بجانب Gaussian Mixture Models (GMM) وتلك الخوارزمية تعتمد على النماذج الإحصائية وتستخدم لتقدير التوزيعات المختلفة في البيانات، وهي أكثر مرونة من K-Means في التعامل مع مجموعات البيانات التي تمتلك أشكالًا وتوزيعات مختلفة. بالإضافة إلى Spectral Clustering التي تستخدم لتحليل القيم الذاتية لمصفوفة التشابه لإنشاء مجموعات، وفعالة في اكتشاف المجموعات المعقدة في البيانات. أخيرًا خوارزمية Mean Shift التي تعتمد على تقدير الكثافة لتحديد مراكز المجموعات، ولا تتطلب تحديد عدد المجموعات مقدما.
- 3 اجابة
-
- 1
-
-
لن يتم السؤال في كل الأمور النظرية، مع التركيز بشكل أكبر على الجانب العملي والأمور النظرية الهامة بالنسبة للجانب العملي. أيضًا السؤال حول التطبيقات العملية التي قمت بها ومدى استيعابك، بعد ذلك سيتم تحديد مشروع عملي لك لتنفيذه كمشروع تخرج.
- 2 اجابة
-
- 1
-
-
أتفهم الظروف في دولة اليمن، لكن مجال البرمجة له طابع خاص، وهو أن الشهادة ليس لها وزن بشكل كبير، نعم هي دلالة على أنه الشخص اجتاز محتوى تعليمي معين ولديه مهارات معينة، لكن ليس بالضرورة أن ذلك صحيح. لذا يتم الإهتمام بالمهارات الفعلية وليس الشهادة، أي ما أنت قادر على تقديمه وتنفيذه في الواقع العملي وإثباته من خلال معرض أعمالك. في الأكاديمية لا يوجد ماجستير فقط شهادة إعتماد على إتمام الدورة وليس حضورها أي يتم منحها لن اجتاز الدورة بالفعل واستوعبها وأتم التطبيقات العملية.
-
بخصوص ذلك، أرجو التحدث لمركز المساعدة، فالأمور المالية أو تبديل الدورات يتم من خلاله. وفي حال هناك أمر تودي الاستفسار عنه أرجو طرحه.
- 2 اجابة
-
- 1
-
-
السن مناسب لا مشكلة، فالحد الأدنى هو ما بين 8 إلى 11 سنة، لكن دورة جافاسكريبت دورة متقدمة بعض الشيء، ستحتاج أولاً إلى دراسة دورة علوم الحاسوب. وكحل وسط، تستطيع تعلم أساسيات البرمجة من خلال سكراتش من أي مصدر، ثم الإشتراك بدورة جافاسكريبت هنا بالأكاديمية. ستجد تفصيل هنا:
-
بالطبع، لكن هناك أمر يجب توضيحه، علوم الحاسوب ليس الهدف منها تعلم مجال معين، بل التأسيس لمجال البرمجة بشكل عام بيحث تقف على أرض صلبة وتتفهم المفاهيم البرمجية وأساسيتها، والمجالات المختلفة للبرمجة وآلية عمل التقنيات وما الفائدة منها وتاريخها وهكذا. بحيث يتكون لديك مهارة التفكير المنطقي والقدرة على إتخاذ القرارات البرمجية على وعي. حيث ستتعلم التالي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب ما سبق سيفيدك بلا شك في أي مجال برمجي تختاره بعد ذلك، وبدونه ستواجه صعوبة في تفهم ما يحدث ويزداد الأمر صعوبة كلما ازدادت صعوبة المجال، فمجال الألعاب من المجالات الصعبة والتي بحاجة إلى مجهود أكبر وتأسيس جيد بالبرمجة. المقال التالي سيفيدك:
-
للتوضيح، ملف web.php هو لتعريف مسارات الويب العادية التي تتعامل مع الطلبات التي تأتي من المتصفحات، وتلك المسارات في العادة نستخدمها لتقديم صفحات HTML، وتعتمد على الجلسات sessions وحماية CSRF. بينما ملف api.php الغرض منه تعريف مسارات واجهات برمجة التطبيقات APIs التي تتعامل مع الطلبات التي تأتي من تطبيقات العملاء أو الخدمات الأخرى وليس من المتصفحات بشكل مباشر، وذلك لإرجاع البيانات بصيغة JSON ولا تعتمد على الجلسات وحماية CSRF. ومسارات الـ API تلك عديمة الحالة stateless، بمعنى أن كل طلب يتم معالجته بشكل مستقل عن الطلبات الأخرى، ولا يتم الاحتفاظ بأي معلومات عن المستخدم أو الطلب بين الطلبات المختلفة، فكل طلب يحتوي على جميع المعلومات اللازمة لمعالجته. ومن ضمن وظائف الـ API توفير وظائف أو بيانات معينة لتطبيقات أو خدمات خارجية، مثلاً يستطيع تطبيق التجارة الإلكترونية أن يوفر واجهة API للسماح لتطبيقات الجوال بالوصول إلى قائمة المنتجات، معالجة الطلبات، وما إلى ذلك.