اذهب إلى المحتوى

السؤال

نشر

السلام عليكم .

السؤال للنقاش لمطوري تطبيقات الجوال
متل ما نعرف كلنا حاليا مافي مشروع برمجي يطلع الا و يطلب 3 امور
1- تطبيق ويب
2- تطبيق اندرويد
3- تطبيق IOS

بداية من سوق الكتروني او تطبيق بفكرة جديدة او مشروع اتمتة
سؤالي بالشكل التالي ...
وكل واحد من الأقسام الـ 3 شغله و مجاله مختلف كليا
الويب بدك لغات html , css , js , php , mysql الأكثر استخداما
الأندرويد الأنرويد ستوديو و لغته جافا
لـ IOS  بدك الـ Xcode و swift
3 مجالات و 3 اقسام كل واحد منها مختلف تماما

توفيرا للوقت و تسريعا للعمل فكرت ابحث عن حلول انك تشتغل التطبيق لمرة وحدة و تنشره على الـ 3
طبعا الحل الأفضل اننا نشتغل على يلي صار لنا سنيييييييين شغالين عليه يكون الاساس و هوة الويب
في الـ phoneGap يزعم انو تشتغل كله ويب و يحوله لتطبيق بس صراحة ما بثق انو فيه كل القدرات متل لما تشتغل تطبيق ببيئته
في خدمات تانية متل يلي تحول موقع وورد بريس لتطبيق مع كل الأضافات مو بس انها تسحب RSS افضلها AppPress
لسع ما اختبرته كامل ... السؤال له فترة يحيرني

و اكيد ايا شخص مطلع على المجال يعرف انه المستقبل القريب
رح ننسى شي اسمه تطبيق اندرويد و تطبيق ايفون
لان تطبيقات الويب رح تصير هية الكل بالكل طبعا مو تطبيقات الويب يلي نعرفها حاليا
تطبيقات الويب المبنية على النسخ المتقدمة من الـ HTML و الـ CSS و اهم شييييييي الـ JS
تطور الJS كبير جدا و مع الnode.JS MongoDB رح ننسى شي اسمه PHP & MYsql
حاليا في مواقع بلشت تعتمد جافا سكريبت بالكامل برمجة قواعد بيانات بس باقي شوي CSS للمظهر و html للمحتوى فقط
بس حتى نصل لهداك الوقت

شورايكم بخصوص التطبيقات و تسريع مخطط الشغل لها ؟

Recommended Posts

  • 1
نشر (معدل)

وعليكم السلام ورحمة الله وبركاته.

سؤال جميل ومن واقعنا اليومي كمطورين، واتفق معك بكل ما قلته.

سأحاول الكتابة بشيء من التفصيل كي يستفيد اكبر عدد ممكن من المطورين

بداية دعني اعلق على مجموعة نقاط، ثم اعطيك وجهة نظري، والتي ستفيدك ان عملت عليها بشكل جيد:

1. PhoneGap تقنية جميلة في تطوير تطبيقات الجوال بشكل سريع وعلى جميع المنصات، وهو ليس بالضبط عمل موقع ويب وتحويله لتطبيق جوال، بالعكس هذا النوع من التطبيقات يسمى Hybrid أو هجين، يسمح لك بدمج تقنيات الويب مع التقنيات المخصصة لكل منصة، مثلا ( يمكنك استخدام الكاميرا، GPS, Contacts, Notifications) وغيرها الكثير وكله باستخدام جافا سكربت، وثق انها ستعمل جيدا على جميع المنصات، ولي تجربة جميلة معها. لكن يبقى هذا النوع من التطبيقات مفيد في حالات معينة وأخرى لا، خصوصا تلك التي تعتمد على الجهاز وعتاده مثل الالعاب والفيديو وغيرها.

2. مكتبات الجافا سكربت جميلة ومريحة (وكثيرة جدا) واهمها ربما AngularJS، ويمكن استخدامها مع تطبيقات الجوال، مثل تقنية Ionic، التي تعتمد على PhoneGap + AngularJS

 3. لن ننسى شيء اسمه تطبيقات اندرويد وايفون، تكنولوجيا الويب قوية ويمكن توظيفها، ولكن لا يمكن التنبؤ بمستقبل التكنولوجيا، لا ننسى Nokia التي اختفت فجأة، وربما تختفي التكنولوجيا التي بين ايدينا اليوم لندخل عالم اوسع واشمل، فالأفضل حالياً الاستفادة من المصادر والتكنولوجيا المتوفرة بالشكل الأمثل.

بالنسبة لوجهة نظري، وبعد تقسيم التطبيقات او الحلول البرمجية إلى ثلاثة اقسام رئيسية:

1. تطبيقات الويب

2. تطبيقات سطح المكتب

3. تطبيقات الجوال

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

1. تطبيقات الويب: باستخدام ASP.NET طبعا هناك ثلاث تقنيات لها (WebForms, MVC, WebPages) الافضل بالتأكيد هي MVC، بالتالي تطوير تطبيق الويب باستخدام لغة سي شارب، وبنفس مفاهيم MVC يمكنك  ايضا تطوير خدمات الويب مثل (Web API) والتي ستقوم التطبيقات الطرفية (Desktop, Mobile) لاحقا باستهلاكها.

2. تطبيقات سطح المكتب: باستخدام السي شارب مرة اخرة لكن مع تقنية جميلة مثل WPF، والتي تمكنك من انشاء تطبيق سطح مكتب بدرجة عالية جدا من الجمالية والكفاءة في حال تم استخدامها بالشكل الصحيح (احد الاشكال الصحيحة هو استخدام نمط التصميم MVVM) واذا لم تجربها من قبل، انصح الان بترك المقالة والبدء بها.

3. تطبيقات الجوال: كلمة السر في عالم البرمجة والتطبيقات هي تطبيقات الجوال، يمكننا ايضا تقسيمها إلى ثلاثة اقسام رئيسية:

  • Native Application
  • Hybrid Application
  • Cross-Platform Application

بالتأكيد لديك فكرة عن كل تقنية منها، والافضل بلا منازع من حيث الكفاءة هي تطبيقات Native، ومن حيث السرعة وتوفير الوقت والجهد هي تطبيقات Hybrid و Cross-Platform. لذلك علينا الاختيار؟ لكن ماذا لودمجنا Native مع Cross-Platform مع السي شارب؟ نحصل على التقنية الجميلة Xamarin

نعم يمكنك تطوير تطبيق جوال واحد يعمل على جميع الأجهزة وبشكل Native، يعنى باستخدام جميع التقنيات الموجود في كل منصة وبنفس الكفاءة، وبلغة برمجة واحدة هي السي شارب، لا تنسى أن مايكروسوف قامت بشراء شركة Xamarin عام 2016 وطرحت هذه التكنولوجيا بشكل مجاني في النسخة الجديدة من Visual Studio

الجميل في هذه التقنية انك تعمل ضمن Visual Studio ولا تغادره، والفكرة تقوم على أن تستخدم كود مشترك على المنصات الثلاث (Android, iOS, Windows Phone)، الكود المشترك يقصد به كود خدمات الويب وادارة البيانات وغيره، يبقى لديك العمل على كل منصة لتطوير الواجهات فقط، واستخدام الكود المشترك لقراءة وتنظيم البيانات، وقد تصل نسبة الكود المشترك إلى 60 او 70 بالمئة او ربما اكثر. لكن يبقى لديك جزء يجب ان تقوم بعمله على كل منصة، وهو ما يتطلب معرفة مسبقة بلغات تلك المنصات، لكن لن تغادر السي شارب انطلاقا من مبدأ في تقنية Xamarin يقول ( ما تستطيع عمله بلغة الجافا او Objective-C او Swift يمكنك عمله باستخدام السي شارب).

 

لكن ماذا لو دمجنا Xamarin مع WPF ونمط التصميم MVVM، سنحصل على التقنية الجميلة ايضا Xamarin Forms، والتي من خلالها يمكنك تطوير الواجهات على جميع المنصات مرة واحدة باستخدام Xaml، او باستخدام سي شارب نفسها. والكود المشترك اصبح 100 بالمئة!!!

بالتالي لغة واحدة لجميع طيف التطبيقات الواسع، ولا ننسى ان .NET  اصبحت مفتوحة المصدر وتعمل على جميع انظمة التشغيل، واذا كان لديك جهاز ماك، قم بتثبيت نسخة Visual Studio for Mac.

اخيراً او ان الفت الانتباه ان هناك توجه لتوحيد منصات العمل بل اصبح رغبة لدى الافراد والشركات على حد سواء، وهو ما تقوم به مايكروسوفت بشكل اكبر من باقي الشركات الأخرى.

 

بالتوفيق،،،

تم التعديل في بواسطة طارق جهاد
  • 0
نشر

شكرا اخ جهاد على الأفكار و ايضا على توضيح بعض النقاط للقارئين ممكن لاني حاولت اختصر قدر الأمكان كان هاد على حساب المعنى

قريت كتير عن موضوع المقارنات بين الأنواع الـ 3

Native Application

Hybrid Application

Cross-Platform Application
ايام زمان و اخترت الناتيف لسبب ان اغلب المشاريع يلي تكون لزبون محدد مثل تطبيق داخل مطعم او لعيادة الخ ممكن تخلص بالكامل على الأندرويد وخاصة ان الأندرويد جافا لغتنا يلي صار لنا سنين شغالين عليها بالأضافة لكل التعقيدات يلي كانت قبل فقط لتجهز البيئة للأندرويد مع القيود على بعض الدول هلاء فقط انرويد ستوديو و SDK و انطلق ... بس حاليا في فترة الأشهر الماضية مع التطور الحاصل بالأضافة لكون تطبيق الموبايل شي اساسي مع متطلبات عالية اعدت البحث عن الموضوع صراحة الـ phoneGap ما اقتنعت فيه مع اني بحب ادوبي بس لاسباب كتير مكاتب الجافا حاسسها طفرة ولسع بدها الكثير من الوقت لتصل لمرحلة استقرار اساسية
ميكروسوفت و الـ MVC درستها و اشتغلت فيها من ايام كانت جديدة بالفعل رائعة و منطق متقدم بالنسبة لوقته وهلاء صار ستاندر

رح استفيد من نصيحتك بخصوص الـ Xamarin Forms
حاليا شغال على Unity للألعاب و صراحة شايفها اروع منصة العاب تقدم لي كل شي لازمني حتى افضل من الناتيف مع توفير هائل بالوقت يضل لاضعاف و الأحلى كونها C#
وكون الـ Xamarin Forms كمان C# بكون بضرب عصفورين بحجر و بستفيد من خبرتي بالقديمة بالـ C# من ايام تطبيقات الديسك توب

يبقى الويب بشكله التقليدي اتمنى الجافا سكريبت تصل لتطور و حالة استقرار عالية لنقدر نقول وداعا للـ PHP و الـ SQL

تحياتي

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...