عندما تقوم ببناء تطبيق جوال يحتوي على بيانات فإنك تحتاج لمكان لتخزن فيه لذا لديك ثلاث خيارات :
- استخدام الملفات
- قاعدة بيانات محلية local storage / sqlite
- استخدام ملفات بformat محددة مثل json - xml
- استخدام web service خارجي
سأشرح في هذا الثريد كل طريقة باختصار ?
- استخدام الملفات
- قاعدة بيانات محلية local storage / sqlite
- استخدام ملفات بformat محددة مثل json - xml
- استخدام web service خارجي
سأشرح في هذا الثريد كل طريقة باختصار ?
1 - استخدام الملفات :
تستخدم هذه الطريقة للتطبيقات البسيطة التي تقوم بعرض بيانات قليلة او لحفظ اعدادات تطبيق ولاتحتاج استعلامات query معقدة وليست تشاركية بين مستخدمي التطبيق اوتحتاج تحديث دوري مباشر ، مثلا تطبيق لعرض الاذكار او لعرض نصائح حمية وغير ذلك..?
تستخدم هذه الطريقة للتطبيقات البسيطة التي تقوم بعرض بيانات قليلة او لحفظ اعدادات تطبيق ولاتحتاج استعلامات query معقدة وليست تشاركية بين مستخدمي التطبيق اوتحتاج تحديث دوري مباشر ، مثلا تطبيق لعرض الاذكار او لعرض نصائح حمية وغير ذلك..?
2- قاعدة بيانات محلية local storage / sqlite
تستخدم sqlite عندما يكون لديك بيانات كبيرة وايضا ليست تشاركية بين مستخدمين ويمكن عمل استعلامات لجلب بيانات بكل سهولة (مثل mysql) عن طريق لغة استعلام sql لكنها خاصة بsqlite مثلا تطبيق لكتاب ما (كمثال تطبيق مكتبة شيخ عثيمين رحمه الله).?
تستخدم sqlite عندما يكون لديك بيانات كبيرة وايضا ليست تشاركية بين مستخدمين ويمكن عمل استعلامات لجلب بيانات بكل سهولة (مثل mysql) عن طريق لغة استعلام sql لكنها خاصة بsqlite مثلا تطبيق لكتاب ما (كمثال تطبيق مكتبة شيخ عثيمين رحمه الله).?
بالنسبة لlocal storage غالبا تستخدم للداتا الخفيفة والاستعلام السريع حيث يعتمد على مبدأ Key/Value ويستخدم في تخزين قيم متعلقة بالمستخدم او اعدادت التطبيق الذي اختاراها المستخدم او حالة المستخدم (مسجل دخول او لا ) وايضا token للاتصال مع api خارجي او اذا مفعل وضع ليلي..الخ..?
3 - استخدام ملفات لكن بفورما محدد مثلjson - xml :
هذه الطريقة مماثلة للطريقة الاولى الفرق انك عند القراءة او الكتابة يجب ان تتبع نمط وformat محددة وباستخدام parser الذي يحول داتا خاصة بك كمصفوفة الى بنية xml او json حسب الملف الذي تتعامل معه وايضا عند تعامل مع format محددة..?
هذه الطريقة مماثلة للطريقة الاولى الفرق انك عند القراءة او الكتابة يجب ان تتبع نمط وformat محددة وباستخدام parser الذي يحول داتا خاصة بك كمصفوفة الى بنية xml او json حسب الملف الذي تتعامل معه وايضا عند تعامل مع format محددة..?
فإنها تستهل عليك جلب داتا وايضا عملية البحث فعن طريق parser بعد قراءة ملف وتمريره لparser يحوله الى مصفوفة array اوكائن object،ويمكنك تطبيق مختلف دوال القراءة وكتابة والبحث الخاصة بobjects او arrays التي توفرها اللغة البرمجية وهذا بالطبع افضل من استخدام ملف عادي،ويمكنك القيام..?
بعمليات بشكل افضل واسرع.
4 - استخدام web service :
تعتبر هذه الطريقة هي الشائعة في اغلب التطبيقات ذات داتا التشاركية حيث يتم بناءapi خارجية على سرفر وتحتوي كافة العمليات من اضافة وحذف وتعديل وقراءة،والتطبيق فقط وظيفته ارسال requests لهذا الapi بماذا يريده ويرجع له الresponse.?
4 - استخدام web service :
تعتبر هذه الطريقة هي الشائعة في اغلب التطبيقات ذات داتا التشاركية حيث يتم بناءapi خارجية على سرفر وتحتوي كافة العمليات من اضافة وحذف وتعديل وقراءة،والتطبيق فقط وظيفته ارسال requests لهذا الapi بماذا يريده ويرجع له الresponse.?
المناسبة على حسب طلبه.
تستخدم هذه الطريقة في كل تطبيق يحتاج لتفاعل مع طرف اخر مستخدم للتطبيق او مشارك في نفس الخدمة (ادارة التطبيق adminstrator ) لذا لايمكن بحال من الاحوال الوصول مثلا الى تسوق منتجات او تواصل مع مستخدمين او القيام بعملية طلب منتج الا لما يكون هناك مكان..?
تستخدم هذه الطريقة في كل تطبيق يحتاج لتفاعل مع طرف اخر مستخدم للتطبيق او مشارك في نفس الخدمة (ادارة التطبيق adminstrator ) لذا لايمكن بحال من الاحوال الوصول مثلا الى تسوق منتجات او تواصل مع مستخدمين او القيام بعملية طلب منتج الا لما يكون هناك مكان..?
واحد يشترك فيه كل المستخدمين فيه وذلك من اجل معرفة الداتا التي قام بتخزينها الاخرون وهذا المكان هو قاعدة بيانات على سرفر والوسيط هو api الذي يوصل استعلامات مستخدمي التطبيق الى سرفر ليقوم بعمليات CRUD* وايضا يوصل response وهي نتيجة الاستعلامات المرسلة ويرجعها على format محددة..?
ايضا يمكن الجمع بين طريقتين مثلا استخدام قاعدة بيانات محلية وapi خارجي وذلك لتنفيذ مبدأ ال(offline/online) ويتم المزامنة بين قاعدة بيانات المحلية وapi ويتم قراءة من api في حالة توفر الاتصال وفي حالة انقطاعه يقرأ من قاعدة بيانات محلية وعرض البيانات التي تم مزامنتها قبل الانقطاع.?
وذلك تفاديا لتوقف التطبيق وتعطله عند انقطاع الاتصال.
ارجوا ان اكون قد كفيت ووفيت ?.
*CRUD (Create , Read , Update , Delete)
مصادر قد تهمك :
ماهو web service api؟
ماهي adminstrator في تطبيق جوال ؟
#مفاهيم_برمجية
#تطوير_التطبيقات
ارجوا ان اكون قد كفيت ووفيت ?.
*CRUD (Create , Read , Update , Delete)
مصادر قد تهمك :
ماهو web service api؟
ماهي adminstrator في تطبيق جوال ؟
#مفاهيم_برمجية
#تطوير_التطبيقات
هل كان الشرح واضح ؟
جاري تحميل الاقتراحات...