بدايةً عليك معرفة أن:
1- اللغات المستخدمة لبرمجة تطبيقات Android مثل: Java/Kotlin
2- اللغات المستخدمة لبرمجة تطبيقات IOS : Swift/Objective c.
إذن لكل OS لغة خاصة به، مع ذلك لامانع من أن يشتركوا في قاعدة بيانات واحدة.
هذه العملية البرمجية تسمى: #Native.
وهي الطريقة الأفضل لكنها تستنزف الكثير من الوقت، وتكلفتها أعلى.
لذا نظرًا لزيادة عدد الأشخاص الذين يستخدمون الهواتف الذكية، أصبح من الضروري بناء تطبيقات تعمل على الواجهات؛ لكن يجب تصميم معظمها لاستخدامها،تستخدم مكتبة ReactJsلتطوير واجهة المستخدم.
5- أقرب في ادائها للNative.
6- إطار عمل أفضل؛ لتقليل وقت التطوير والكفائة في أداءه.
7- أكثر شيوعًا؛ حيث يستخدم من قبل: فيسبوك، انستجرام، اوبر، Skype.
8- تعتمد على “Third library” للوصول إلئ مكونات الجهاز مثل:Camera GPS: وهذا من عيوب ReactNative ؛لأنه قد يتوقف المشرفون الأساسيون على الحزمة عن العمل في أي وقت.
9- توفر الوقت والتكلفة وتدعم ميزة Hot Reload.
10- تعتمد على Third library في اختبار UI .
#IONIC:
1- أبتكرها Drifty Co عام 2013م
2- تستخدم مجموعة من تقنيات الويب مثل:JS, HTML, CSSمع المكون الإضافي كوردوفا لضمان تغليف التطبيقات داخل الحاوية الأصلية.
3- تم بناءها على AngularJs .
4- سريعة التطوير.
5- تملك شعبية كبيرة لانها سهله التعلم.
6- تستخدم في Sworkir, Pacific', Marketwatch .
7- تعتمد على Codova او Capactiorللوصول إلئ مكونات الجهاز.
8- أبطأ من React Naiveبسبب Wep App.
#Flutter:
1- تم إصدارها بواسطة Google عام2017م، مفتوحة المصدر.
2- تعمل بلغةالدارت اللتي تم إنشاءها عام 2011م والتي تعتمد على جافا بسبب دعمها لOOP .
3- غنية بالعديد من المكتبات، وتستبعد وجود Third library وتقدم تحديثات مستمرة.
4- تقوم باختبار التطبيقات علئ ثلاثةمستويات(unit ,widget,integration).
5- يستغرق وقتًا أطول للتطوير.
6- تم بها تطوير تطبيقات إعلانات جوجل وAlibaba .
7- توفر الوقت والتكلفة وتدعم ميزة Hot Reload .
8- ابتكرت حزمًا رسمية للوصول لمكونات الجهاز، حيث يمكنك الحصول علئ حزم مختلفة لأي مكون تريد الوصول إليه.