Использование Go для написания библиотеки для приложения для iPhone - PullRequest
12 голосов
/ 14 февраля 2010

Я рассматриваю возможность использования Go в качестве низкоуровневой, производительной языковой альтернативы C / Objective-C для реализации библиотеки для приложения iPhone. Может ли один из компиляторов Go создать библиотеку, которая может быть связана с нативным приложением iPhone с помощью среды выполнения Go и т. Д.? Есть ли порт ARM для Go или gccgo / gcc поддерживает это? Я полагаю, что поскольку gccgo использует gcc в качестве серверной части, а Xcode использует gcc для компиляции приложений для iPhone, существует большая вероятность того, что это возможно. Если это возможно, как бы я настроил это в проекте Xcode?

Кто-нибудь пробовал это или видел, что это обсуждалось раньше? (Когда я выполняю поиск в Google, такой как «компиляция go code iphone», часть «go» полностью не используется, и я получаю только информацию о разработке iPhone.)

Ответы [ 4 ]

7 голосов
/ 14 февраля 2010

Go сейчас не поддерживает платформу iphone, но поддерживает процессоры ARM. Там не было много дискуссий об этом в списке рассылки, хотя.

2 голосов
/ 14 февраля 2010

Одна вещь, на которую стоит хотя бы взглянуть, это Луа. Это быстрый и язык, который мне нравится использовать. iPhone Wax использует lua.

2 голосов
/ 14 февраля 2010

Даже если это возможно, я подозреваю, что Go значительно медленнее, чем C или Objective C. Большинство независимых тестов указывают на низкую производительность при использовании текущих версий разработки. Эти микробенчмарки против C предполагают Go в 2-150 раз медленнее, чем C. Он даже медленнее, чем Java и C # Mono. Поэтому я не вижу причин называть Go альтернативой.

Хотя это зависит от вашего приложения, я подозреваю, что использование API GPU - лучший выбор для большинства проблем с производительностью.

0 голосов
/ 08 июля 2017

Проект Go Mobile теперь имеет некоторую поддержку мобильной разработки для IOS и Android. См. Раздел вики на Сборка для IOS для получения подробной информации о вашем приложении.

...