Как стать автором
Обновить

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

Apple: боль как имманентная часть культуры.

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

"Документация его никак не увеличит."


У Microsoft всегда была нормальная документация. И с доходами у них тоже всё в порядке. Наверное, это просто так повелось исторически: одни делают документацию, другие не делают, и все считают, что так и надо.

Самое интересное у майков есть обертки для эплового апи (я так понимаю это для xamarin) где документация лучше чем в оригинале, так и получается — читаешь доку апи эпла на сайте microsoft )
У Microsoft всегда была нормальная документация
я вполне себе не единожды натыкался на доки с MDSN, где примеры кода попросту не компилировались, потому что не соответствовали стандарту си, а уж более стабильного языка и не назовешь.

Мне например очень нравилась документация Qt. Чертовски подробная, достаточно многословная, куча нюансов описано и примеров предоставлено. Это до тех пор, пока я не начинал использовать более новые и менее стабильные фичи. И там доходило до того, что на часть моих вопросов могли ответить только 1-2 человека на SO… которые являлись разработчиками тех самых фич (qbs).

Собственно, судить о документации надо либо очень комплексно, либо не очень категорично. Потому что скорее всего вы испытываете её нехватку потому, что всё хорошо покрытое уже освоили.
Ну с Qt попроще всё-таки, исходники ведь посмотреть можно. А они весьма читабельные (были, по крайней мере, когда я смотрел)
НЛО прилетело и опубликовало эту надпись здесь
Так что MS тоже не образец в составлении документации.


Так я не возражаю. Не идеально, да. Но документация на продукты Microsoft всегда была доступной. Начиная от описания прерываний MS DOS. Наверное, им было нужно привлечь на свою темную сторону побольше программистов.
У Microsoft всегда была нормальная документация

MSDN всегда был помойкой без нормального поиска и даже без обычной древовидной структуры, по которой можно что-то найти.
Человеческую жадность никто не отменял
Затраты на рисование более новых и выразительных иконок, я уверен, больше, чем на отдел технических писателей. И для конторы размером с Apple/Microsoft это копейки. Просто так повелось, наверное.
Результат можно посмотреть на рутрекере, например. Если есть программа для решения какой-то прикладной задачи — она, скорее всего, будет под Windows.
ну я бы поспорил, иногда кроме названия метода ничего нету
Это нормальная логика для средней руки конторки с ограниченными бюджетами.
Но когда ты буквально не знаешь (в буквальном смысле этого слова) куда девать деньги, а на презентациях слово awesome звучит каждые три минуты — это ну никак не тянет на весомую отмазку.
«Крупная финансовая корпорация возьмёт в аренду дырокол»
НЛО прилетело и опубликовало эту надпись здесь
«Документация его никак не увеличит.»

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

Больше приложений не значит больше денег.

Со стороны разработки и внедрения дизайна, могу добавить, что у Apple, худшие гайдлайны.
Честно говоря, придя по пути мобильной разработки MS — Android — ios, был сильно удивлен, что почти на любой вопрос чуть более высокой сложности, получаешь ответ в виде «Это Apple детка, решения нет, ищите другой способ». И зачастую решения нет, т.к. как раз нет документации и\или обсуждения проблемы о которая часто известна много лет с разработчиками Apple. (как это делается на других платформах)
НЛО прилетело и опубликовало эту надпись здесь
Если им следовать, то приложения получаются словно плагиат друг-друга с зазженным UI.
Чем «заезженей» UI, тем он привычней и понятней пользователю. А в дикие фантазии дизайнеров уже наигрались в двухтысячных в вебе, пока не получил доминирование wordpress и bootstrap, задавшие тренд на унификацию дизайна.
НЛО прилетело и опубликовало эту надпись здесь
Если вы делаете приложение, которое отличается от других только дизайном а не функциональностью, может вы делаете что-то не то? =)
Чем более понятный, предсказуемый и унифицированный дизайн тем лучше. Приложения призваны решать задачи а не превращать решение в квест «поиск предметов».

Поддерживаю. Ни разу ещё не удалял приложение из-за недостатка дизайнерских свистоперделок, а вот наоборот — постоянно.

Немного не по теме. Но хочу высказаться.


Самое ужасное для разработке под сафари на js это отладка, под старые устройства.


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


Подвиндоус и андроид такой проблемы нету.
Вы конечно можете сказать есть бабл — но это не всегда помогает.

Если надо только JS, может, OS X в KVM помогла бы? Без ускорения GPU, правда.
Как из один вариантов, вот как только подключеный айпат по USB к MacMini пробросить на виртуалку. Я представляю какой это квест.

Я вот такое раньше использовал из под линукс github.com/google/ios-webkit-debug-proxy и более менее ратало на айфоне но не на айпаде.
Да нет особого квеста, одна галочка в vmware.
А если Parallels использовать?
Я так понимаю это видоус через виртуалку для mac os, если да — то это совсем не то что нужно.
Тут борьба физического устройства и невозможности дебажить сайт/веб-приложение средствами Аппл через Safari remote debuger.
Это ещё и macOS через виртуалку для macOS, что по идее должно помочь с установкой и использованием более старых версий macOS.

Самый простой выход в этой ситуации: BrowserStack (виртуалки с разными версиями браузеров прямо в браузере).

Да этот подход можно, к сожалению, на многие вещи распространить. Иногда кажется, что там сплошные маркетологи управляют: прорекламировали, люди деньги потратили — можно забить.
3D-Touch выпустили — через три года убрали даже на тех устройствах, которые его поддерживают (и на телефонах, и на часах, хотя с ним вызвать действие на меню получалось быстрее).
Поддержку eGPU выпустили — через несколько лет на устпойствах с М1 уже eGPU не поддерживается. Ну а что, пользователи собирали из MacMini практически Mac Pro за лишь малую часть стоимости, разве такое стоит допускать?
Я хоть и не луддит, но с таким отношением я с ужасом боюсь того момента, когда Apple перестанет поддерживать x64. Вот там будет вакханалия самоуправства.
Я к тому, что не только старые устройства, даже относительно новые не в почете. Может даже менее любимы, чем старые, так как их пользователь не так скоро задумается об обновлении. Складывается впечатление, что подталкивают, как могут.

Я понятия не имел, в чём проблема на стороне Apple.
  • Отделу документации не дают ...

Понятия и не будет. Проблема не на стороне Apple.

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

Рынок сегодня не для мелочи. А мелочь, как например в подобных статьях, всё ноет и ноет, мол ну когда же они прекратят мне препятствия на пути к миллионам ставить? Но простую вещь понять не могут — зачем им делиться с убогими?

У больших контор всё хорошо, поэтому ничего для вас не изменится. Не смотря на подгорающее чсв, да. Пора бы уже, наконец, посмотреть правде в глаза. Или фраза «ну я же хочу стать миллионером!» весь мозг заполонила? Ну что-ж, бывает. Только мечта сбывается у единиц из миллионов. Посчитайте на досуге, сколько там на миллиард народу цукербергов приходится. Вот такие у вас шансы. Повезёт — выстрелите и без документации. Потом купите тех, кто умеет и с такой документацией. Ну и далее будет легко. А пока это всего лишь нытьё, мол мне, такому бесценному, не дают зарабатывать.

Вы не правы. У Гугла великолепная документация для Флаттера, даже есть канал на Ютубе на котором каждые пару дней появляется новый ролик про очередную фишечку. Хорошее коммьюнити и любовь разработчиков выгодны для любой компании — это и возможность забирать лучшие кадры с рынка и большее количество качественных приложений за которые они получают комиссию.

У гугла документация весьма неровная. Некоторые вещи прекрасно задокументированы, некоторые примерно как у Эпла.

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

Вот например вы — будете платить разработчику вашего почтового клиента каждый месяц хотя бы рублей по 200-300? Вы уже задумались? А как вы думаете, сколько миллисекунд потребуется большинству хомячков что бы отказаться платить?

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

Вы скажете — ну пусть автор на рекламе зарабатывает, пусть вертится, пусть бизнес развивает. Но он-то как раз всё так и делает! И в итоге нектороые авторы дорастают до размеров гугла. И оные гуглы с эпплами дают вам то, что вы имеете. Именно потому, что они по вашему совету не ждали милости от клиентов, а поставили себе задачу взять от вас всё, не спрашивая ваших советов. Ну и теперь диктуют свою волю хомячкам, которым в лом подумать о будущем, которые не хотят платить за то, что можно получить бесплатно, но отстойного качества.

Повторюсь — самая обычная человеческая глупость. Массовая. Которую тупо используют. И результат все видят, но глупость мешает его понять. Думают, что «это похоже на монополизацию», но на самом деле это похоже на отказ людей от желания думать о своём собственном будущем. И вот вам результат.
Очень странные и непонятные вещи вы пишете. Почему пользователь должен платить за то, что ему не нужно или больше того, что может заплатить конкуренту? Это проблемы производителя, а не клиента. На практике одни и те же задачи нередко имеют технические решения, различные по стоимости в разы и десятки раз, но одинаковые по качеству. А иногда более дешевые решения более качественны, чем дорогие.
В СССР тоже за всех думали, теперь вот корпорации решили тоже за всех подумать. Неудивительно, что растет спрос на «максимально чистую ось» на устройствах, без приложений, которые пользователю не нужны, но аккуратно собирают о нем максимум информации.
Я два года ходил с Айфоном, но в конце концов меня достало вытягивание денег, странный интерфейс и думание за меня. И судя по тому, что Самсунг отыграл рынок, политика Эппл ведет компанию не туда. Наверное есть люди, которым удобно, что за них думают — вот пусть и покупают продукцию Эппл.
Что же касается почтового клиента — это было одно из немногих приложений под Андроид, которое я купил, и рад за автора, что он его продал. Надеюсь, что недешево, потому что приложение удачное.
Тысячи программистов в мире делают бесплатные продукты, и спасибо им за это. В Западном мире нормальна финансовая благодарность, у нас (как, к слову, и в Индии) — не очень. Это вопрос культуры. Я периодически шлю донаты.
>> Почему пользователь должен платить за то, что ему не нужно или больше того, что может заплатить конкуренту?

Вот поэтому вы и потеряли свой почтовый клиент. Вы хотите дёшево и красиво, но так не бывает. Либо вы меняете отношение к чужому труду, либо вас так и будут иметь мега-корпорации. Третьего не дано.
Я клиентом как пользовался, так и пользуюсь. И продавший его автор успешно продолжает над ним трудиться, но уже работая на покупателя. Да, после продажи компания попыталась переделать клиент под свои стандарты «хорошего продукта». Но хватило ума отказаться, видимо посмотрели на жалобы и убегающих пользователей.

Эта заметка появилась так во время. Недавно я разбирался с кастомным UICollectionLayout для чата. Там документации просто нет. На тебя выплюнуты какие то факты которые не всегда соответствуют действительности. Ни описания цикла, ни в каком порядке что вызывается. Зачем ходить в SwiftUI когда UIKit наполовину мертвый. Я сидел и постоянно проклинал эпол.

Всё так. Приходится слушать часовые записи "воркшопов" с WWDC в надежде, что покажут хоть как-то релевантный пример, и постоянно сидеть на StackOverflow :(

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

А я как-то привык всегда смотреть в заголовки (да и в исходники, что уж там) вместо рысканья по StackOverflow. По мнению автора, наверное, совсем мерзкое дело.
По работе пишу на Си для процессора Nordic NRF52382. Документация написана в стиле «название функции — список параметров». Зачем эта функция — ни слова. Примеров в документации нет. Есть набор примеров отдельно, только он для старого API, с другими функциями, и с современным API стыкуется весьма опосредовано. Плюс отдельно файл конфигурации этой библиотеки в целом, по которому документации нет вообще — приходится разбираться в многоуровневых #ifdef в исходниках. Хорошо еще эти исходники есть, иначе работать было бы нереально.

Есть форум на сайте, куда иногда забредают разработчики API. Местный функциональный аналог SO.

Это норма в современном мире. В моем случае Nordic получает прибыль с продаж микросхем. Программисты, пишущие API — это статья расходов, они прибыль не приносят. Не удивлюсь, если отдела документации там вообще нет.
У TI тоже самое. Документация на сам процессор относительно норм, но это описание регистров. Чуть более высокоуровнево даже для их RTOS — все, туши свет, кидай гранату.

Такие стать очень полезны тем, что возвращают веру в себя. А то, я, признаться, чувствовал себя полным дураком, первый раз увидев SwiftUI после приличного бекграунда на ObjC с классами, ObjC с xib, ObjC и Swift со Storyboard. В Storyboard ты хотя бы мог визуально компонент перекинуть, посмотреть что за класс, потом пойти в доки. Тут сидишь и думаешь: а как тут вставить Х? Нагуглил, вставил. А как его сделать таким? Опять гуглишь. А как вставить Y? Нагуглил, вставил, бац: а два элемента нельзя (если память не изменяет, до сих пор нет простой подсказки в Xcode, что больше одного элемента должны быть обернуты в Stack).

Ну, начнем с того, что в последние годы дока у эплов вполне себе ничего. Да и раньше была не плохой.
Отсутствие описания иногда бывает, не успели дописать, через год обычно появляется. Исключения есть, но обычно это что-то старое, хоть и полезное.
Но что более важно: нельзя узнать как оно работает прочитав описание одного метода. У эплов есть еще руководства (Guidelines) и, более ценные, ролики wwdc. Пока не научился смотреть wwdc тоже не понимал, как можно по доке с чем-то разобраться, особенно когда принципиально новый фреймворк вышел без хорошего описания где-то в начале. А как wwdc начал включать, так оказалось, что норм все.
Так что не все так однобоко, как кажется.
Мне кажется, или яблоко само по себе не очень

Хочешь зарабатывать деньги моей лопатой и требуешь чтобы я черенок отполировал, потому что занозы мешают… А где спасибо за лопату?

Выдвину смелое предположение.
Одной из причин того что доля iOS на рынке сильно меньше Android в том, что для разработки под iOS недостаточно документации.
Конечно, звучит притянуто. Ведь есть более весомая причина — разрабатывать/публиковать в App Store можно только на компьютере от Apple. Дальше можно привести порог входа в программирование, но он есть и у всех других платформ.
Достаточно представить желающего создать свое первое приложение под iOS, пусть у него уже есть макбук, а также способности кодить. Он пытается разобраться в доках, а их нет, вдруг обращает внимание что в Android разработке с этим порядок и перекатывается туда. А если бы доки были, то довел бы начатое до конца.
Так что наличие доков хоть и не полностью перевернет ситуацию на рынке, но разработчиков под iOS и приложений в App Sore прибавится.
Другой вопрос, в Apple должны же были подсчитать насколько окупится вложение в документацию.

Ваше предположение логичное, но не соответствует моему личном опыту и тому что я слышу от знакомых разрабов. Платящая аудитория пользуется айос. Я сам работал в компании и знаю другие случаи когда компания тупо сворачивает вообще разработку под андроид так как нет смысла держать отдел девелоперов ради платформы приносящей 7% дохода. И никого никакие ограничения эпол не останавливают. Или часто могут ковырять андроид только ради охвата рынка, а не ради прибыли. Ситуация приблизительно такая же и в геймдеве. Казалось бы, игры в основном разрабатываются на кроссплатформенных движках, но полируются именно под иос, а зачастую и выходят раньше. Потому что балом правит тот кто платит.

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