Как Skype поддерживает все мобильные платформы? - PullRequest
0 голосов
/ 16 декабря 2011

Я занимаюсь разработкой приложения, похожего на Skype, с некоторыми другими функциями. Меня удивляет и удивляет реакция Skype на различные мобильные платформы, например, iPhone, Android, BlackBerry, Symbian, Bada OS и т. Д.

Я хочу знать, как Skype может так быстро выпускать версии для iPhone, Android и Blackberry?

Они пишут код для каждой платформы отдельно или пишут код один раз, а затем используют какую-то утилиту, чтобы сделать ее доступной на всех платформах?

Как разработчику, мне любопытно узнать реальную технику, которая может быть причиной закулисной магии. Есть какие-нибудь подсказки?

Ответы с действительными источниками и ссылками более ценны.

Ответы [ 2 ]

8 голосов
/ 16 декабря 2011

Они - компания с доходом 800 миллионов долларов в год, и, вероятно, не так уж и много для поддержки многих платформ.

Из Quora: http://www.quora.com/Skype/What-programming-language-was-Skype-originally-written-in

Первоначальная внутренняя альфа-версия UI была построена в QT, и мы надеялись сделать несколько платформ одновременно.Однако результат выглядел как дерьмо, наш прогресс казался медленным, и мы отказались от QT примерно за 2 месяца до публичной бета-версии.

Delphi был выбран потому, что наш первый старший разработчик пользовательского интерфейса был очень опытным в Delphi (помимо десятка других языковых сред), и мы рассматривали D как наиболее производительный, быстрый и эффективный способ создания нашего приложения, учитывая нашу команду / ведущего разработчиканавыки, а также очень хороший UX на платформе MSWin.

Для linux QT остался, а на OSX это был Cocoa с самого начала.Компоненты функционального ядра, которые выполняли тяжелую работу под пользовательским интерфейсом, всегда были такими же C / C ++, как указывал Ахти.

2 голосов
/ 16 декабря 2011

Они разработали разные версии для каждой платформы.К сожалению, нет единого языка, который бы поддерживал все платформы.Если бы это было так, это все равно было бы хлопотно, потому что у каждой платформы свой собственный API платформы.

...