Насколько важна независимость от платформы? - PullRequest
4 голосов
/ 12 февраля 2009

Множество программных платформ, языков, платформ претендуют на независимость от платформы и могут похвастаться ею как функцией продажи. Тем не менее, я не смог понять, как это может быть такой важной особенностью. Например, говорят, что Java независима от платформы, но почему меня должно волновать, что я знаю, что мое веб-приложение будет работать только на одной платформе? Стоит ли накладывать расходы на создание независимой платформы приложений?

Ответы [ 15 ]

6 голосов
/ 12 февраля 2009

Для веб-приложений это, в основном, не проблема, поскольку они по определению почти «не зависят от платформы». Я имею в виду, что пользователи приложения в основном не привязаны к какой-либо конкретной платформе.

Для настольных приложений речь идет о вашей потенциальной клиентской базе. Если вы считаете, что многоплатформенный таргетинг принесет вам пользу, стоит сделать вашу платформу приложений независимой, иначе лучше держаться подальше от нее:)

5 голосов
/ 12 февраля 2009

Если вы знаете, что ваше приложение будет работать только на одной платформе, вас это не должно волновать - вам следует оценивать среду, используя те же критерии, что и все остальные платформы на вашей целевой платформе.

3 голосов
/ 12 февраля 2009

Это, конечно, зависит от рассматриваемого приложения. Если вы знаете , что приложение будет работать только на одной платформе, то, очевидно, нет причин требовать, чтобы оно было независимым от платформы. С другой стороны, если вы создаете приложение, которое должно быть пригодным для использования, скажем, в течение следующих 15 лет, как вы можете знать, что выбранная вами платформа будет тогда существовать? Трудно предсказать будущее, и поэтому, делая вашу платформу приложений независимой, у вас меньше головной боли.

Независимость платформы не обязательно подразумевает накладные расходы. Скорее это подразумевает хорошие методы программирования; если вы сделаете свое приложение ортогональным к платформе, то смена платформы будет проще простого.

Иногда невозможно избежать зависимых от платформы вызовов функций, например, из-за необходимости напрямую взаимодействовать с некоторым аппаратным устройством на низком уровне. Уже тогда можно сделать приложение практически независимым от платформы. Вместо того, чтобы разбрасывать повсеместно зависящие от платформы вещи, сворачивайте их строго в один класс / пакет / что угодно. Затем вам нужно изменить только один этот модуль, чтобы перевести ваше приложение на другую платформу.

2 голосов
/ 12 февраля 2009

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

Тот факт, что это не выгодно для вас, не означает, что это бесполезно. Я уверен, что многим разработчикам Java нравится тот факт, что им не нужно перекомпилировать свое приложение для каждой платформы (следовательно, это точка продажи). Веб-приложение, которое использует Active X исключительно для определенных компонентов, столкнется с большим количеством препятствий , если , в будущем другие платформы также станут интересными.

Действительно ли стоит делать независимость платформы приложений независимой?

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

2 голосов
/ 12 февраля 2009

мы разрабатываем Java-приложение B2B, которое предназначено только для Unix, но работает на всех разновидностях Unix (где доступна java).

Преимущество многоплатформенного приложения состоит в том, что наши клиенты иногда имеют знания в Linux, иногда в Solaris, иногда во FreeBSD, ...

таким образом мы можем адаптироваться к клиенту и не заставлять его использовать одну конкретную платформу

1 голос
/ 13 февраля 2009

Вы всегда платите за гибкость.

Всегда.

Решение о том, стоит ли цена (выплаты могут быть очень высокими), полностью зависит от потребностей отдельного человека / компании, но всегда есть стоимость. Многие из них предполагаются неявно, например:

Большинство людей кодируют api-файловую систему, независимую от [1], а не одну, предполагающую конкретную реализацию, и этот выбор является правильным так часто, что является разумным выбором по умолчанию при отсутствии какого-либо конкретного требования в этой области.

Тем не менее иногда стоит пересматривать ваши основные предположения так часто , чтобы просто знать, что они

[1] по крайней мере до уровня, когда говорят, что это дерево с разделителями пути '/', а не с ext3, NTFS, ReiserFS и т. Д. ...

1 голос
/ 12 февраля 2009

«Независимость от платформы» может означать разные вещи для разных людей. Например, является ли Windows XP платформой, отличной от «XP 64», Vista или Windows 7? Это зависит от того, пишете ли вы прикладное программное обеспечение или драйверы, и от того, от каких предустановленных библиотек и сервисов вы зависите.

В самом общем смысле ни одно приложение не может быть по-настоящему независимым от платформы - вы не будете ожидать запуска веб-приложения на встроенном Linux на вашем тостере или на 16-МБ Windows 3.11 машина.

Но программные платформы, которые имеют независимость от платформы в качестве архитектурной цели, как правило, лучше подготовлены, когда ваша платформа меняется, и в любом долгоживущем проекте она изменится , хотя бы потому, что оборудование будет заменяться каждые 3 -5 лет, и новое оборудование часто приходит с новыми версиями ОС.

1 голос
/ 12 февраля 2009

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

Поставщики программного обеспечения пытаются убедить ИТ-отделы в том, что независимость от платформы - это хорошая вещь, потому что она позволяет избежать привязки к поставщику. Я уверен, что это важно, в теории; однако на практике большинство ИТ-отделов самостоятельно навязывают поставщикам свое отношение, как правило, в отношении конкретного высокотехнологичного поставщика.

1 голос
/ 12 февраля 2009

Теоретически, независимость от платформы помогает вам избежать так называемой «блокировки поставщиков», в то же время предоставляя вам более широкий охват и потенциально большее количество клиентов.

В практическом плане вы должны оценить свою целевую аудиторию и провести хороший бизнес-расчет на предмет того, превышает ли потенциальная прибыль возможность доставки на несколько платформ стоимость внедрения независимой от платформы структуры. В конце концов, фреймворк может претендовать на одинаковую работу на всех платформах, но вам придется проверить это утверждение. Не говоря уже о том, что ни одна платформа не решает все проблемы с доставкой приложения, такие как развертывание, настройка, централизованное управление, обновление / обновление и т. Д.

Конечно, если ваш продукт основан на сервере и конечный пользователь будет использовать его через HTTP-агент, вам не нужно об этом беспокоиться. По большей части и до тех пор, пока вы находитесь в [относительно] безопасной сфере HTML, JavaScript и Flash.

1 голос
/ 12 февраля 2009

но зачем мне это, когда я знаю, что мое веб-приложение будет работать только на одном платформа

Ты не должен. Если вы знаете , что собираетесь работать только на одной платформе, независимость от платформы не очень важна для вас.

Но вы не равны всему населению потенциальных пользователей. Другие люди захотят использовать компьютеры на разных платформах.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...