Мы хотим написать клиент для онлайн-сервиса, который должен быть доступен на как можно большем количестве платформ. Этот вопрос о том, какой язык программирования и фреймворк мы должны использовать для создания этого клиента. Требуются следующие платформы: 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, так как никогда ею не пользовался, но она также не выглядит «родной» и кажется довольно медленной.
Изменить:
Просто примечание: не будет проблемой создать собственную форму для каждой платформы, если хотя бы оставшийся код будет одинаковым. Можно ли использовать MonoMac, Gtk# и Win Forums в одном приложении C#? И я бы предпочел C# C++, так как у меня нет навыков в C++, поэтому сначала мне нужно проверить, насколько сложно писать на Qt.
Еще одно замечание: мы не планируем тратить много денег, и, поскольку нам нужно платить за программы Apple для разработчиков, мы хотим использовать бесплатные или дешевые технологии. Желательно с открытым исходным кодом.