Web-приложения - поступь будущего

Веб-приложения наконец-то начинают пробиваться к свету. Я устанавливаю все свое положение на это. Я уверен, что веб-приложения - это будущее Веба, программных приложений, сетевых архитектур и даже pc и операционных систем.

Приложения основанные на Вебе проникнут (почти) во все виды программ, которыми мы используем сегодня. В предоставленной статье я попробую привести кое-какие преимущества применения веб-приложений.

Чтобы вы лучше поняли, о чем я веду речь, я приведу некоторое количество примеров: GMail, Bloglines, и OddPost. Gmail является полноценным почтовым клиентом, который готовит все, что готовит любой другой почтовый клиент, запускаемый на вашем компьютере, и даже немного больше. То же самое можно заявить об OddPost. Bloglines - веб-приложение для чтения новостей, которое напрямую конкурирует с нормальными аналогичными приложениями, конкурирует и выигрывает. Эти веб-приложения работают на сервере, а их пользовательский интерфейс (UI) отражается в облике веб-страниц. По самой структуре приложения, вся программная логика сосредоточена в одном центральном месте (на сервере), а пользовательский интерфейс доступен всякому человеку в облике небольшой программы, которая есть с самого момента зарождения HTTP-сети (речь идет о браузере). Для появления веб-приложений не хватало лишь таких необходимых технологий, как JavaScript и DOM.

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

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

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

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

Все, что ему нужно, это запустить браузер и набрать URL. В наши дни браузер является типовой программой, коию пользователь получает при аппарате операционной системы. Так что искать браузер ему не надо, он уже на его машине, и по сути это все, что ему надо для работы.

Как правило, в случае если пользователь устанавливает на собственной машине приложение, ему приходится хватать на себя роль администратора этого приложения. Ему надобно устанавливать его, запускать, настраивать, чинить, улаживать возникающие проблемы. В случае же с веб-приложением, так как оно располагается на сервере, пользователю нет необходимости тревожиться об этом. Ему и не следует об данном беспокоиться. Пользователь от этого станет только счастлив. А это в свою очередь - признак неплохого приложения. В случае же с обычным приложением о таком блаженство и мечтать не приходится.

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

Ладно, тут мы немножко слукавили. В действительности предполагается, что у юзера есть браузер, который сумеет работать с приложением. Но в реальности, это же мелочь? По самой сути Веба, веб-приложение не предъявляет никаких требований к аппаратной платформе. Это значит, что пользователь сумеет работать с приложением на всякий операционной системе и не подметит никакой разницы. Это большой шаг от эры логотипов "Разработано для <название ОС>". У юзера нет 512Мб оперативки? Нет проблем. Недостаточно мощный процессор? Не проблема. Устаревшая материнская плата? Никаких проблем.

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

Пользователю незачем загружать на личный компьютер все приложение целиком, дабы начать с ним работать (фанаты Java-апплетов кусают локти!). Даже целый интерфейс не непременно загружать. довольно загрузить лишь ту его часть, которая потребуется для выполнения конкретной текущей задачи. Благодаря этому веб-приложения невелики по объему, скоро загружаются и скоро отвечают на деяния пользователей. Даже самое сложное приложение загружается всего за некоторое количество секунд, и даже меньше, и то только, в случае если канал чересчур узкий.

Так как на компьютере юзера ничего не устанавливается, пользователь может работать с приложением из всякого места. "Любое место" точно означает любое место на Земле. Вы можете загрузить веб-приложение, сидя в офисе, валяясь на диване дома, загорая на Гавайях, и во всех случаях оно станет работать без сучка и задоринки.

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

Программисты посчитали что для сохранения данных потребуется отдельный сервер под основание данных? Решили изменить компьютеры на больше мощные? Решили увеличить компьютеры, добавив ещё пару сотен тысяч? В мире веб-приложений это весьма возможно. Чего не сообщишь о мире настольных программ. в мире веб-приложений несложно основывать и поддерживать аналогичного рода многокомпьютерные системы. В всяком случае пользователь даже не подозревает о том, как устроено все хозяйство на стороне сервера.

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

Добро пожаловать на шоу. Сегодня в нашей программе: начало конца настольного ПО.

Перевод: Александр Качанов