عمل برنامج يتوافق مع جميع الانظمه اندوريد وايفون وويندوز وويب
- shenosheno2008
- 2014-02-23T22:12:41+00:00
هل من الممكن عمل برنامج او حتى bussines layer تكون متوافقه مع جميع الانظمه السابقة
يعنى بدل ما اعمل البرنامج منه نسخه اندوريد ونسخه ايفون ونسخه ويندوز ونسخه ويب
زى youtube
هل هناك قاسم مشترك ما بين الانظمه الاربعه السابقة نقدر نصصممه ويستخدم من خلال الاربع الاشياء السابقه
هناك حلول بالطبع وسطية تمكنك من الانتقال بسرعة الى منصات أخرى,
مثلا Embarcadero Delphi و Embarcadero C++ Builder XE5,
الDelphi يمكنك عبر استخدام FireMonkey Framework من استهداف منصات ويندوز و ماكنتوش و IOS و اندرويد بنفس الكود عبر اعادة ترجمة الكود لكل منصة.
C++ Builder XE5 يدعم IOS و MacOS و Windows و لكن ليس هناك دعم للاندرويد بعد.
الEmbarcadero أفضل فى هذا المجال لأنه يولد اكواد native عبر اعادة ترجمة الكود لكل منصة على حدة و ليس عبر virtual machine مثل الجافا او ال.net, و تقوم مكتبة FireMonkey المتعددة المنصات بعمل عزل لAPI الخاص بكل نظام أو منصة عن البرنامج الخاص بك.
طبعا اذا كنت تنوى كتابة برنامج يعمل على عدة منصات يجب عليك ان تتخلى عن بعض الاشياء مثل :
عدم استخدام Windows API بأى شكل من الاشكال, و الالتزام بمكتبة FireMonkey فقط.
عدم استخدام اى اختصارات و كود مباشر خاص بنظام معين, مثلا وضع الملفات فى C:\Windows و الذى هو بطبيعة الحال غير موجود فى MacOS مثلا!
تجربة البرنامج لكل نظام على حدة بشكل جيد, لأن هذه سكة محفوفة المخاطر, كل نظام له خصائصة و استجابته المنفصلة لكود معين, و هناك مشاكل غير متوقعة قد تظهر مع تعقد البرنامج.
هل عندك مصادر تعليميه
Embarcadero C++ Builder لو امكن
متفق معاك,
لغة الباسكال المستخدمة فى دلفى شعبيتها قليلة للغاية و تقريبا الدلفى هو المنتج الوحيد المكتمل الذى يعتمد عليها (هناك فرى باسكال لكنه مازال منتج غير مكتمل), هذا لا يمنع ان باسكال لغة قوية و لا تقل كثيرا عن السى++,
لذا فان سى++ بيلدر خيار أفضل لو أردت نقل الكود على بيئة تطوير أخرى غير Embarcadero.
على حسب خبرتي، هذه البرامج تصمم تطبيقاً جديداً على كل نظام يختلف عن الاخر ولكنها تستخدم نفس قاعدة البيانات.
تمام : انا عايز اعرف ايه الى ممكن يكون مشترك ما بينهم كلهم اقدر اعمله بحيث يتعمل مره واحده
لتقوم بهم مرة واحدة، اصنعهم على شكل موقع، ويصبح متوافقا مع اي شيء يقرء html
طبعا html هيكون متوافق مع الجميع
انا عايز يكون هناك برنامج على الاندوريد والايفوون والويندوز ده غير الويب
مثال عندك youtube وبرامج كتيره
لكن حسب ما اعرف تطبيق يوتوب يملك نفس المفهوم ونفس الواجهة في كل المنصات، لكن لغات مختلفة
لان اندوريد لا يدعم اوبجيكتف سي ولا ios يدعم الجافا والدوت نت، ببساطة لا توجد لغة تجمعهم، عليك ان تترجم التطبيق لكل لغة فحسب، لكن المفهوم يبقى واحد
انا استخدم هذا الحل حالياً sencha touch وهي عبارة عن framework مجانية بسيطة للبرمجة بصيغة HTML5 وال javascript, Jquery Mobile, ولديهم ايضاً IDE ولكن مدفوع واسمه Sencha Architect.
وبالاخير ماعليك الا ان تقوم بعمل تعديلات طفيفة ليتناسب مع المنصة المراد العمل بها, شخصياً الى الان استخدمتة للبرمجة لمنصة الاندرويد والايفون ولم اجربة على الويندوز ولكن يمكن تطبيقة ايضاً على الويندوز.
اامل ان اكون افدتك اخي العزيز.
ممكن فكره عنه
لماذا
ممكن تستخدم الفلاش، ملفات swf تقدر تشغلها على اي نظام وعلى الويب ايضا
ملفات الفلاش قد اكل عليها الدهر وشرب, والان حتى في المواقع يتم استخدم تقنيات جديدة مثل microsoft silverlight و HTML5
ومن جهه اخرى ملفات الفلاش اصبحت غير امنه حيث انه يمكن استغلالها وحقنها بالسكريبتات الخبيثة.
fadi.alaswadi @ اعتقد انك لا تعرف ماهي Adobe AIR ولم تتعامل من قبل مع Flash Builder كذلك لم تجرب محاكي ادوبي Adobe Device Central ، وربما لم تسأل نفسك لماذا اليوتيوب لازال يستخدم الفلاش منتهي الصلاحية الى الان، وايضا لماذا لعبة العرب المشهورة على الفيسبوك ( المزرعة السعيدة ) تستخدم الفلاش وغيرها الاف الالعاب على الفيسبوك، وايضا لم تستغرب ان اشهر شبكات التواصل الاجتماعي ( فيسبوك - تويتر ) دعمت مطوري الفلاش وقدمت لهم API خاصة بمنصة الفلاش بينما لغات اخرى لم تدعمها، حتى أبل العدو الاكبر للفلاش لا تستطيع الاستغناء عنه بشكل نهائي ولاتزال اغلب العاب ال IOS مبنيه بالفلاش، قولو ادسنس ايضا لاتزال تستخدم الفلاش في اعلاناتها، وبمناسبة قوقل اظنك سمعت ببرنامج قوقل الجديد Web Designer المخصص لبناء تطبيقات HTML5 هذا البرنامج له شقيق اكبر منه وافضل منه من صنع Adobe يدعى Adobe Edge Animate مخصص لبناء تطبيقات HTML5 نفس افكار الفلاش تستطيع تطبيقها بهذا البرنامج لكن المخرج يكون HTML5 ولن تجد IDE تستطيع التعامل مع Canvas بسهولة وبإتقان مثل هذا البرنامج.
عزيزي من الاجحاف ان ننهي الفلاش وهو لايزال يمتلك كل هذه الشعبية والقوة، انا لا ألومك بصراحه لان هذه نظرة اغلب من لم يتعامل مع الفلاش من قبل ويعتمدون على تصديق الاقاويل، لا اريد ان اخوض في نقاش صراع تقنيات لكن اتمنى قبل ان نحكم على اي تقنية ان نفهمها بشكل جيد ثم نحكم عليها بمنظور علمي وليس افتراء لان هذا يؤثر على مطوري هذه التقنية، ادعوك لقراءة هذه المقالة لاخذ لمحة عن منصة الفلاش ومعرفة بعض دهاليزها :
شوقتنى اقرا عنه
جوابك رائع اخي محمد, لكن للاسف اعتقادك خاطي باني لا اعرف Adobe Air و Flash Bulider بالحقيقة استخدمتهم خصوصا الفلاش بليدر ولمدة قصيرة فقط وذلك لسبب قصور كبير في ال APIs والتعامل مع الاجهزة داخل التلفونات, خصوصاً وان الفلاش بيلدر او مايسمي بال Flex يسخدم ال phonegap, على العموم وجهه نظري كانت بان الفلاش SWF لايستخدم في برمجة تطبيقات الهواتف الذكية, وان لغة ال HTML5 هي السائدة اليوم في برمجة الويب للهواتف.
وجهه نظرك جميلة عن الفلاش كتقنية ولكن مخصصة لبرمجة في عالم الويب ولكن ليس للهواتف الذكية, اما عن الافتراء عن الفلاش فلا اعتقد انني افتريت على تقنية الفلاش بانها اصبحت غير امنه ففي كل شهر تقريباً نجد ثغرة جديدة في الفلاش,
Flash Bulider يستخدم لغة Actionscript و إطار Flex framework اما PhoneGap اطار عمل اخر صحيح انه من انتاج ادوبي لكن لا علاقة به مع Flash Bulider.
عندما تذكر HTML5 صدقني لا احد يستطيع استغلال امكانيات هذه اللغة أفضل من مطوري الفلاش، حتى اول لعبة تم بناءها بالـ HTML5 كان صحابها مطور فلاش وابحث عن العاب HTML5 ستجد ان اغلبية مبرمجيها لهم خلفية فلاشية.
دعني اوضح لك بعض المفاهيم عن HTML5 والفلاش.
اولا الفلاش يصلح لبرمجة تطبيقات ممكن اسميها خدمية وهذا مثال :
وهذا ايضا شرح التعامل مع SQLite بأستخدام Actionscript
في الـ HTML5 ظهر مفهوم الـ Canvas وهو الي خلق الضجة مابين الفلاش و HMTL5 ، صحيح اصبح الان بإمكانك انشاء رسومات 2D وحتى 3D وكذلك اضافة Animation ومؤثرات بصرية بأستخدام الفلاش، لكن ما مدى مرونة ال HTML5 في هذا الموضوع، على سبيل المثال لو أردت رسم شكل متوازي الاضلاع ستحتاج على الاقل 3 أسطر، فمابالك لو اضفت اليه الوان متدرجة مع ظل، نقطة ثانية ايضا لو اردت تحريك شكل من اليمين لليسار ستحتاج الى كتابة عدة اسطر ماذا لو اردت ان تجعل الحركة تبدء سريعة وتنتهي ببط مايسمى بال ease هنا ستحتاج الى ادراج مكتبة متخصصة في ال ease فقط، لاحظ انك عندما تستخدم Canvas فأنت تعمل Animation بأستخدام الكود وهذا الامر متعب جدا الـ Animation محتاج الى ادوات رسم ومؤثرات بصرية وليس كود لهذا السبب قامت قوقل بعمل برنامج Web Designer لسد هذه الفجوة، وقبلها ادوبي اصدرت Edge Animate لنفس هذا الموضوع، لكن لازالت الـ HTML5 غير مرنة ابدا في موضوع ال Animation بسبب افتقارها لموضوع ال Timeline وهذه جزئية مهمة جدا ً في برامج ال Animation مثل الافترافكيت، الفلاش و غيرها، لهذا ظهرت خاصية Transform في CSS3 لحل هذه الاشكالية لكنها خاصية ضعيفه جدا ً، ولهذا السبب ايضا ظهرت مكتبات كثيرة فقط في موضوع Animation بأستخدام HTML5.
ميزة قوية ايضا تم إضافتها في HTML5 وهي ال Socket ، الى الان هذه الميزة غير مفعلة بشكل كامل ولا تتم الا عن طريق شركات تقدم هذه الخدمة، الموضوع هذا موجود في الفلاش من زمااان وادوبي عملت برتكول يدعى RTMFP خاص بهذا الامر وأبرز مثال على ذلك لعبة Gamezer لعبة مشهورة وعمرها طويل على شبكة الانترنت.
ايضا موضوع ال Local Storage الميزة الجديدة في HTML5، انا اذكر ان هذه الميزة موجودة في الفلاش من عام 2006 والموضوع في دالة بسيطة تقدر تعمله اما في HTML5 الامر معقد نوعا ما.
ياعزيزي عندما نقول HTML5 فأنت تتحدث عن تقنية مميزة صحيح لكنها لاتزال في طور التحديث وغير مرنه لهذا السبب لايزال الفلاش بارز لانه ببساطة افضل من HTML5 في الوقت الحالي، اتوقع في المستقبل ستظهر برامج تدعم timeline بأستخدام HTML5 هنا ممكن تبرز ميزة ال Canvas ويبدء الاستخدام الفعلي للـ HTML5.
الاشكالية القائمة في موضوع الفلاش وانه انتهى عصره فقط محصورة في مشغل الفلاش Flash Player ، الكل يجمع انه مشغل سيئ لكن الفلاش منصة متكامله تحمل في طياتها خدمات متعددة.
الفلاش متوافق مع معظم المنصات ( ويب - اندرويد - ويندوز - IOS ) ولا أعتقد انك ستجد منصه واحد تستطيع من خلالها بناء تطبيق يعمل على كل هذه الانظمة افضل من الفلاش، وعندما اقول فلاش لا أحصره فقط في Adobe Flash CS.
نقطة الثغرات التي تحاول ابرازها انت تعلم جيداً ان الوندوز والاندرويد وكل الانظمة لا تخلوا من الثغرات وموضوع الثغرات ليس سبب مقنع للتقليل من شأن التقنية خصوصا ان نوع الثغرات Low.
اعتذر على الاطالة لكن لعلى ما قلته تغير نظرتك ونظرت غيرك عن الفلاش.
شكرا على ردك
العمل هيكون على تطبيقات كبيره ما اعتقدشى الفلاش هيكون فيه الحاجات دى
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.