Большая Тёрка / Мысли / Личная лента olegchir /
Что это за картинка? Это на самом деле объяснение, почему приложения нужно делать или в виде веб-приложений, или желательно - PWA (progressive web apps, т.е. веб-приложений, которые могут работать без интернета).
Веб-приложение у тебя открывается мгновенно по ссылке, откуда бы ты эту ссылку
...не достал (из гугла, из статьи, из баннера, итп). Получается, конверсия у веб-приложения очень крутая. Стопроцентная, в каком-то смысле. У клиента просто нету возможности не сконвертироваться.
Но веб-приложения убогие по сравнению с полноценными оффлайновыми. Получается какая-то чепуха: более плохие веб-приложения получают аудиторию просто потому, что у них сильно лучше выстроен процесс первого запуска, чем у хороших оффлайн приложений.
Интересно, когда Microsoft додумается, что можно запускать нативные приложения сразу по ссылке из интернета, без всяких подтверждений, но в безопасном одноразовом Windows Containers / Hyper-V контейнере.
Конечно, это должно быть что-то сильно более оптимизированное, потому что сейчас контейнеры в шиндовсе жрут ресурсов будь здоров. С другой стороны, они специально сделаны супер-универсальными — настолько универсальными, что для инстант-аппов и не нужно совсем.
Я не топлю за установку малвари и яндекс-баров. Насколько быстро такое приложение установилось, настолько же быстро и без следа оно удалится. Вомзожно, автоматически — как происходит с кэшем веб-страниц.
Насколько помню, когда-то MS уже пытался что-то подобное сделать в браузере со своими C# приложениями, но вот беда — людям совершенно неинтересно писать приложения на изолированной экосистеме MS, им хочется писать на том, на чем им удобно. Конечно, всё это не взлетело.
Жизнеспособна ли эта идея? Вот уже довольно долго я всё что могу запускаю в докере. Это безумно удобно: вместо того, чтобы захламлять систему тоннами мусорных пакетов, у меня есть маленькая песочница, в которой можно немного покопаться и потом удалить её без следа. Но это работает только на линуксе, где докер ничего не стоит. На шиндовсе, к сожалению, он стоит прилично так ресурсов, и ломает поддержку других виртуализаторов (кроме Hyper-V существует еще VMWare и VirtualBox). Кроме того, докер всё-таки умеет запускать только линукс-приложения. И чтобы пробросить в докер графику, особенно под виндой — нужно нехило так напрячься.
Кстати, мгновенно открываемые (в шиндовс-контейнерах) оффлайн-приложения могли бы стать спасением для всех, кого волнует размер дистрибутива и бесполезного говнокода, который жрёт ресурсы твоего компьютера
Очевидно, что если приложение весит 23 гигабайта, то оно никак не может открываться мгновенно. Более того, из-за того, что пользователя не спросили - хочет ли он ждать два часа пока дистрибутив загрузится, процесс запуска 23-гигабайтного приложения - это чистейшее мучение. (Вероятно, там на границе 500 мегабайтов всё-таки нужно ломать идею "мгновенно запускамого" и показывать диалог)
Если кто-то сомневается, может ли приложение весить мало - вспомните пиратские CD-диски из конца 90х - на одном CD-диске объемом 600 мегабайт были десятки фотошопов и 3dmax-ов. Потом прошло несколько лет, и фотошопы и максы начали занимать сначала самостоятельный диск, а потом даже несколько дисков - но это было потом. Изначальными версиями тоже вполне можно было пользоваться.
Visual Studio шла на куче CD-дисков (восемь? уже не помню), но из них самим дистрибутивом был только первый диск (потом - два первых), всё остальное - MSDN и допы типа Install Shield. У нас вместо оффлайн MSDN есть штука лучше - "интернет", так что тут никакой проблемы нет, нет никакого смысла вхреначивать в 20-мегабайтное приложение хелп на 10 гигов.
Способов, как можно управлять размером — море. Например, если в гуе у тебя огромные 4к текстуры, их можно генерировать процедурно, и не занимать под них гигабайты сетевого трафика. См. что могут чуваки на графической демосцене. Звуки тоже не нужно совать во флаке максимального разрешения — их можно сгенерировать программно, и они будут не сильно хуже предзаписанных. Впрочем, обычно приложениям не нужно звуков длиннее «Свиньи Касперского».
Кому нужно тратить столько сил, чтобы получить компактное, быстро запускающееся приложение? Да как раз вот всем тем людям, которые хотят получить быструю 100% конверсию пользователей. Покажите хоть одного маркетолога, который не хочет.
Дело осталось «за малым» — за каким-то быстрым эффективным воплощением Windows Containers. Достаточно эффективным, чтобы не убить ресурсы компьютера на десятом запущенном приложении. К сожалению, обычные люди над этим не властны, это может сделать только Microsoft.