Этот выпуск нашего дайджеста затрагивает вопросы деления пиццы, работы CarPlay, обсуждает Google I/O, развитие приложений в 2019, консоль-шарманку и ошибки пуш-уведомлений.
![](https://habrastorage.org/webt/ud/ec/d6/udecd6fe71o2cdss8bigx5vjne8.png)
Чтобы сделать пиццу из половинок мы использовали два UICollectionViewLayout. Рассказываю о том, как мы написали такой лейаут для iOS, с чем столкнулись и от чего отказались. Сегодня будет история о том, как наш навигатор появился в CarPlay. Расскажу, как с такой себе документацией и недоделанными инструментами мы создали рабочий продукт и разместили его в AppStore.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+13) Превращаем ViewPager в менеджер фрагментов с анимацией в стиле iOS
• (+11) Нужно ли писать weak self в Grand Central Dispatch?
• (+10) Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode
• (+8) UIAppearance оказался не так прост
• (+8) Интервью — 10 вопросов про Swift. Часть 2
• (+6) 7 вещей об авто-возобновляемых подписках, о которых следует знать
• (+6) Поднимаем читаемость кода в iOS разработке
• Apple приглашает на WWDC 2019
•
UIButton: расстояние между иконкой и текстом
•
Управление памятью, кучей и стеком в Swift
•
Siri Shortcut: как добавить интеграцию Siri в приложение
•
Рефакторинг iOS-приложения с шаблоном Coordinator для навигации
•
Введение в Core Data
•
Продвинутая отладка в Xcode
•
Делаем первое MacOS приложение
•
Создаем ячейки таблицы, подстраивающиеся под размер содержимого
Android
• (+30) О чём говорили на Google I/O 2019: Android 10, AR-приложения и многое другое
• (+13) Сжимаем APK, стараясь сохранить его работоспособность
• (+11) Безопасная передача данных между двумя приложениями
• (+6) Custom Bottom Sheet: как это должно работать
• (+4) Android. Виджет в виде карточек на основе StackView (что-то наподобие Tinder)
• Финалисты Indie Games Showcase
•
Android Dev Podcast #94. Google I/O 19. Детальный разбор.
• Huawei отключили от Android
•
Как создать простую викторину о числах с Kotlin и NumbersAPI
•
Бесшовная анимация запуска приложений в Android с использованием Intent Source Bounds
•
Ключ к здоровому Android-проекту
•
Как улучшить время сборки вашего Android-проекта
•
Делегация классов в Kotlin
•
Обзор Android Jetpack Compose
•
Как Android-разработка стала Kotlin-first?
•
Исследуем CameraX в Android: Camera View
•
Wide Color фотографии в Android: что надо знать
•
Как хранить и использовать конфиденциальную информацию в Android-разработке
•
Проверяем установки не из Google Play
Разработка
• (+22) Создание игры Tower Defense в Unity: враги
• (+21) 5 ошибок в реализации push-уведомлений для мобильных приложений
• (+12) 3D-интерфейсы обычно хуже, чем 2D-интерфейсы
• (+12) Создание ритм-игры в Unity
• (+9) Собираем Flutter приложение для десктопа
• (+8) Почему инди проекты не доживают до релиза
• (+7) Прототипирование мобильной игры, с чего начать, и как это делать. Часть 1 и Часть 2
• Podlodka #111: Пишем книгу
• Podlodka #112: Олимпиадное программирование
• GitHub внедрит функцию для сбора пожертвований
• АйтиХайп: Константин Осипов – Tarantool, Mail.Ru и B2B
• Wolfram Engine стал бесплатным
• Steam Chat вышел на iOS и Android
• Личный бренд разработчика
•
Топ-9 ошибок дизайна приложений
•
Гамбургер в меню: слишком популярно, чтобы провалиться?
•
Топ-5 инструментов дизайна для не-дизайнеров
•
Псевдо 3D движок на Excel
•
Почему Flutter это будущее мобильной разработки
•
WebAssembly в eBay: пример использования
•
Когда код превращается в ужастик
•
Забудьте о шеф-поварах и настольном футболе – разработчики хотят баланса и роста
•
Как мы сделали редизайн приложения всего за 3 месяца
Аналитика, маркетинг и монетизация
• Как будут развиваться приложения в 2019: мнение Adjust
• Разработка, продвижение и монетизация мобильного приложения. Дневник проекта
• DefinedCrowd: тренировка ИИ
• Карта рынка мобильной рекламы 2019
• В Snap Game появились первые три игры
• Топ стран по загрузкам приложений в 1 квартале 2019
• Владельцы TikTok готовят музыкальный сервис
• Количество “миллионеров” в дейтинге удвоилось
• Minecraft Earth: AR-игра для мобильных устройств
AI, Устройства, IoT
• (+60) Умный дом с Алисой. Яндекс открывает платформу для всех разработчиков
• (+16) Не выбрасывайте умные лампочки в мусор, или опасность IoT
• (+6) Conversations’19: разговорный AI для тех, кто разрабатывает и кто еще сомневается
• (+6) Играем в машинки по-взрослому-2: как мы стали поставщиком телематики для каршеринга и открыли 5 офисов по всему миру
• Издатель Firewatch представил портативную консоль-шарманку
• Google представил Glass Enterprise Edition 2
•
Простая нейронная сеть на Python с нуля
•
Тренируем двух агентов играть в настольный теннис
•
Новый способ создания маленьких нейронных сетей – мощный ИИ на телефоне
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.д
![](https://habrastorage.org/webt/ud/ec/d6/udecd6fe71o2cdss8bigx5vjne8.png)
Чтобы сделать пиццу из половинок мы использовали два UICollectionViewLayout. Рассказываю о том, как мы написали такой лейаут для iOS, с чем столкнулись и от чего отказались. Сегодня будет история о том, как наш навигатор появился в CarPlay. Расскажу, как с такой себе документацией и недоделанными инструментами мы создали рабочий продукт и разместили его в AppStore.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+13) Превращаем ViewPager в менеджер фрагментов с анимацией в стиле iOS
• (+11) Нужно ли писать weak self в Grand Central Dispatch?
• (+10) Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode
• (+8) UIAppearance оказался не так прост
• (+8) Интервью — 10 вопросов про Swift. Часть 2
• (+6) 7 вещей об авто-возобновляемых подписках, о которых следует знать
• (+6) Поднимаем читаемость кода в iOS разработке
• Apple приглашает на WWDC 2019
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+30) О чём говорили на Google I/O 2019: Android 10, AR-приложения и многое другое
• (+13) Сжимаем APK, стараясь сохранить его работоспособность
• (+11) Безопасная передача данных между двумя приложениями
• (+6) Custom Bottom Sheet: как это должно работать
• (+4) Android. Виджет в виде карточек на основе StackView (что-то наподобие Tinder)
• Финалисты Indie Games Showcase
•
![](https://habrastorage.org/getpro/habr/post_images/686/1c1/045/6861c1045bee84154ebf29f5cc1fb355.png)
• Huawei отключили от Android
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• (+22) Создание игры Tower Defense в Unity: враги
• (+21) 5 ошибок в реализации push-уведомлений для мобильных приложений
• (+12) 3D-интерфейсы обычно хуже, чем 2D-интерфейсы
• (+12) Создание ритм-игры в Unity
• (+9) Собираем Flutter приложение для десктопа
• (+8) Почему инди проекты не доживают до релиза
• (+7) Прототипирование мобильной игры, с чего начать, и как это делать. Часть 1 и Часть 2
• Podlodka #111: Пишем книгу
• Podlodka #112: Олимпиадное программирование
• GitHub внедрит функцию для сбора пожертвований
• АйтиХайп: Константин Осипов – Tarantool, Mail.Ru и B2B
• Wolfram Engine стал бесплатным
• Steam Chat вышел на iOS и Android
• Личный бренд разработчика
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Как будут развиваться приложения в 2019: мнение Adjust
• Разработка, продвижение и монетизация мобильного приложения. Дневник проекта
• DefinedCrowd: тренировка ИИ
• Карта рынка мобильной рекламы 2019
• В Snap Game появились первые три игры
• Топ стран по загрузкам приложений в 1 квартале 2019
• Владельцы TikTok готовят музыкальный сервис
• Количество “миллионеров” в дейтинге удвоилось
• Minecraft Earth: AR-игра для мобильных устройств
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+60) Умный дом с Алисой. Яндекс открывает платформу для всех разработчиков
• (+16) Не выбрасывайте умные лампочки в мусор, или опасность IoT
• (+6) Conversations’19: разговорный AI для тех, кто разрабатывает и кто еще сомневается
• (+6) Играем в машинки по-взрослому-2: как мы стали поставщиком телематики для каршеринга и открыли 5 офисов по всему миру
• Издатель Firewatch представил портативную консоль-шарманку
• Google представил Glass Enterprise Edition 2
•
![image](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.д
alfaneos
Первая статья IOS про ViewPager мне кажется должна находиться в колонке Android
RoboForm
Да, конечно, вы правы. Будем внимательнее :)