поставить софтину которую по какой либо причине не заапрувили в аппстор
при желании разработчика это вполне возможно со сторонним сертификатом.
Но в целом то, что вы описываете, большинству пользователей айфона на айфоне и не нужно. Если чего-то нет в аппсторе, то для рядового пользователя этого не существует в принципе.
Я вообще для себя давно вывел принцип: если нужно одно устройство, на котором с различного рода костылями можно сделать все, что угодно, то берем Android-смартфон. Если же хочется обложиться несколькими устройствами, которые дружат друг с другом, и каждое делает свой род задач, и делает это хорошо, то тут кроме Apple сложно найти вендора, который может что-то предложить.
Не знаю, как сейчас, но раньше на медиуме можно было получить предложение перенести свою статью в известный блог. Я вот одну статью когда-то на медиуме запостил, потом перенес в блог ProAndroidDev, и сейчас на статье 27к просмотров, и 10.5к прочтений.
Потерять "потенциального" партнёра из-за того, что-то там не закэшировалось может быть значительно хуже сорвавшейся пиццы
Не знаю, к сожалению или к счастью, но подобные приложения вряд ли об этом очень переживают.
неумело использовать танк сразу для всего:)
Ну, тут как бы статья вся вышла о том, как люди не разобрались в матчасти изначально. Realm не умеет апдейтить вложенные объекты, если у них нет primary key, issue об этом уже много лет. Что, в принципе, звучит логично, потому что непонятно что делать с объектами без primary key и как понять, где ещё они используются. Не знаю, насколько просто это понять из документации, но мой посыл в том, что проблемы с Realm, возникшие в ключе использования базы как кэша, не дискредитируют использование (любой) базы в таком виде как таковое.
происходят редкие случаи system-kill приложения во время заказа в фоне…
Эту ситуацию я привёл как пример, могут быть и другие причины, зачем кэш
Бизнес-требования и сценарии использования у Badoo и приложения для заказа пиццы разные, как по мне. Тот же Badoo — станцию метро проехал, и вот уже список людей рядом серьезно изменился. Хотя, честно говоря, такого рода приложениями пользоваться не приходилось, поэтому утверждать ничего не берусь. Но то же меню в Додо вряд ли обновляется каждые 10 минут.
Мы не спрашиваем о сохранении состояния в целом(что в целом важно).
Мы говорим о наличии целой базы данных для этого.
Вот не вижу проблем, судя по скриншотам структуры базы и фрагментам кода, ничего криминального не кэшируется. Особых альтернатив и нет. Не в файлы, право, писать же, если нужны минимальные query по кэшу.
Что-то типа redux-persist могло бы быть интересным вариантом для простых кейсов, но держать в памяти весь кэш тоже не всегда адекватно. В ощутимом количестве случаев база как single source of truth только упрощает жизнь. Другое дело, что Realm — это своеобразная штука, которую надо уметь готовить. И как видно, ребята из Додо изначально это не совсем умели.
Мне вот интересно, а как вы данные кэшируете в своих приложениях?
Какой смысл это кешировать, если время актуальности этих данных околонулевое?
Кажется, у вас неправильное представление об условиях работы мобильных приложений. Допустим, заходит человек в метро на пути домой и хочет заказать пиццу. Он открывает приложение, оно подгружает актуальные данные. Далее, пока пользователь едет между станциями, он может бродить по приложению, выбирать, что он хочет. Также может отвлечься на другое приложение. И если на этом этапе приложение выгрузится с памяти (как пример причины потери данных из in-memory кэша) и человек не сможет дальше делать выбор до следующего доступа к сети, он может просто плюнуть и зайти в супермаркет по дороге, вместо того, чтобы по второму кругу искать нужные продукты в приложении, когда оно снова соизволит загрузить данные. Вряд ли за эти полчаса меню изменится настолько, что пользователю уже не сделают пиццу, которую он выбрал из закэшированных.
И речь здесь не только о данном приложении, или о любом приложении для заказа еды, а в принципе о мобильных приложениях, которые немного думают о пользователях. agent10 это тоже касается.
Сменил работу около месяца назад. Не уволили, просто решил, что засиделся, да и повышение ЗП не помешает. И мне показалось неплохой идеей поменять работу именно сейчас, потому что если компания продолжает нанимать в это время, значит, у нее все должно быть довольно неплохо. Тем более, когда нанимает не на место уволившегося, а расширяет команду.
Не сказал бы, что искать было очень сложно. Искал исключительно удаленку, и, по сравнению с прошлым поиском, субъективно выглядело, что таких предложений уже стало прилично больше.
Debounce иногда элегантно делают через Rx. Ну, или можно хотя бы сделать какой-то абстрактный DebounceClickListener. А то такая реализация предполагает слишком много телодвижений.
Первый скайп для андроид был выпущен 5 октября 2010, спустя ~пол года — 10 мая 2011 скайп уже выкупили и практически сразу же были выпущены обновления от майкрософт
Возможно, память меня подводит, но приложения на React Native для мобилок не выходили довольно долго после покупки майкрософтом. Или по крайней мере, не заменяли собой старые, которые продолжали работать.
А по факту, только год-два прошло с момента, когда Skype мобильный на React Native стал рабочим более-менее. До этого пользоваться им было сложно.
разрабам по большому счету приходится сильно на гугл смотреть, но тем не менее хотя бы теоретическая возможность установки из альтернативных источников существует
Ну, вот приложения компании, где я сейчас работаю, последние несколько месяцев раз в несколько недель удаляют роботы, а потом через пару дней восстанавливают. Что в том числе ломает подписку для тех пользователей, у которых в момент блокировки приходит период оплаты. Это настолько замучило всех, что моя последняя таска перед уходом на новую позицию в другой компании — прикрутить внутренние покупки от Galaxy Store (благо 2/3 пользователей на самсунгах и довольно лояльная аудитория, которая готова заморочиться, чтобы поставить приложение).
Несколько категоричное мнение, если честно. Фрагменты — это необязательно разные экраны в приложении. Если несколько фрагментов не представляют собой автономные единицы, то вполне можно сделать одну ViewModel. Да и сама она не должна знать о том, один там фрагмент или несколько. Это особенности отображения, которые еще и могут отличаться от устройства к устройству, в зависимости от конфигурации.
Ну, 60% + стрелки — это, по идее, и есть те 65%, о которых я говорил :) Ряда функциональных клавиш, конечно, не хватает, но я на макбуке комбинации некоторые через клавиши fn нажимал — жить можно.
По секрету, в Киеве не ходят рубли. А также, по сложившейся традиции, зарплаты в IT привязаны к доллару, и в целом все оперируют суммами после налогов.
Vortex — он и в Африке Vortex. Из максимально полноразмерно у них, наверное, Tab 90, Vortex известны своей плотной компоновкой. В Украине я нормальную механику нашел только в одном магазине — funkeys.com.ua. В России вроде можно раздобыть на geekboards.ru. Но сейчас с наличием везде сложно — нет никак поставки из-за мировой ситуации. Я хотел себе Vortex Tab 75, но ждать надо неизвестное количество времени, так что взял Varmilo. Но полноразмерные посмотрите, может, есть.
https://canarymail.io/ можно попробовать
при желании разработчика это вполне возможно со сторонним сертификатом.
Но в целом то, что вы описываете, большинству пользователей айфона на айфоне и не нужно. Если чего-то нет в аппсторе, то для рядового пользователя этого не существует в принципе.
Я вообще для себя давно вывел принцип: если нужно одно устройство, на котором с различного рода костылями можно сделать все, что угодно, то берем Android-смартфон. Если же хочется обложиться несколькими устройствами, которые дружат друг с другом, и каждое делает свой род задач, и делает это хорошо, то тут кроме Apple сложно найти вендора, который может что-то предложить.
Не знаю, как сейчас, но раньше на медиуме можно было получить предложение перенести свою статью в известный блог. Я вот одну статью когда-то на медиуме запостил, потом перенес в блог ProAndroidDev, и сейчас на статье 27к просмотров, и 10.5к прочтений.
Не знаю, к сожалению или к счастью, но подобные приложения вряд ли об этом очень переживают.
Ну, тут как бы статья вся вышла о том, как люди не разобрались в матчасти изначально. Realm не умеет апдейтить вложенные объекты, если у них нет primary key, issue об этом уже много лет. Что, в принципе, звучит логично, потому что непонятно что делать с объектами без primary key и как понять, где ещё они используются. Не знаю, насколько просто это понять из документации, но мой посыл в том, что проблемы с Realm, возникшие в ключе использования базы как кэша, не дискредитируют использование (любой) базы в таком виде как таковое.
Эту ситуацию я привёл как пример, могут быть и другие причины, зачем кэш
Бизнес-требования и сценарии использования у Badoo и приложения для заказа пиццы разные, как по мне. Тот же Badoo — станцию метро проехал, и вот уже список людей рядом серьезно изменился. Хотя, честно говоря, такого рода приложениями пользоваться не приходилось, поэтому утверждать ничего не берусь. Но то же меню в Додо вряд ли обновляется каждые 10 минут.
Вот не вижу проблем, судя по скриншотам структуры базы и фрагментам кода, ничего криминального не кэшируется. Особых альтернатив и нет. Не в файлы, право, писать же, если нужны минимальные query по кэшу.
Что-то типа redux-persist могло бы быть интересным вариантом для простых кейсов, но держать в памяти весь кэш тоже не всегда адекватно. В ощутимом количестве случаев база как single source of truth только упрощает жизнь. Другое дело, что Realm — это своеобразная штука, которую надо уметь готовить. И как видно, ребята из Додо изначально это не совсем умели.
Мне вот интересно, а как вы данные кэшируете в своих приложениях?
Кажется, у вас неправильное представление об условиях работы мобильных приложений. Допустим, заходит человек в метро на пути домой и хочет заказать пиццу. Он открывает приложение, оно подгружает актуальные данные. Далее, пока пользователь едет между станциями, он может бродить по приложению, выбирать, что он хочет. Также может отвлечься на другое приложение. И если на этом этапе приложение выгрузится с памяти (как пример причины потери данных из in-memory кэша) и человек не сможет дальше делать выбор до следующего доступа к сети, он может просто плюнуть и зайти в супермаркет по дороге, вместо того, чтобы по второму кругу искать нужные продукты в приложении, когда оно снова соизволит загрузить данные. Вряд ли за эти полчаса меню изменится настолько, что пользователю уже не сделают пиццу, которую он выбрал из закэшированных.
И речь здесь не только о данном приложении, или о любом приложении для заказа еды, а в принципе о мобильных приложениях, которые немного думают о пользователях.
agent10 это тоже касается.
Я меняю телефоны раз в год, иногда чаще, и нет мне оправдания, каюсь :)
Видимо, о доходах от ремонтных работ.
А не подскажете, где это вы можете себе купить такое? Я вот в официальном магазине в Украине ничего такого не вижу.
Сменил работу около месяца назад. Не уволили, просто решил, что засиделся, да и повышение ЗП не помешает. И мне показалось неплохой идеей поменять работу именно сейчас, потому что если компания продолжает нанимать в это время, значит, у нее все должно быть довольно неплохо. Тем более, когда нанимает не на место уволившегося, а расширяет команду.
Не сказал бы, что искать было очень сложно. Искал исключительно удаленку, и, по сравнению с прошлым поиском, субъективно выглядело, что таких предложений уже стало прилично больше.
Когда-то это называлось "вежливость" и "воспитанность".
Debounce иногда элегантно делают через Rx. Ну, или можно хотя бы сделать какой-то абстрактный DebounceClickListener. А то такая реализация предполагает слишком много телодвижений.
Возможно, память меня подводит, но приложения на React Native для мобилок не выходили довольно долго после покупки майкрософтом. Или по крайней мере, не заменяли собой старые, которые продолжали работать.
А по факту, только год-два прошло с момента, когда Skype мобильный на React Native стал рабочим более-менее. До этого пользоваться им было сложно.
Вероятно, потому что при таком раскладе человек не смотрит в одну точку вдаль, а постоянно перефокусируется.
Ну, вот приложения компании, где я сейчас работаю, последние несколько месяцев раз в несколько недель удаляют роботы, а потом через пару дней восстанавливают. Что в том числе ломает подписку для тех пользователей, у которых в момент блокировки приходит период оплаты. Это настолько замучило всех, что моя последняя таска перед уходом на новую позицию в другой компании — прикрутить внутренние покупки от Galaxy Store (благо 2/3 пользователей на самсунгах и довольно лояльная аудитория, которая готова заморочиться, чтобы поставить приложение).
У меня есть большое подозрение, что механизм кэширования умеет проверять хэш.
Несколько категоричное мнение, если честно. Фрагменты — это необязательно разные экраны в приложении. Если несколько фрагментов не представляют собой автономные единицы, то вполне можно сделать одну ViewModel. Да и сама она не должна знать о том, один там фрагмент или несколько. Это особенности отображения, которые еще и могут отличаться от устройства к устройству, в зависимости от конфигурации.
Ну, 60% + стрелки — это, по идее, и есть те 65%, о которых я говорил :) Ряда функциональных клавиш, конечно, не хватает, но я на макбуке комбинации некоторые через клавиши fn нажимал — жить можно.
Представьте себе, оперирование долларами свойственно рынку, завязанному на аутсорс.
По секрету, в Киеве не ходят рубли. А также, по сложившейся традиции, зарплаты в IT привязаны к доллару, и в целом все оперируют суммами после налогов.
Vortex — он и в Африке Vortex. Из максимально полноразмерно у них, наверное, Tab 90, Vortex известны своей плотной компоновкой. В Украине я нормальную механику нашел только в одном магазине — funkeys.com.ua. В России вроде можно раздобыть на geekboards.ru. Но сейчас с наличием везде сложно — нет никак поставки из-за мировой ситуации. Я хотел себе Vortex Tab 75, но ждать надо неизвестное количество времени, так что взял Varmilo. Но полноразмерные посмотрите, может, есть.