2009-07-03 3 views
10

Я часто слышу, как люди хвалят веб-приложения (в отличие от настольных приложений) за их мобильность. Действительно, сделать настольное приложение доступным для нескольких операционных систем сложно. Тем не менее, я думаю, что веб-приложения должны иметь дело с проблемами переносимости одинаково хорошо, только между браузерами вместо операционных систем. Или нетрудно сделать кросс-браузерное веб-приложение?Являются ли веб-приложения более переносимыми, чем настольные приложения?

ответ

10

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

Для получения подробной информации о переносимости вы можете прочитать это.

Software portability

+2

Это правда.но нужно признать, что вы хорошо сформировали симпатичные показы веб-сайтов на IE6 - это полный кошмар: P –

+0

Но недостатки, подобные этому, могут быть легко устранены без каких-либо затрат времени. – rahul

+0

@phoenix - «без времени» - ты серьезно? –

2

Все зависит от того, что именно вы пытаетесь построить. Некоторые инструментальные средства, такие как инструментарий QT, позволяют легко и быстро компилировать и переносить переносимость между платформами. Веб-приложения довольно модные и «в настоящее время», так как культура Сети - это все, что связано с Mashups, дистрибуцией, а что нет. Проблема в том, что это никогда не было предусмотрено, когда большинство браузеров были сделаны, хотя они ускоряются. Тонкие клиенты, такие как Google Docs, и то, что действительно не очень полезно, но не могут конкурировать с настольной версией, но затем они стараются. в основном, до того, для чего вы их используете.

6

Конечно, вы правы, что есть проблемы с совместимостью с браузером при написании веб-приложений. Но, как и при разработке настольных приложений, существуют фреймворки и библиотеки, которые будут использоваться для вас (например, JQuery, Google Web Toolkit, пользовательский интерфейс Yahoo).

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

5

Просто имейте в виду, что для веб-приложений существует два уровня переносимости.

Первое и самое главное, переносимость браузера. Но если приложение должно работать на других веб-серверах, есть также переносимость на стороне сервера. Большую часть времени вы решаете linux vs windows. Но есть и другие проблемы (например, требования к версии PHP).

+0

+1 для проверки версий серверов и архитектуры. Дешевые хостинг-возможности на * nix сделали PHP отличным, в то время как ASP.NET по-прежнему требовали выделенные серверы в то время –

1

Если веб-приложение тщательно спроектировано в соответствии с шаблоном MVC, тогда часть представления (страницы) уже перенесена.

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

В любом случае, веб-приложение уже перенесено - вы можете использовать их во многих браузерах на многих платформах.

+1

«веб-приложение уже перенесено»: это правда? Недавно я сделал * очень * простую HTML + страницу CSS, и она уже выглядела по-разному в Firefox и Internet Explorer. Мне пришлось использовать патч, чтобы заставить его работать в обоих браузерах. –

+0

Настольные приложения также будут выглядеть по-разному с XP и Vista, поскольку они имеют свои элементы управления по-разному. Это небольшая неприятность, которая, вероятно, может быть проигнорирована. – User

0

Да, вы можете часто создавать очень интерактивные и богатые веб-приложения, к сожалению, процесс разработки намного сложнее из-за использования инструментов, несовместимости браузера и т. Д. Но такие вещи, как Silverlight, упрощают работу.

Есть еще много мест, где настольные приложения гораздо более уместны.