Как писать приложения для разных платформ? Linux, Mac, Windows и мобильные платформы

Мы хотим написать клиент для онлайн-сервиса, который должен быть доступен на как можно большем количестве платформ. Это вопрос о том, какой язык программирования и фреймворк мы должны использовать для создания этого клиента. Эти платформы необходимы: Linux, Mac, Windows, iOS (iPhone, iPod, iPad) и Android. Чем больше, тем лучше.

Для мобильных платформ есть Titanium Mobile . Я еще не пробовал эту штуку, на сайте сказано, что вы можете разрабатывать как для iOS, так и для Android, используя веб-навыки, такие как Javascript. Я еще не знаю, можно ли развернуть для обеих платформ, используя ОДИН код. Было бы здорово!

Есть еще Titanium Desktop, но мне не нравится идея, что полный исходный код будет передан финальному приложению. Titanium делает то же самое и для мобильных устройств, но не так-то просто изменить приложение, загруженное через App Store.

Итак, как еще можно создать приложение, работающее по крайней мере на трех основных настольных платформах? Я думал, что C # с моно будет подходящим вариантом, но я только что понял, что вам нужно использовать моно с MonoMac, чтобы опубликовать его в Mac App Store и использовать такие вещи, как Growl. А поскольку MonoMac, естественно, доступен только для Mac, снова невозможно развернуть моно-приложение на всех платформах, не переписав его хотя бы для Mac. И было бы неплохо, если бы приложение выглядело «родным» на всех платформах. Gtk # просто не очень хорошо смотрится на Mac. Это «нормально» для Windows и отлично подходит для Linux.

Я знаю, что мы могли бы использовать Objective-C для iOS и Mac, Java для Android, C # .net для Windows и C # .mono для Linux, но главное, что мы не используем Я не хочу писать одно и то же приложение на множестве разных языков. Это сделало бы разработку и сопровождение действительно сложными.

И мы предпочитаем языки с синтаксисом в стиле C, которые нам, веб-разработчикам PHP, намного легче изучить. Кстати: Нам не нравится Air, и я не уверен насчет Java, так как я никогда не использовал его, но он также не выглядит «родным» и кажется немного медленным.

Edit:

Просто примечание: это не было бы проблема с созданием собственной формы для каждой платформы, если хотя бы оставшийся код такой же. Можно ли использовать MonoMac, Gtk # и форумы Win в одном приложении C #? И я бы предпочел C #, а не C ++, поскольку у меня нет навыков в C ++, поэтому сначала мне нужно проверить, насколько сложно писать на Qt.

Еще одно примечание: мы не планируем тратить много денег, и потому что нам нужно Для оплаты программ Apple Developer мы хотим использовать бесплатные или дешевые технологии. Предпочтительно с открытым исходным кодом.

5
задан Eliasdx 15 March 2011 в 22:51
поделиться