Все великие проекты объединяет одно: они начинаются с очень простой и прозрачной для большого количества пользователей идеи, при этом актуальной на момент их начала. Тем не менее, в ходе развития проекта иногда обнаруживается, что идея себя уже исчерпала, и надо выходить на какой-то новый уровень.
Так когда-то было с Java - языком программирования, который сегодня многие эксперты считают самым популярным в мире. Если вы помните это время (а если и не помните, то я напомню), Java начиналась с апплетов - небольших программ, которые можно было встраивать прямо в web-страницы, а затем выполнять прямо в браузере пользователя с использованием установленной на пользовательском компьютере Java-машины, интегрированной с браузером. На то время это было не просто ново - это захватывало воображение. Такого уровня интерактивности web-страниц было невозможно достичь никакими другими средствами. Апплеты расхватывались как горячие пирожки, и популярность Java росла как ком снега, катящийся вниз по склону горы.
История Java интересна и поучительна, и, думаю, как-нибудь я напишу отдельную статью, в которой познакомлю вас с нею. Сейчас же обратимся к тому, где применяется этот язык программирования сейчас и как далеко он ушёл от апплетов.
Java и сейчас находится на острие сетевых технологий, но технологии эти уже куда более высокого уровня, чем апплеты (ими-то, кстати, сейчас уже почти никто и не пользуется). Серверные приложения с использованием сервлетов, Java Server Pages и Java Server Faces (очень удобных, кстати, технологий, рядом с которыми такие вещи, как PHP, кажутся просто какой-то кустарщиной), распределённые приложения с масштабируемой архитектурой, даже просто кросс-платформенные пользовательские приложения (такие, скажем, как известный торрент-клиент Azureus) - это ли не свидетельство роста и развития Java? Развития, равного которому за последние десять лет отыскать, как мне кажется, попросту невозможно.
К чему я это всё так подробно рассказываю? К тому, что сейчас появилась другая технология, постепенно перебирающаяся с web-страниц на серверы. Какая? Конечно же, это Flash. Ранее известный как Macromedia Flash, теперь же сменивший "фамилию" на Adobe.
Flash-ролики, размещаемые на страницах во Всемирной паутине, - это, если хотите, такая усовершенствованная версия Java-апплетов. "Чем это она усовершенствованная?" - спросят читатели. Да всем, в общем-то. Начиная от размеров и скорости работы виртуальной машины (а Flash Player - это, в общем-то, по сути своей, такая же виртуальная машина, как и JVM, только названная по-другому для того, чтобы пользователи не пугались) и заканчивая куда лучшей приспособленностью к web-реалиям. Последняя заключается в том, что во Flash дизайнеру гораздо проще работать над внешним видом готового продукта, не мешая при этом ActionScript-кодеру, чем это было в случае Java и апплетов. Там, фактически, программист был сам себе дизайнером, из-за чего эстетическая сторона дела чаще всего не то что страдала, а скорее, даже просто опускалась как несущественная.
Flash уже отправился на покорение новых платформ - настольных и серверных. Выпуск компанией Adobe Systems среды AIR, позволяющей разрабатывать полноценные настольные приложения на основе Flash'а, позволяет говорить о том, что в скором времени нас ждёт волна интересных приложений, разработанных с помощью AIR'а. А поскольку Flash принципиально ничуть не менее кросс-платформенная технология, чем Java, то при дальнейшей экспансии на мобильные платформы благодаря Flash Lite Flash-приложения вполне смогут потеснить своих конкурентов, написанных на Java, за счёт более красивых интерфейсов (всё-таки 90% людей - визуалы, и от этого никуда не деться).
Что касается серверов, то Adobe уже выпустила несколько серверных продуктов - пока, правда, написанных не на Flash, но разработанных, тем не менее, для работы именно с Flash'ем. Это тоже вполне может быть первой ласточкой, говорящей об освоении Flash'ем и серверных платформ.
Проведя простую аналогию с Java, можно увидеть, что общие тенденции развития этих двух технологий, в общем-то, во многом совпадают. Конечно, говорить о том, что Flash станет однозначно клоном Java, на мой взгляд, всё же абсурдно, потому что Java сидит в своей экологической нише не просто крепко, а очень крепко. И, тем не менее, компания Adobe не может не понимать, что на server-side приложениях и распределённых системах можно заработать гораздо больше, чем на баннерах, размещаемых на web-страницах. И потенциал во Flash заложен такой, что он уже начинает вырастать из баннеров. Так что вполне возможно, что в обозримом будущем (но, конечно, не завтра, не через неделю и даже не через год) мы с вами станем свидетелями противостояния Flash и Java - таких разных, но вместе с тем не таких уж непохожих технологий.
Вадим СТАНКЕВИЧ
Горячие темы