Мобильные кроссплатформенные занятия - PullRequest
1 голос
/ 26 августа 2010

Означает ли тот факт, что разные мобильные платформы могут использовать одинаковые языки, можно ли повторно использовать классы между этими платформами?Например, код c ++ на устройствах iOS, Android и Symbian.Или есть какие-то другие вещи, которые нужно учитывать, библиотеки и т. Д.?

В том же духе можно было бы обмениваться кодом C # между iOS, Android и Windows Phone, используя MonoTouch и MonoDroid (в конце концов)?

Редактировать: Можно ли поделиться кодом пользовательского интерфейса между MonoTouch, MonoDroid?

1 Ответ

1 голос
/ 26 августа 2010

Нет, языки определенно слишком разные.Чтобы иметь возможность повторно использовать классы, они должны быть написаны на одном языке.А так как Apple вышибала все языки, кроме Objective-C из iOS, вы не сможете повторно использовать код.Состояние MonoTouch после решения Apple (возмутительное [ субъективное ]) [1] теперь очень сомнительно.

Однако в типичной диктаторской манере [ снова субъективно ], Apple не была полностью последовательной, поэтому они не запретили использование таких технологий, как PhoneGap (http://phonegap.com) или Titanium (http://www.appcelerator.com/).Там вы пишете свое приложение на HTML5, Javascript и друзья.Если вы можете жить с написанием приложений, использующих эти методы, кросс-платформенный подход все еще возможен.

И, конечно, помните, что алгоритмы не зависят от языка.Классы в разных языках часто можно сделать практически идентичными по функциям, хотя у вас будет недостаток в необходимости поддерживать несколько из них.

Редактировать:

Пояснения отобсуждение:

  • На самом деле есть поддержка использования классов C ++ [2].Это открывает возможности совместного использования кода для более абстрактных частей приложения.
  • Состояние MonoDroid кажется очень неясным.Обсуждение, упомянутое в [1], является длинным и имеет несколько сильных ответов, указывающих в обоих направлениях.Важно помнить, что фактической целью Apple в их новых условиях лицензирования является Flash, а не кроссплатформенные фреймворки сами по себе, что бы ни говорил Стив Джобс [3].Это оставляет открытой возможность того, что Apple может захотеть тихо разрешить приложения, основанные на MonoDroid или других кроссплатформенных платформах.

[1] Как обычно, это не на 100% ясно, например, посмотрите этот вопрос: MonoTouch теперь заблокирован на iPhone?

[2] http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocCPlusPlus.html#//apple_ref/doc/uid/TP30001163-CH10-SW1

[3] http://www.apple.com/hotnews/thoughts-on-flash/?aosid=p204&siteid=1503186&program_id=2554&cid=OAS-EMEA-AFF&tduid=fb90c7ac85c9a334decb42b892cda59b

...