Всего за 9.95 руб. Купить полную версию
Но пойдем дальше. Такая штука, как «виджет» [Подробнее о концепции виджета см. Тимофей Бахвалов, «Столовые приборы» («КТ» #621 или offline computerra ru/2006/621/247558)] (он же, по версии Google и Microsoft, «гаджет» в контексте «desktop gadget» или «web gadget»), маленькое окошко с небольшим количеством элементов, запускается либо на рабочем столе, либо на популярной в последнее время «персональной домашней странице» (например, google com/ig или netvibes). «Движок для виджетов» встроен в последние версии Google Desktop и Opera, да и в самой Vista он есть; под Маком виджеты уже давно неотъемлемая часть окружения; есть свои решения и для Linuxовых десктопов. Технология создания виджета как правило, опять же простой язык разметки на основе XML (или HTML) + JavaScript (иногда другой скриптовый язык, например Python).
Можно ли эти виджеты, которые уже кто только не делает кустарно, считать полноценными программами? Существующие варианты «часики» да «блокнотики» может, и не стоит (хотя, наверное, по low-end шароварному рынку и эти «поделочки» ударили болезненно). Но как только виджеты научатся «соединяться в цепочки», передавая друг другу примитивные потоки данных (аналогично помянутым Yahoo! Pipes) Интересно будет узнать, скольким
пользователям пачка таких «недо-программ» (одна получает почту, другая показывает, третья статистику строит, четвертая в блог постит) прекрасно заменит современный зоопарк десктопных монстров. Не зря ведь Apple, считающая себя родоначальником идеи «настольного виджета», не планирует пускать на свой iPhone полноценные сторонние приложения при том, что виджеты на нем вполне будут работать [Можно еще вспомнить такую штуку, как Opera 9 for Devices, тоже поддерживающую все те же виджеты и превращающую разработку простого ПО для встраиваемых устройств в занятие для «простого смертного»].
Из технологий программирования уровня «просто человека, а не разработчика» можно еще вспомнить Flash с его всеохватностью от мультиков и YouTube-роликов до крутейших игр, а ныне агрессивно продвигаемый еще и как «более красивый и быстрый интерфейс для веб-приложений». Да и встроенный в SecondLife скриптовый язык для «оживления объектов», думается, используют не только (и не столько) профессиональные разработчики.
Это перечисление можно было бы продолжать, но идея уже и так понятна.
Возвращаясь к «платформам для всех», заметим, что к ним можно отнести и современные веб-фреймворки толка Ruby on Rails: точно так же они обеспечивают полный набор основных сервисов и типичных задач; точно так же для разработки простого приложения можно практически не знать Ruby (или Python, если речь о Django, или Groovy, если о Grails), ориентируясь на простые примеры и руководства для новичков. И даже.Net/JVM до некоторой степени представляет собой такую «платформу» [Тут можно привести в пример проект AnAppADay com, автор которого решил провести эксперимент и написать за тридцать дней тридцать несложных, но полноценных программ на C# 2.0; и действительно, целый месяц раз в день выдавал законченные программы не слишком примечательные, но сравнимые с теми, что пару лет назад гордые авторы-шароварщики толкали по $19,99].
Представляется, что «десктопная система будущего» это всего несколько «программ» в старом смысле слова (серьезных систем, написанных на эффективных языках подготовленными командами-«колхозами» профессионалов), населенных бессчетными мелкими «штучками на все случаи жизни» и тесно переплетенных с десятками веб-приложений [Веб при этом может разделиться на два разных «Веба» старый (тексты, связанные ссылками) и новый (программы, активно работающие и на сервере, и на клиенте). Кое-кто даже предлагает ввести новый протокол HATP (HyperApplication Transfer Protocol в пику HyperText Transfer Protocol)]. К примеру, разработчики из Mozilla такие перспективы внимательно оценили: для Firefox 3 запланирована возможность работы с веб-приложениями при отсутствии подключения к Интернету (то есть «подключились к сайту приложения, загрузили его, отключились, но можем продолжать работать»), что подчеркивает роль этого приложения как платформы, а не просто «смотрелки страничек» [Кстати, каким бы фанатом «Огнелиса» ни выглядел автор, для повседневной работы он таки предпочитает «Оперу»].
Пока меня не успели обвинить в «отмене программистов как класса», сакцентирую внимание на том, что платформы тоже кто-то должен создавать. И вот здесь хороши именно традиционные способы: внимательное проектирование, интенсивное тестирование на предмет ошибок (а лучше разработка через тестирование) и проверка удобства пользования; внимание к производительности и безопасности; вообще все то, о чем единоличным авторам «программулек», которые будут работать на создаваемой платформе, хотелось бы забыть, все это ляжет на плечи коллективов создателей.
Позвольте напоследок привести такую аналогию. Если единственным способом записи текста является кропотливое выбивание значков на камне, то автор текста (писатель) поневоле осваивает профессию выбивателя соответствующих надписей, то есть каменотеса (либо ему придется работать в тесном сотрудничестве с такими специалистами). Но сегодняшний автор может не иметь никакого представления о процессе производства бумаги и чернил он «просто творит» (совсем уж продвинутый автор может даже не уметь писать на бумаге, а только по клавишкам стучать).