«фотошопы» и «офисы» обречены, будущее за мобильными приложениями!

В одной из самых ожесточенных дискуссий, когда-либо разгоравшихся в компьютерной блогосфере, - в комментариях к колонке о вероятной кончине Microsoft как абсолютного лидера, узурпатора власти на ИТ-арене («Компьютерра») - был затронут вопрос, на котором грех не остановиться особо. Это вопрос вероятной трансформации прикладного программного обеспечения из той формы, в какой мы знали его последние тридцать лет, во что-то уникально новое. И, честно говоря, кажется странным, что в околокомпьютерной прессе его обсуждают так редко: ведь следуя «мобильной» дорожкой, на которую мы уже ступили, нам не обойти тему трансформации софта никак.

Меньше да лучше

Меньше да лучше

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

Где-то перемены уже вовсю цветут: таков, к примеру, пользовательский интерфейс. Пусть и не без проблем, он уже меняется: взгляните на тайлы Windows 8 или на то, как Android мигрирует на десктоп практически в своем оригинальном виде. Не факт, что под таким агрессивным натиском примитив «окна» переживет следующую декаду! Но есть и менее очевидные зоны, где перестройка только обозначилась или представляется вероятной. Таковы размер и функциональное наполнение программ. Мобильные устройства слишком слабы, чтобы исполнять десктопных монстров вроде MS Office или LibreOffice, Photoshop - и это самый первый аргумент, которым «скептики-консерваторы» (считающие смартфоны и планшетки недокомпьютерами) тычут в глаза «либералам» (считающим, что дни классической персоналки сочтены). Ну так почему бы программам наизмечиться, приспособившись к изменившемуся железу?

Размер применительно к компьютерной программе - весьма размытое понятие. Если в «офлайне» существует несомненная твердая единицы длины, применением которой можно сравнивать различные объекты, в виртуальности такой единицы нет. Как измерить длину (она же в данном случае «объем», она же и «вес») куска кода? Многие предлагают отталкиваться от количества строк (LOC - lines of code), но даже на одном языке программирования один и тот же отрывок можно записать сильно по-разному. Та же ерунда с байтами: программы практически всегда упакованы архиваторами, так что мы не знаем их истинного размера:ну сколько на самом деле байт в 200 мегабайтах инсталлятора LibreOffice? А ведь есть еще измерительные единицы более высокого уровня, вроде функциональных точек и прочего (полезных для сравнения не просто длины, а сложности софта).

Меньше да лучше

Меньше да лучше

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

Первые модели IBM PC имели в BIOS функции работы с магнитофоном: магнитной ленты - вмещавшей десятки, сотни килобайт -было достаточно для хранения софта. Потом пришли магнитные диски и случился скачок на порядок: мегабайты. Компакт-диски обозначили следующий виток - сотни мегабайт. И сегодня, наконец, физические носители заменила Сеть, а вместе с этим размер дистрибутивов скакнул еще на порядок, в гигабайтную область. В принципе, топовые мобильные устройствам справляются - и хорошие мобильные игры вполне себя «весят» поболее гигабайта, хоть та же Android, например, пока смущается качать их через сотовую сеть. Но что занимает этот объем? Нельзя ли вернуться к килобайтным программам или хотя бы к программам размером в единицы мегабайт?

У этого смешного вопроса на самом деле очень серьезное продолжение, поэтому попробуйте на него ответить. Игры отметем сразу, как особый случай: там графика, видео, там гигабайтные размеры оправданы. Но что занимает миллионы и миллиарды байт в неигровых программах - вроде тех же офисных пакетов, графических редакторов?

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

Что из этого следует? Резервы по размеру у прикладного софта имеются, но незначительные, поскольку размер неигровой программы зависит прежде всего от ее функционала,а мы привыкли к программам, умеющим все и вся. И вот так, очень естественно, мы приходим к третьему свойству, которое - параллельно с интерфейсом и размером - может измениться после срастания персоналок с мобильными устройствами. Размер, сложность, тяжесть - называйте как хотите -прикладных программ возможно сильно уменьшить, если урезать функциональность. И, значит, вопрос, для чего простому юзеру планшетка, если на ней не работает «Фотошоп», должен на самом деле звучать так: а нужен ли «Фотошоп» 99% рядовых пользователей? Ведь в большинстве случаев наверняка можно обойтись куда менее сложными (читайте: менее функциональными) инструментами. Ну сколько функций и каких потребно простому человеку для обработки снимка в Instagram или «В Контакте»?

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

Размер среднего приложения на платформах iOS и Android измеряется единицами мегабайт. Простота, узкая специализация - их определяющие свойства: и это их преимущества, не недостатки! Они потребляют меньше системных ресурсов, они точней соответствуют решаемым задачам (вспомните знаменитое эппловское There’s ап арр for that!), а кроме всего прочего они еще и наверняка более высокого качества - в сравнении с компьютерными монстрами. Это предположение вытекает из эмпирического факта нелинейного роста усилий, требуемых для разработки и поддержания софтверных проектов: количество затрачиваемых человеко-часов растет непропорционально быстро размерам кода. Вероятно, то же справедливо и в обратном направлении: чем меньше код, тем лучше он отлажен.

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

Евгений ЗОЛОТОВ

нтт r : //www veoMUUteftWrt а»о