Другие языки программирования и технологии

Может ли быть кроссплатформенное приложение написано на разных языках?

Делаю приложение под разные устройства: Android, Windows 8.1, iOS. На разных ЯП, то есть для каждой используется своя программа и новые версии приходиться переписывать в каждой из них (Java, C#, JS3). Можно ли это, опираясь на термины, назвать кроссплатформенным приложением?

... или кроссплатформенное приложение - это когда его основа один и тот же код на одном яп?

Грубо говоря: Viber для Android и для магазина Windows 8.1 это кроссплатформенное приложение или всё-таки нет? Так как функционал у них отличается немного.

Спасибо за ответы)
РВ
Роман Воля
1 178
крассплатформенное - это одно и тоже приложение которое можно запустить в нескольких ОС. само собой для разных ОС это может быть разный набор исполняемых файлов.
например, приложение написанное на java наверняка запуститься в любой ОС где есть виртульная джава машина. и даже код переписывать не нужно.
а вот если вы напишите приложение на шарпе, то например для МАК или андроид придется его допилить при сборке. тем более если вдруг вы использовали какие-то экзотические библиотеки.
итого - одно приложение (набор функционала) для разных ОС, которое может быть написано для всех платформ по-разному и на разных языках.
вибер, ровно как и скайп- кросплатформенные приложения, несмотря на то что они даже выглядят по разному в разных ОС.
АС
Александр Сергеев
53 118
Лучший ответ
Роман Воля Спасибо за развёрнутый ответ! :)
Олег Бутовский Шарп, как и Джава, компилируется в промежуточный код, поэтому всё зависит от реализации среды исполнения под конкретную платформу. Очень вероятно, что ничего допиливать и не придётся.
То, что вы делаете и имеете ввиду называется портинг. Кроссплатформенным приложение не бывает. Бывает язык, среда... Ну язык - понятное дело - C (можно компилировать под разные ОС), среда - Ява.
Роман Воля Портирование - это процесс ведь, нет? :)
Справедливости ради стоит отметит, что можно и на разных писать, просто под конкретную платформа не часто есть несколько взаимозаменяемых языков. Под Windows создана платформа .NET, поверх которой можно писать на многих языках: C#, VB.NET, C++/CLI, F#, IronPython и прочие. Это позволяет писать одно приложение сразу на нескольких языках. При этом если под разные платформы будет ещё и реализация среды CLR (например, Mono под никсы), то можно сказать, что приложение действительно кроссплатформенно, да ещё и написано на разных языках.
Olega Chumakov
Olega Chumakov
52 477