Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 103

Но почему бинарник такой большой?!

Вспомнился похожий пост 10-летней давности про приложуху Фейсбука. После этого был эпичный ответ - “iOS Can’t Handle Facebook Scale”.

Проще говоря, это ынтырпрайз девелопмент.

GMail наверное тоже, что и под андроид, где пользуется библиотеками уже доступными на андроиде, системными библиотеками. Наверное на ios тащат весь runtime c с собой. Потому и бинарник большой и особенности ос не учитывают как с теми же ассетами. И с языками по той же причине, все запаковали в бинарник, потому как android app bundle не работает под ios.

У меня на Android на Samsung (2017) Gmail занимает 76 Мб. Приложение почты Sumsung 44 Мб. Ок, гляну что это. Интерфейс не хуже (хотя папки Gmail не поддерживает), вроде можно подкл. другие ящики (хотя ненужно, "полковнику никто не пишет"). Но мне необходим почтовый переводчик. Ставлю англ.-рус. пакет, 100 Мб (!), оппа. Суммарно получается больше Gmail. Хотя у того наверно пакет встроен в систему, сервисы Google поставляются в Android и не удаляются без root. Если такие пакеты для каждого языка, то 700 Мб еще не так много. Кстати, переводчик от Sumsung совсем плохой, терминологию не переводит. Вернулся на Gmail, ибо: переводчик, гугловские папки, и размер меньше.

Ложка не меняется, молоток. Кстати почему велосипеды не становятся тяжелее?

Это физические и устоявшиеся объекты, а речь про цифровой мир
И да, велосипеды потяжелели: появились фэтбайки, появились электровелосипеды

А что цифровой мир? Протоколы-то те же самые остались (SSL, POP3, IMAP). Из ресурсов десяток иконок. Жаваскрипта в почте нет, слава богу. Ну куда еще?

Протоколы-то те же самые остались (SSL, POP3, IMAP).

А вот нифига. Название — осталось, но сверху на них продолжают налеплять свистоперделки. Чистый SMTP/POP3 уже никто не поддерживает.

И что за секретные протоколы без ссылки на RFC? У меня прямо сейчас SMTP/IMAP работает.

Там 2008 год самое позднее, а на дворе 2025. И это не новые протоколы, а правки старого. На них точно нужно 700 Мб кода?

А при чём тут 700 Мб кода? Я про ожирение приложений ничего и не говорил — только про то, что протоколы уже не те, что были.

Что простите? А на чем тогда по вашему написана почта, если не на Джаваскрипт?

На Swift, скорее всего. Мы же "приложение Gmail для iOS" обсуждаем.

Да щас же, будут они там в гугле нативные приложения писать :) В лучшем случае там их собственный Флаттер используется. А вполне вероятно, что и что-то куда более жирное, а-ля Электрон, судя по размеру приложения.

Это физические и устоявшиеся объекты, а речь про цифровой мир

Ну ок, а что в клиенте Gmail есть такого, чего не было в обычном почтовом клиенте времён ХР? 150 метров локализаций на 60 языков? Два с половиной мегабайта локализаций на язык? Это, минуточку, пять сотен страниц печатного текста. У них в локализацию ещё и локальный словарь проверки орфографии включён, что ли?

Вопрос ещё в том, что такого может быть в локализациях на 2-3мб "на язык" ?

Этот объем примерно соответствует четырем томам войны и мира.

Что у них там происходит вообще :)?

Можно ответить иначе: велосипеды стали легче - титановые и карбоновые рамы, вуаля.

Ещё как становятся. У них сейчас у всех повально аккумуляторы и рекуперационные двигатели.

Только это уже мопеды

Это электровелосипеды.

Средства индивидуальной мобильности.

С мотором и аккумулятором велосипед получает киллер-фичу, которой до этого никогда не было у велосипедов. А при прочих равных, современные велосипеды легче. Да даже с аккумулятором легче.

"Киллер-фича" в данным случае звучит двояко. Но тут больше от скорости зависит, чем большую скорость велосипед может набрать, тем фича... киллеровей.

почему велосипеды не становятся тяжелее?

То есть как это не становятся? Вы где-то видели невесомые аккумуляторы?

А зачем велосипеду аккумуляторы ?

Вы ещё спросите, зачем ему электромотор.

При таком раскладе более тяжёлый лисапед, по крайней мере, едет дальше и быстрее. А вот с более тяжёлой софтиной как-то оно не работает.

Более тяжёлая софтина снабжена кучей свистоперделок. Которые я не просил — да кто ж меня спрашивает.

В случае гмейла, так там даже свистоперделок не положили :( Оно просто отожралось, без ничего.

Горные велосипеды стали: поменялся стандарт колёс, плюс задняя подвеска стала практически обязательным элементом, плюс все дисциплины стали жёстче по нагрузкам и скоростям - как следствие все компоненты обросли жирком, добавились новые типа антипробойных вставок в колеса и регулируемый с руля по высоте регулируемого штыря, да и в целом есть тенденция, что более новые железки делаются без оглядки на вес (и уж точно без ухудшения ТТХ ради более красивых циферок на весах, как лет 5-10 назад).

Я это всё к чему - новые велосипеды при этом быстрее и позволяют стабильно ехать на тех скоростях, на которых у старых начинались нюансы типа траекторной устойчивости (привет выросшие на добрых сантиметров 10 в длину рамы и заваленный угол вилки) и езды на удачу в плане механической выносливости (а тут вступают в игру те же «тяжёлые» вставки и более толстые покрышки, да и в целом про-велосипеда). То же и с приложениями - они стали делать очень много того, что не делали раньше, я даже пример так сходу не скажу - но когда берёшь старый телефон с андроидом (типа 2.х, 4.х) бросаются в глаза все эти «ах да, этого же раньше не было». Плюс безопасность очень прожорливая до ресурсов, все эти «детские» ошибки с переполнениями и экранированиями символов увеличивают объём. Плюс всякие кнопки-эффекты-бэкграунды, которые отлично смотрелись бы на 50’ телевизоре, но зачем-то тянут в том же разрешении в телефон.

Опять же, ещё один хороший пример - машины. Пассивная безопасность и системы, мешающие мясному мешку навернуться на столб, плюс разные штуки, позволяющие жечь бак за 1000км, а не 300-500.

Сейчас есть велосипеды из хорошего пластика, легче дюралевых примерно на 8%.

Карбон не пластик, алюминий не дюраль

ещё один хороший пример - машины

Хороший пример чего? Современные машины легче, требуют меньше ресурсов в производстве, у них меньше расход топлива. Экономия во всем.
Фичи добавились - это да, но это за счет новых технологий, а не за счет утяжеления в пять раз.
Где экономия в приложениях?

 Современные машины легче, требуют меньше ресурсов в производстве, у них меньше расход топлива. Экономия во всем.

пропущено "меньше служат"

Ну положим айфоны последние лет 10 не особо меняются, но продавать их как-то надо:)

Переводя на русский: потому что разрабам, да и вообще компании-производителю приложения положить с высокой колокольни на пользователей. Если локализация на 60 языков занимает 150 Мб (мама, это почти 3 метра на язык, а ведь это текстовые файлы), то невольно задумываешься, может, они каждую строчку положили в маааленький текстовый файлик, каждый файлик занял на диске 4.1 кб, и без усилий получилось вот это самое число?

Собрать много мелких файликов в один покрупнее? Заняться соревнованием "уложим аппликуху в 100 кб!"? Тьфу, о чём я, платят не за это, Гуглу и так норм!

Ещё и рекламу в приложение запихивают, между писем.

Может у них под каждый язык отдельный файл кастомных шрифтов. Непонятно правда зачем.

3 метра - это, простите, объём "Войны и Мира" плейнтекстом. То есть там на каждый язык прямо СТОЛЬКО текста локализовывать? Не верю!

Возвожно там разметка отъедает много места. Какой нибудь xml с namespace подлиннее на каждый атрибут.

На какой "каждый" ? Сколько строк может быть в почтовом клиенте. Ну сто, ну тысяча, но вряд ли больше....

Гуглю ещё небось и доплачивают производители смартфонов, потому что нужно же каждый год новую модель продать.

Вполне могли бы выдать при установке меню - выберите свой/и язык/языки - остальные удалить. На кой черт мне 60 языков, если мне нужно 1-2

Зачем удалять? Просто скачивать прям при установке только нужные.

Ну это не показатель! Эпл может использовать внутренние библиотеки и ресурсы системы

А что если это просто нативное приложение под Андроид которое запускается во встроенном эмуляторе?

Ну, 182 Мб (столько оно на андроиде весит) тоже дофига чот для почтового клиента

За оптимизацию приложений премий не дают, по лестнице не двигают.
За новый интерфейс - да.
За новые фичи - да.

Собственно, в этом корень проблемы.

А мне кажется, что они там поголовно перестали думать, и взвалили все проблемы на плечи ИИ. Как "великий и всемогущий" скажет, так свой говнокод и публикуют

раздувание софта - проблема не новая, и точно не с 2022 года.

Само собой, но в последнее время масштабы приняло сие действо катастрофические.

Люблю наблюдать за Adobe Reader, который буквально за годы превратился в гигабайтного монстра. Для просто-читалки пдф это слишком ущербно.

Жирно

Да, Reader жииииирный. Двадцатимеговая SumatraPDF его известно на чём вертела.

Я и сам Суматрой пользуюсь, и всем её ставлю, рекомендую, потому что Ридер уже далеко не просто Ридер, а многофункциональный комбайн, так что называть его "просто-читалкой пдф" — жирно.

не просто Ридер, а многофункциональный комбайн

Cтопами Nero Burning ROM, так сказать.

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

я что то не увидел ответа на вопрос, заданные автором
1) если файл меньше 4кб занимает все равно 4кб так чего бы все эти мелкие файлы не хранить в одном?
2) это же сколько нужно иметь текста на 150мб? это больше 2мб на язык я что то не припомню в приложении почты текста размером с Войну и Мир
3) а то что сам бинарник весит 250мб нас уже вообще не удивляет? в статье подаётся это так как будто это нормально для приложения с 2 экранами

если файл меньше 4кб занимает все равно 4кб так чего бы все эти мелкие файлы не хранить в одном?

Потому что разработчикам глубоко наплевать. Собственно и остальные моменты тоже. Ибо «Ахаха что ты делаешь? Уйдёшь с Gmail? Ахаха». Ну вот и всё.

Слушайте, ну у продукта уровня GMAIL по любому есть пачка продакт и прожект менеджеров, там определенно конкретно "разработчики" пилят фичи по таскам и вряд ли принимают решение "а давай ка я оптимизирую эту структуру в свое свободное время и получу нон профит бонус".

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

Это я к чему, хватит бить разработчиков там, где надо бить продактов :D

И сколько они заработают если потратят ресурсы на оптимизацию ? думаю что 0 тогда ни один продукт овнер не выкатит требования и задачи на оптимизацию

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

Странно что никто в команде мобилок gmail это не продал бизнесу. Там же с цели "уменьшим приложение в два раза за год" можно годами, а то и десятилетиями, кормиться целым отделом из десятков человек. Если подумать то и сотня прокормится.

Куда денусь? Уже делся. Встроенная Айфоновская почта. Нормально работает. Зачем менять не понимаю. Менять на 670 мегабайтного монстра точно не буду. При этом с учетом провала Эппла в ИИ продать мне нормальный почтовый клиент вполне можно. Киллер фича в 2025 понятна. Уведомления о реально важных письмах это прямо хорошо. На ИИ как раз и делается. Но увы.

И сколько они заработают если потратят ресурсы на оптимизацию ? думаю что 0 тогда ни один продукт овнер не выкатит требования и задачи на оптимизацию

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

Увы, правило "не тянуть ненужные зависимости" ломается на транзитивных зависимостях. А правило "выбирать качественные и известные библиотеки" упирается в то, что известные библиотеки - некачественны.

Мы живем Жизнь не идеальных людей

Сколько плевался что приложение Facebook весило 450 Мб а если хотел писать cообщение человеку то нужно скачать FacebookМессенжер еще 350Мб. В то время рядом стоял ВК с 130 Мб - с интегрированным мессенжером и плеером... Тоесть 780 Мб - только чтоб пользоваться Facebookom и притом обновлялось оно раз в 2 недели.... И только 3 года назад они сократили приложение и стало 250Мб и возможно и Мессенжер(не помню) но помню что долго матерился изза распухшести

Можно использовать только почту, а не приложение

Если многие начнут так делать, то для безопасности закроют почтовые протоколы.

Неудобно. Объективно неудобно.

Почта это бай дизайн куча файликов. И разные индексы с тегами над ними для удобства. Оно прямо создавалось чтобы работать локально.

Погодите, в айфоне же есть уже приложение почты

Так а почему бы и не уйти с их приложения и не использовать стороннее что-то? Я, к примеру, всю жизнь пользуюсь дефолтным iOS-клиентом для почты (как раз для gmail), вопросов к нему нет

Ну топят за полную интеграцию, притом от вендора - К примеру также юзаю Я.Почту - как клиент для различных сервисов, нареканий нет. Но домохозяйки не всегда должны страдать

Потому, что как продукт Gmail (именно как сервис почты, не приложение) сознательно отходит от стандартов и делает так чтобы любое использование его вне официального приложения создавало дополнительный «фрикшн» для пользователей. Начиная от концепций тегов vs папок и заканчивая регулярными палками в колёса по авторизации: авторизация по паролю? не, не слышали, либо Oauth2 со своими заскоками, либо пароль приложения, который по цепочке требует двухфакторку... или вообще потребует вводить капчу лол.

91 мегабайт весит официальный клиент ВКонтакте и 5 мегабайт весит неофициальный Kate mobile.
Может всё то, что написано в статье способствует скорости работы и стабильности приложения?
Но опять же неофициальный клиент работает быстрее и стабильнее

А это точно не про оперативку было сказано? Про неё же, во времена DOS. И что плохого вы видите в минимизации размера приложения и используемой им ОЗУ? Такие ресурсы как локализации должны быть скачиваемыми отдельно, при необходимости, а не идти "полным комплектом" в составе приложения (которое само по себе весит слишком много для "почтовика").

Почтовый клиент для телефонов MailMan, которым я пользовался во времена J2ME, весил 70 кБ и обладал хорошим набором функций. Увеличение размера приложений и ресурсов вызвано не объективной инженерной необходимостью, а удешевлением и ростом мощности "железа", которое позволяет такую "роскошь".

Скрытый текст

Математика вообще не сходится. 285+150=435 != 669.
А на счёт функций. Все понимают, что внутри Gmail сидит Google Meet? Ну и ещё 10-13 шпионов.

Они не учитывали библиотеки, изображения и прочие ресурсы в этом подсчёте, которые там есть помимо основного бинарника и языковых файлов.

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

Потому что всё от эпла - неоптимизированное раздутое Г для раздутого эГо. Как ни дрова, так два диска - один под нормальные системы 2 в 1, и второй целиком под макось.

Да причем тут Эппл, возьмите любое банковское приложение или приложение какого нить маркета - они тоже раздуты. Хотя казалось бы что там - несколько страничек. Потому что везде внутри браузер. Тут хочешь не хочешь - меньше не получится

Я согласен, что эпл конкретно тут не при чем, но похейтить эпл по любому поводу это маст хэв ибо эпл это ..., в общем плохо.

Приложение сбербанка 770МБ. Вместе с кешем и данными пользователя - 1,3ГБ. Что там может занимать такие объёмы я не понимаю.

А как же регулярно обновляемые "очень полезные" предложения (для банка полезные) в 4K(хотя нет - мало - надо в 8K)?.

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

Да там наверное разработчики работают на модных библиотеках )) А так смысла нет им сидеть оптимизацию проводить. Все равно люди ставить будут.

Глянул - 366мб занимает. Не обновлял пару лет. Что там прибавилось из функционала?

Правда данных на 1.2гига. Не понял зачем - почта же на сервере вся.

А не многовато ли 150 МБ для всего лишь 60 языков? Там же просто локализованные строки, скорее всего. Что они туда запихнули?

Возможно - часть - картинки?

Если честно, я не видел в gmail картинок, которые бы прямо нуждались в локализации под разные страны. Если только там какие-то изображения в определённой стране запрещены, но там ничего такого не было, вроде, все иконки максимально сухие и нейтральные

Оно ещё и глючит. У меня если нажать на уведомление о письме - приложение gmail откроется, но будет висеть с белым экраном.

Если сделать обёртку под web-приложение, то это решило бы много проблем

А вы думаете, оно на нативном коде там на 600 метров опухло, что ли?

Спасибо не надо. Что будет если у пользователя не идеальный канал?

MS вот сделала Outlook новый таким. Теперь и без интернета с почтой УЖЕ скачанной с сервера и локальный/корпоративный сервера нагло клевещет что к нему за почтой обращаются неизвестно кто с Azure с логином и паролем который дан локальному приложению.

Что за бред, в играх на iOS значит я могу пару гигабайт ассетов упаковать в бандлы и скачать в рантайме в дополнение к основному бинарнику, включая кстати локализацию. А Google в почтовом клиенте не может, из за "особенностей ОС".

Да фиг с тем, что не может. Вопрос, как у них вышло по 3 МБ на язык. У игр то понятно - текстуры, модели, катсцены. Но это почтовый клиент...

Ну кстати из любопытного. Под андроид наше приложение целиком включая картинки и прочее весит около 30 мегабайт. В гугл плее благодаря механизму бандлов юзер и вовсе мегабайт 15 скачивает, ненужное выкидывается (не под его архитектуру, или картинки не под его экран). При компиляции kmp бинарника под ios (а в kmp часть у нас заметно меньше половины кода вынесено, думаю около 15-20% максимум) - вес бинарника чисто с кодом под сотню мегабайт уходит уже. Понятно что тут и kmp может быть виноват, где-то что-то не оптимально собирается, но даже небольшие проекты чисто на свифте на ios почему то весят заметно больше (в разы) чем аналогичные по объему кода на андроид.

150мб - это не локализация, это переводчик встроенный должен быть.

Тут скорее всего проблема в отличиях ОС и пофигизма компании. Сейчас глянул у себя на Андроиде - 149Мб само приложение. Что там хранить на такой объем тоже не понимаю.

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

Сейчас же в телефонах 100+Гб памяти, кто там эти мегабайты считать будет 😁 Логика у них такая может быть

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости