هل يمكنني كتابة تطبيقات iPhone الأصلية باستخدام Python

StackOverflow https://stackoverflow.com/questions/43315

  •  09-06-2019
  •  | 
  •  

سؤال

استخدام PyObjC, ، يمكنك استخدام Python لكتابة تطبيقات Cocoa لنظام التشغيل OS X.هل يمكنني كتابة تطبيقات iPhone أصلية باستخدام لغة Python، وإذا كان الأمر كذلك، فكيف؟

هل كانت مفيدة؟

المحلول

ليس حاليًا، اللغات الوحيدة المتاحة حاليًا للوصول إلى iPhone SDK هي C/C++ وObjective C وSwift.

لا يوجد سبب فني لعدم إمكانية تغيير هذا في المستقبل، لكنني لن أحبس أنفاسي لحدوث ذلك على المدى القصير.

ومع ذلك، فإن Objective-C وSwift ليسا مخيفين للغاية...

تحرير 2016

جافا سكريبت مع إطار NativeScript متاح للاستخدام الآن.

نصائح أخرى

يمكنك استخدام PyObjC على iPhone أيضًا، وذلك بفضل العمل الممتاز الذي قام به Jay Freeman (saurik).يرى تطبيقات الآيفون بلغة بايثون.

لاحظ أن هذا يتطلب جهاز iPhone مكسور الحماية في الوقت الحالي.

نعم يمكنك ذلك.تكتب التعليمات البرمجية الخاصة بك بلغة tinypy (وهي مقيدة بـ Python)، ثم تستخدم tinypy لتحويلها إلى C++، وتجميعها أخيرًا باستخدام XCode في تطبيق iPhone أصلي.قام فيل هاسي بنشر لعبة تسمى الفيلة!باستخدام هذا النهج.وهنا المزيد من التفاصيل،

http://www.philhassey.com/blog/2009/12/23/elephants-is-free-on-the-app-store/

يبدو أن هذا هو الآن شيء يُسمح للمطورين بفعله:تم تغيير اتفاقية مطور iOS بالأمس ويبدو أنه تم تعديلها بطريقة تجعل تضمين مترجم Python في تطبيقك قانونيًا:

القسم 3.3.2 — المترجمون الفوريون

قديم:

3.3.2 لا يجوز للتطبيق أن يقوم بنفسه بتثبيت أو تشغيل رمز قابلة للتنفيذ آخر بأي وسيلة ، بما في ذلك على سبيل المثال لا الحصر من خلال استخدام بنية مكونات الإضافات أو استدعاء الأطر الأخرى أو واجهات برمجة التطبيقات الأخرى أو غير ذلك.ما لم تتم الموافقة على خلاف ذلك من قبل Apple كتابيًا ، لا يجوز تنزيل أو استخدام رمز تفسير في تطبيق باستثناء الكود الذي يتم تفسيره وتشغيله بواسطة واجهات برمجة تطبيقات Apple الموثقة والمترجمين المدمجين المدمج.على الرغم من ما تقدم ، بموافقة كتابية مسبقة من Apple ، يجوز للتطبيق استخدام التعليمات البرمجية المدمجة المدمجة بطريقة محدودة إذا كان هذا الاستخدام فقط لتوفير ميزات أو وظائف بسيطة تتوافق مع الغرض المقصود والمعلن عن التطبيق.

جديد:

3.3.2 لا يجوز لأي تطبيق تنزيل أو تثبيت تعليمات برمجية قابلة للتنفيذ.لا يجوز استخدام الرمز المفسر إلا في التطبيق إذا تم تعبئة جميع البرامج النصية والرمز والمترجمين الفوريين في التطبيق ولم يتم تنزيلها.الاستثناء الوحيد لما سبق هو النصوص والرمز الذي تم تنزيله بواسطة إطار عمل WebKit المدمج من Apple.

نعم، يمكنك في الوقت الحاضر تطوير تطبيقات لنظام iOS باستخدام لغة Python.

هناك إطاران قد ترغب في التحقق منهما: كيفي و بي موب.

يرجى النظر في الإجابات على هذا السؤال أيضًا، لأنها أكثر حداثة من هذه.

يعني تحديث اتفاقية مطوري iOS أنه يمكنك استخدام ما تريد، طالما أنك تستوفي إرشادات المطورين.تمت إزالة القسم 3.3.1، الذي قيد ما يمكن للمطورين استخدامه لتطوير iOS، بالكامل.

مصدر: http://daringfireball.net/2010/09/app_store_guidelines

بيثونيستا يحتوي على ميزة التصدير إلى Xcode التي تسمح لك بتصدير نصوص Python الخاصة بك كمشاريع Xcode التي تنشئ تطبيقات iOS مستقلة.

تعد اتفاقية iPhone SDK أيضًا غامضة إلى حد ما بشأن ما إذا كان مسموحًا لك بتشغيل لغات البرمجة النصية (خارج Javascript الخاص بـ WebView).قراءتي هي أنه لا بأس - طالما لم يتم تنزيل أي من البرامج النصية التي تنفذها من الشبكة (لذلك يبدو أن البرامج النصية المثبتة مسبقًا والمحررة بواسطة المستخدم على ما يرام).

ايانال الخ الخ

من الناحية الفنية، طالما لم يتم تنزيل الكود المفسر (باستثناء JavaScript)، فقد تتم الموافقة على التطبيق.يقوم إطار عمل Rhomobile "Rhodes" بذلك، حيث يجمع روبي المحمول، وإصدار خفيف الوزن من Rails، وتطبيقك للتوزيع عبر متجر التطبيقات.نظرًا لأنه تم تجميع كل من المترجم الفوري والتعليمات البرمجية المفسرة في التطبيق النهائي، فإن شركة Apple لا تجد ذلك أمرًا مرفوضًا.

http://rhomobile.com/products/rhodes/

حتى بعد أحدث بيان صحفي لشركة Apple، لا تزال تطبيقات rhodes (mobile Ruby) قابلة للتطبيق في متجر التطبيقات.أجد صعوبة في تصديق أن tinyPy أو pyObjC لن يجدا مكانًا إذا كان هناك مجتمع مطورين راغبين.

يمكنك القيام بذلك باستخدام PyObjC، باستخدام هاتف مكسور الحماية بالطبع.ولكن إذا كنت ترغب في إدخالها في متجر التطبيقات ، فلن يسمحوا به لأنه "يفسر الرمز". ومع ذلك ، قد تكون قادرًا على الاستخدام تسليط الجلد, على الرغم من أنني لا أعرف أي شخص يفعل ذلك.لا يمكنني التفكير في أي سبب وجيه للقيام بذلك، لأنك ستفقد الكتابة الديناميكية، وقد تستخدم ObjC أيضًا.

أعتقد أن ذلك لم يكن ممكنًا في وقت سابق ولكني سمعت مؤخرًا عن PyMob، والذي يبدو مثيرًا للاهتمام لأن التطبيقات مكتوبة بلغة Python والمخرجات النهائية عبارة عن أكواد مصدر أصلية في منصات مختلفة (Obj-C لنظام iOS، وJava لنظام Android وما إلى ذلك).وهذا بالتأكيد فريد من نوعه. هذا صفحة الويب تشرح ذلك بمزيد من التفصيل.

لم أجربها بعد، لكن سألقي نظرة عليها قريبًا.

بيوير هو إطار عمل مفتوح المصدر لتأليف تطبيقات iOS وAndroid الأصلية.

اللغة "الخارجية" المهمة الوحيدة لتطوير iPhone والتي أعرفها مع دعم شبه كبير من حيث الأطر والتوافق هي مونو تاتش, ، بيئة C#/.NET للتطوير على iPhone.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top