أقصد بالمشاكل، حجم التطبيق من ناحية الذاكرة اضافة للسرعة وغيرها من الحسنات
ان كان كذلك فما التقنيات المستعملة؟
قمت بانشاء تطبيق كامل باستخدام لغة Kotlin و المكتبة البرمجية Anko
و قد كتبت موضوعاً حيال هذا الامر في موقع «كودنا» هنا:
ممتاز، كنت سأضع تعليقك في المفضللة لكن تذكرت أنّ هذا الموضوع موجود في صفحتي 3: أشكر isaac_khriem123 على استدعائك
هل تنصح ببعض المصادر لأتعلم منها؟ (لا مشكلة لدي ان كانت المصادر انجليزية أو فرنسية)
شخصياً لم أتعلم سوى من المصادر الرسمية، و قد وجدتها شافية و وافية ...
جافا : تطبيق عالي الجودة , سهولة إيجاد حل المشاكل البرمجية , مجتمع مبرمجين كبير جداً
كوتلن : تطبيق بسيط ومميز , برمجة مختصرة وبدون الكثير من الأكواد , مجتمع مبرمجين صغير
C++ : تطبيق سريع جداً , برمجة مناسبة للمشاريع الضخمة والمعقدة , مجمتع مبرمجين متوسط
جميع اللغات أعلاه متوافقة مع أندرويد ستوديو كبيئة للتطوير.
اخي سرعة التطبيق تعتمد على اساسك في البرمجة كل ما كان اساسك قوي كل مكان تطبيقك جيد
للاسف ارى الكثير من الشباب فقط يتعلم أساسيات لغة البرمجة ثم يتعلم اندرويد استوديو او اي منصة
ولم يقوي أساسه في اللغة كيفية اختصار الكود وكيف يحل المشاكل
بكل صراحة قبل عام ونصف تعلمت جافا من دورة محمد عيسى أكثر من مرة كرر هذا الكلام كل ما كان اساسك قوي وكودك مختصر كل مكان تطبيقك جيد وسريع
صحيح اني لست ذاك المبرمج الخبير
لكن ولله الحمد احاول قدر الإمكان التركيز في اختصار الكود ولا استخدم دوال و كم هائل من الاكواد
بدون فائدة وتجعل التطبيق مرة بطيئ و يستهلك موارد الجهاز
سرعة التطبيق تعتمد على لغة البرمجة والتقنيات المستعملة أيضا قبل الوصول للحديث عن الشفرة البرمجية حتى!! وهذا ما أركز عليه في هذا الموضوع
و ايضا انت قلت تريد البرمجة بي kivy بصراحة هذا الفريمورك جدا سيء ولن ارى له تطبيقات ناجحة لكن انا مثلك عملت بحث لان حاب اطور لكل المنصات وجدت هذه المنصات التي تعتمد على لغات الويب
flutter تعتمد على لغة dart
لم ارى لها تطبيقات ناجحة لكن يقال انها سوف تحطم منافسيها
ionic تتعمد على html css JavaScript and angular
بكل صراحة يقال عنها تنتج تطبيقات بطيئة لكن انا رأيت تطبيق مرة احترافي يعمل على كل المنصات وغيرت نظرتي عن هذا الفريمورك وخاصة اني رأيت مبرمج محترف يعمل بها ويقول انا لا ارى فيها عيب وتطبيقاتها جدا نيتف
و هوا الآن يعمل في شركة في دولة خليجية و يطور بها لو كانت فيها عيوب ما كان يعمل في شركة ويطور عبرها
أيضا وجدت react native
وتعتمد على html css JavaScript and react
وبصراحة فريم ورك مرة جيد وخاصة الفيسبوك هيا من عملته وكل تطبيقاتها مطورة به و أيضا رأيت تطبيقات لها ملاين التحميلات تم تطويرها عليه
و في نظري لو تدخل في نقاش مع أي مبرمج راح يقلك هذا سريع هذا بطيى كل شخص يرى منصته هيا الافضل
لازم نسأل مجرب عشان نجد اجابات من شخص له تجربة في الشيء
حاليا انا اتعلم ionic
لو يأتي أي شخص يعطيني فيها عيوب لن اسمع منه لان رأيت أكثر من مجرب من اهل الخبرة ولديهم منتجات منها ولا ارى فيها عيوب
بوركت على هذا الرد، كلامك لا غبار عليه لهذا طرحت السؤال هنا ليرد علي من جرب.
قرارك بالبقاء مع ionic مهما كان هو نفس قراري مع kivy قلت فلأكتشف الحقيقة بنفسي لكن للأسف لا يريد أن يتنصب على جهازي XD
من بناء المشاريع وتعلم كل مرة سيناريو معين مثلا سيناريو تسجيل الدخول,سيناريو تسجيل...الخ
وايضا من التعديل على الاكواد مفتوحة المصدر وتطويرها
كنت ابحث في جوجل او اشتري اكواد لتطبيقات من موقع codecanyon يمكنك ايضا ايجاد تطبيقات في
بصراحة لن افكر في عمل تطبيقات ios بالكوتلين حاليا
صحيح يمكنني استخدام مكتبات الاوبجكتيف سي لكن مازال الحال بعيد
بالنسبة لاطر العمل الاخرى التي تمكننا من عمل تطبيقات لكلا المنصتين ساستخدم اي واحد لا يعتمد على تقنيات الويب مثل كوردوفا او فون غاب
و الافضل حاليا هم : فلاتر - رياكت ناتيف - زامرين
و هذا ترتيبي الشخصي لهم :
ترتيب حسب اهمية الشركة في المجال فجوجل هي الاقوى فهي تتنتج هواتف و انضمة تشغيل للهواتف فالترتيب سيكون :
1.فلاتر من جوجل
2.زامرين من مايكروسوفت
3.رياكت ناتيف من فيسبوك
ترتيب حسب حجم الدعم و الشروحات و التوثيق اي من لديه اكبر مجتمع :
1.رياكت ناتيف بسبب جافا سكربت
2.زامرن بسبب سي شارب
3.فلاتر بسبب دارت
ترتيب حسب الاداء و هذا اما حسب البنش ماركين للغة او حسب طريقة الرسم المتبعة :
1.فلاتر - محرك سكيا و الرسم مستقل عن النضام
2.رياكت ناتيف - عن طريق الجسر
3.زامرين
ترتيب حسب اكثر اداة سرعة في الانتاجية و عمل البروتوتايب:
1.فلاتر - بسبب الهوت ريلود و عدم استخدام لغة اخرى لتصميم الشاشة
2.رياكت ناتيف - بسبب الهوت ريلود
3.زامرين - اذا كنت تجيد XAML سيكون الامر اكثر سرعة
ترتيب حسب دعم اكبر قدر من الخصائص * حاليا* :
1.زامرين
2.رياكت ناتيف
3.فلاتر
ترتيب حسب جمال التصميم و تنسيقه:
1.فلاتر
2.زامرين
3.رياكت ناتيف
ترتيب حسب سهولة الوصول للنضام :
1.زامرين عن طريق DependencyService
2.رياكت ناتيف الوصول الى النضام عن طريق لغته الاصلية باستخدام Native Modules لكن تم القيام بتغليف الكثير من الجوال من طرف مجتمع رياكت ناتيف
3.فلاتر كتابة كود البلاتفورم بلغة البلاتفورم الاصلية عن طريق platform channels لكن لا حاليا لم يتم دعم الكثير من الدوال
لقد مسحت أنحاء الويب كله الأيام الفائتة ولم أصل لشيء مرضي أي لغة واحدة + اطار عمل واحد يكون عابر لكل المنصات، مجاني وله شروحات والتطبيق يكون ك native من حيث الأداء.. ببساطة لم أجد واحد يلبي هذه الشروط حتى هذه اللحظة
هل تقصدني أنا بتعليقك؟؟
ان كان كذلك فالجافا هي أول لغة حاولت تعلمها ولم أستطع أن أنسجم مع ستايل الsyntax الخاصة بها وكثرة الأسطر البرمجية مقارنة بلغات أخرى أما السي# فألقيت نظرة على برنامج هيلو وورلد مكتوب بها ولم أرى فرقا كبيرا بينها وبين الجافا خصوصاً أنها من مايكروسوفت "أنا لا أرتاح لكلتاهما"
React Native
Nativescript كلاهما جافاسكربت، لكن الاولى تحتاج معرفة بإطار React
من الصعب وجود ما تبحث عنه دون التضحية بقليل من الأداء بالطبع،
يمكنك استخدام C++ في كل شيء تقريبا -حتى الويب والهواتف بـNDK- لكن هل سيكون بجودة اللغات الـNative الخاصة بكل منصة؟ لا طبعا.
لذا لا تضيع وقتك في البحث عن اللغة/الإطار الافضل لكل شيء.
لقد دوخونا بكل هذه الخيارات @_@ لكني في نهاية الأمر اتخذت قراراً نهائيا لارجعة فيه ان شاء الله وهي كوتلن لتطبيقات الهاتف فحسب لا مواقع ولابرامج سطح مكتب ولا ألعاب ولا الخ
كما يقول المثل "عصفورٌ في اليد خيرٌ من عشرة على الشجرة" 8)
أقصد حجم التطبيق وأدائه عند المستخدم، مثلا قرأت من بعض المقالات أن تطبيق بسيط كhello world فقط قد يكون حجمه 100 ميغا لو برمجته ببياثون + kivy وهناك تقنيات قد تجعل تطبيق بسيط يستنفذ بطارية الهاتف بشكل سريع كاستخدام فريمورك موجه لصناعة الألعاب وصناعة تطبيق gui به.. وهناك وهناك..
هدفي من السؤال، هل جرب أحد بناء تطبيق هاتف بلغات كبايثون، جافاسكريبت أو c++.. متجاوزا المشاكل التي أشرت اليها.. ان كان كذلك فليذكر لغة البرمجة مع أطر العمل المستخدمة فيها :)
كنت أولا أريد تعلم لغة واحدة لكل شيء، وفي الأخير عند تخطي مرحلة الأساسيات بين بايقون و سي++ انصدمت بالحقيقة عند البحث عن اطار عمل يتناسب مع توجهاتي،
cross platform
free
community support
لم أجد واحد يلبي هذه الشروط.. خصوصا بايثون فكل التطبيل لها أنها تفعل كل شيء.. الحقيقة هي تفعل كل شيء لكن الجودة ليست عالية "حسب البحوثات التي قمت بها"
جربت رغم ذلك استخدام kivy معها، لكن قضيت يوم كامل ولم أستطيع تنصيبه في جهازي Ubuntu 17.10 ثم اكتشفت ان الكثيرون يواجهون نفس المشكلة! فلعنتها ولعنت الوقت الذي قضيته في تعلمها
التعليقات