Які мови програмування можна використовувати для розробки додатків iPhone, iPod Touch та iPad (iOS)?


84

Які мови програмування можна використовувати для розробки додатків iPhone, iPod Touch та iPad (iOS)?

Також чи планується в майбутньому розширити обсяг мов програмування, які підтримуватиме iOS?

Відповіді:


46

Apple зняла обмеження щодо нецільових програм C / C / C ++ - ви просто не можете завантажити код, якого немає в наборі програм.

MonoTouch дозволяє використовувати мови .NET - C # підтримується безпосередньо, але якщо у вас Windows, ви можете створювати збірки на будь-якій мові .NET і використовувати його.

Ходять чутки, що Apple збирається безпосередньо підтримувати інші мови - я продовжую чути рубін, але це лише чутки.

Я думаю, що Lua використовується для ігрової логіки у багатьох додатках.

EDIT (у 2018 році): Як правило, ви можете використовувати будь-яку мову, яку ви можете отримати, для компіляції для iOS або навіть встановлення інтерпретаторів мови. Головне, що ви не можете зробити, це завантажити з Інтернету код, якого не було в пакеті додатків.

Люди все одно роблять це весь час (див. Програми React Native, які завантажують JavaScript із серверів), але технічно це заборонено. Головне, що приверне увагу Apple, якщо ви зробите якийсь App Store, який завантажує цілі речі, схожі на App.

EDIT (у 2020 році): від @Pylot у коментарях: Я знаю, що це давно, але тепер, принаймні технічно, ви можете завантажувати код, який не вбудований у програму, оскільки ви можете писати за допомогою JavaScript за допомогою webview. Не залишаючи свою відповідь неправильно чи що-небудь, я точно з вами погоджуюсь. але я щось шукав і знайшов цей пост по дорозі. Якщо хтось це бачить, це може допомогти їм.


3
Objective-C ++ - це міст між ObjC та C ++, тому це чудово.
Лу Франко,

RubyMotion дозволяє створювати власні програми для iOS за допомогою Ruby. Однак це не безкоштовно.
Uygar Y

1
Я спробував Lua для логіки в моєму додатку, також з luasqlite (корпоративне рішення, тому жодні відмови в магазині не можуть бути залучені, незалежно від того, трапляються вони чи ні), і я можу засвідчити, що це чудово працює. Майте на увазі, що Lua має дуже низький обсяг пам’яті, тому ви можете фактично запускати десятки інтерпретаторів одночасно, не витрачаючи стільки Мб пам’яті (що я насправді робив ...). Див. Також відповідь gran.pancho.villa про Свіфта.
Rick77

1
Я знаю, що це давно, але тепер, принаймні технічно, ви можете завантажити код, який не вбудований у програму, оскільки ви можете писати за допомогою JavaScript за допомогою веб-перегляду. Не залишаючи свою відповідь неправильно чи що-небудь, я точно з вами погоджуюсь. але я щось шукав і знайшов цей пост по дорозі. Якщо хтось це бачить, це може допомогти їм.
Пілот

@pylot - Я додав ваш коментар до відповіді - дякую
Лу Франко

17

Угоду SDK та інструкції щодо магазину програм було змінено (близько вересня 2010 р.).

Тепер ви, мабуть, можете використовувати будь-яку скомпільовану мову, яка буде компілюватись до того самого формату статичного файлу ARM, що і Xcode, і яка буде посилатися на (лише) загальнодоступні API у рамках Apple і бібліотеках. Однак ви не можете використовувати компільовану мову JIT, якщо не скомпілюєте весь об'єктний код перед тим, як подати на розгляд Apple.

Ви можете використовувати будь-яку інтерпретовану мову, якщо ви вбудовуєте інтерпретатор, і не дозволяєте інтерпретатору або програмі завантажувати та запускати будь-який інтерпретований код, відмінний від коду, вбудованого в пакет програм, перед тим, як подати його на розгляд Apple, або набравши вихідний код -в користувачеві.

Завдання C і C, ймовірно, як і раніше будуть найбільш оптимальною мовою програмування для всього, що вимагає високої продуктивності та останньої підтримки API (* див. Оновлення нижче), оскільки це ті мови, на які Apple націлює свої фреймворки iOS та налаштовує свої чіпсети процесора ARM. Apple також підтримує використання Javascript / HTML5 всередині UIWebView. Це єдині мови, для яких Apple оголосила про підтримку. У будь-якому іншому випадку вам доведеться знайти підтримку в іншому місці.

Але, якщо ви дійсно хочете, зараз у магазині iOS App є щонайменше півтора десятка перекладачів BASIC, тож тепер дозволена навіть методологія програмування "Кам'яний вік".

Додано: (*) На кінець 2014 року можна також розробляти додатки, використовуючи нову мову програмування Apple Swift. На початку 2015 року подані двійкові файли повинні включати 64-бітну (arm64) підтримку.


11

Плануючи повільно звільнити давно використовуваний Objective-C, Apple представила нову мову програмування, що називається Swift, для проектування програм та додатків для роботи на пристроях Apple iOS та комп'ютерах Apple Macintosh.

Apple заявляє: " Swift - це нова мова програмування для додатків для iOS та OS X, яка базується на найкращих з C та Objective-C, без обмежень на сумісність C. Swift приймає безпечні схеми програмування та додає сучасні функції, щоб спростити програмування, більше гнучкий і веселіший. Чистий арсенал Свіфта, підкріплений зрілими і улюбленими рамками какао та какао Touch, - це можливість переосмислити, як працює розробка програмного забезпечення ".

Представляємо швидкий

введіть тут опис зображення


6

Які мови програмування можна використовувати для розробки додатків iPhone, iPod Touch та iPad (iOs)?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Це саме ті, які зараз з’являються в моїй голові. Я впевнений, що існують сотні, якщо не тисячі інших. (Наприклад, немає жодної причини, чому ви не можете використовувати будь-яку мову .NET із MonoTouch, тобто VB.NET, F #, Nemerle, Boo, Cobra, ...)

Також чи планується в майбутньому розширити кількість мов програмування, які підтримуватимуть iOs?

Звичайно. В даний час майже кожна спільнота мов програмування на цій планеті працює над тим, щоб їхня мова працювала на iOS.

Крім того, багато людей працюють над мовами програмування, спеціально розробленими для сенсорних пристроїв, таких як iPod touch, iPhone та iPad, наприклад, мова Філа Меркуріо Thyrd .


4
-1. Ruby, Python та ActionScript ще не працюють на iOS. Раніше були спроби запустити CL і Scheme, але я не думаю, що це актуально. Та сама угода з Хаскеллом. JavaScriptCore - це приватний фреймворк зараз; Ви можете створити сценарій Objective-C, використовуючи JS у веб-перегляді, але це дійсно незручно.
Джонатан Стерлінг,

4
@ Джонатан Стерлінг: Ви повинні сказати це розробникам, які продають додатки Ruby через App Store вже більше року. Я впевнений, їм було б дуже цікаво дізнатись, що їх додатки не існують.
Jörg W Mittag

4
Rhomobile не враховується. Це не справжні рідні програми. Вони просто застрягли в веб-перегляді.
Джонатан Стерлінг,

@ Джонатан Стерлінг: Можливо, я трохи запізнився на вечірку тут, але Actioncript підтримується на iOS через AIR для iOS. (І це було на момент оригінального коментаря жовтень-10). Це навіть отримує досить велику продуктивність ...
Марті Пітт,

5

Мовою програмування iOS (і Mac OS) є Objective-C і C. Для розробки програм iOS потрібно використовувати платформу Xcode. У наступній версії, яка тепер доступна в бета-версії, Xcode 4 підтримує також C ++.


Вам не потрібно використовувати Xcode для розробки додатків для iOS або Objective C або C ++. Наприклад, ви можете використовувати RubyMotion, який використовує інструменти командного рядка. Крім того, існує ряд сторонніх рішень для розробки програми, яка може працювати на iOS та Android
Мартін Локетт

4

Також тепер можна використовувати OCaml для розробки додатків для iOS. Він не є частиною стандартного розповсюдження і вимагає змін, наданих компанією Psellos. Дивіться тут для отримання додаткової інформації: http://psellos.com/ocaml/ .


2

Це може бути стара тема, але я хотів би згадати Appcelerator Titanium , який дозволяє кожному, хто знає HTML5 / JavaScript / CSS, розробляти додатки iOS.


Якщо я не помиляюся, ви можете замінити JavaScript на Ruby або Python, використовуючи Titanium.
Torbjørn

2

Наразі дозволено лише Objective-C ... але кілька місяців тому ви можете писати сценарії, які будуть інтерпретовані у вашій програмі.

Тож ви можете написати інтерпретатор LUA або інтерпретатор Python, а потім написати якусь частину програми цією мовою сценаріїв. Якщо ви хочете, щоб ваша програма була прийнята в App Store, ці сценарії повинні бути в комплекті з додатком (наприклад, ваша програма не може завантажити його з Інтернету)

переглянути нові правила магазину додатків


1

Cilj-C - основна мова, що використовується.

я вважаю, що існує фреймворк mono touch, який можна використовувати з c #

Adobe також працює з деякими інструментами, одним з яких є цей пакувальник iPhone, який може використовувати код ActionScript


Здається, посилання мертве?
Zameer Ansari

1

Ви можете використовувати мову програмування "smart BASIC". Це справжня, але дуже вдосконалена мова BASIC з усією своєю потужністю та простотою. Використовуючи свій безкоштовний SDK, код BASIC можна легко опублікувати як окремий додаток App Store. В App Store є багато додатків, написаних мовою програмування "smart BASIC".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.