Мифы обработки ошибок в корутинах
Почему ваш код падает, даже если вы обработали все ошибки? Корутины немедленно распространяют ошибку родителю, а если он не может её обработать — делают это сами.
Следуя простым правилам, можно избежать многих проблем при работе с ними.
#android #kotlin
Как самому научиться Android-разработке
Интервью с человеком, который самостоятельно научился разрабатывать мобильные приложения и сейчас работает Senior Android Developer в Лондоне.
Автор делится своим опытом и даёт советы тем, кто хочет стать Android-разработчиком
#android
Coroutines — неочевидные кейсы
Статья рассказывает о тонкостях использования корутин. Вы узнаете, почему нельзя использовать tryEmit
вместо emit, а collect
должен вызываться отдельно для каждого потока.
Автор также делится опытом ревью кода и даёт советы, как избежать распространённых ошибок при работе с корутинами.
#android #kotlin
Сравнение Kotlin, Swift и Dart
В этой статье автор покажем вам, как написать один и тот же код на трех популярных декларативных фреймворках — Jetpack Compose, SwiftUI и Flutter.
Таким образом, вы сможете сравнить, как они работают и чем отличаются при создании интерфейсов.
#ios #android #flutter
Инструкция по чекауту SPM
Устали от долгой загрузки зависимостей в Swift при каждой перекомпиляции? Тогда попробуйте способ, который сократит размер кэша с гигабайт до мегабайтов!
Суть в том, что бы вынести зависимости в отдельный пакет и копировать только те файлы, которые нужны для сборки.
В статье рассказывается, как получить список этих файлов с помощью команд Swift Package Manager.
#ios #swift
Отслеживание тихого режима
Как приложения узнают, включён ли у вас режим «Без звука» на iPhone? Автор статьи решил во всём разобраться и поделиться своими наработками.
В статье он рассказывает про свои исследования, начиная с попыток перехватить системные события и заканчивая использованием библиотеки libnotify для отслеживания переключателя звука.
#ios
Ребят, ищем пишущего IT-редактора блогов в Tproger
Условия: удалёнка, фултайм
Что делать:
— искать темы, которые понравятся клиентам и заинтересуют читателей;
— вникать в эти темы настолько, чтобы говорить с экспертами примерно на одном языке;
— проводить интервью и собирать фактуру;
— превращать фактуру в статью, которую захочется читать и репостить;
— дорабатывать статью вместе с экспертами и менеджерами клиента.
Требования:
— пишете логично и ёмко, видите стилистические и речевые ошибки в тексте;
— быстро находите и проверяете информацию (в том числе в англоязычных источниках);
— любите общаться с экспертами и умеете их разговорить;
— спокойно реагируете на комментарии, но можете отстоять свою позицию, если правка неуместна;
— тактично вносите правки, чтобы автор не расстраивался, а был благодарен за помощь;
— знаете, что такое ключевое слово, мета-описание и зачем нужен Wordstat.
Чтобы откликнуться, заполняйте анкету.
#вакансии #работа
Принцип Барбары Лисков в Java
Стремитесь писать качественный объектно-ориентированный код на Java? Тогда вам необходимо знать принцип подстановки Барбары Лисков — один из основополагающих принципов SOLID.
В этой статье разбирается, почему важно придерживаться данного принципа при проектировании классов и иерархий наследования.
#cleancode
Подробный разбор Observation
Речь пойдёт о новой библиотеке Observation, представленной на WWDC 2023.
Автор подробно разбирает её работу, демонстрирует примеры использования и объясняет, чем он лучше Combine.
#ios, #swift
Макросы в Swift
Как автоматизировать рутину в коде и избежать ошибок при работе с данными? Макросы в Swift — это мощный инструмент, который поможет в этом.
Они работают на уровне компилятора и позволяют генерировать код, валидировать данные, добавлять члены и наследование для классов.
#ios #swift
Курс по Flutter от экспертов за 7250 в месяц
Чем круты Surf:
— они создали первый банк на Flutter в Европе
— реализовали проекты для таких брендов, как KFC, Ригла, Love Republic, Medium Quality
Что вы получите от курса:
— менторство разработчиков Surf
— 15 проектов в портфолио
— знания кроссплатформенной разработки и возможность увеличить свой доход
Смотрите подробности и оставляйте заявку
Реклама ООО «СёрфСтудио» LjN8KPwZB
Продолжаем нашу захватывающую битву!
После жарких сражений в прошлых раундах, где Страусберг обошёл Дурова, Гейлсберг победил Брина, а Возняк и Торвальдс оставили позади своих соперников, настало время шестого раунда!
Сегодня на арене встретятся Билл Гейтс и Стив Возняк. А также Никлаус Вирт и Линус Торвальдс.
Ваш голос может изменить ход истории! Не ориентируйтесь на популярность или востребованность, здесь важна народная любовь и ваша оценка.
Голосование продлится до 31 июля 2023 года, 11 часов по московскому времени.
#баттлпрограммистов
Что нового в UIKit
iOS 17 принёс немало изменений в UIKit. Новые удобные фичи сделают ваше приложение красивее и функциональнее.
Анимация символов, превью контроллеров прямо в Xcode, авто-вибранси для лейблов — это и многое другое ждёт вас в новой версии. Читайте подробности в обзоре и сделайте свои приложения ещё круче!
#ios #uikit
4 онлайн-курса для начинающих
— Курс «Тестирование веб и мобильных приложений»
Старт 31 августа, онлайн, 51 000 ₽
Научитесь работать с требованиями, разрабатывать тестовую документацию и использовать различные подходы и техники тестирования для обеспечения стабильности и исправности приложений.
— Курс «iOS-разработчик»
Старт 31 августа, онлайн, 95 000 ₽
На курсе вас ждёт обучение Swift с нуля. Вы научитесь проектировать и анимировать интерфейсы, разработаете своё iOS-приложение, узнаете способы его монетизации и опубликуете в App Store.
— Курс «Мобильный разработчик на Flutter»
Старт 7 сентября, онлайн, 48 000 ₽
На курсе изучите язык программирования Dart, научитесь проектировать универсальные интерфейсы для Android и iOS, научитесь проектировать архитектуру приложения, работать с сетью и данными.
— Курс «Android-разработчик»
Старт по набору группы, онлайн, 76 000 ₽
Изучите языки программирования Java и Kotlin, научитесь проектировать и анимировать интерфейсы, работать с данными и сетью. Разработаете своё Android-приложение, узнаете способы его монетизации и тестирования.
#курсы
Битва титанов IT: раунд 4
Продолжается турнир за звание лучшего программиста по версии Tproger! В третьем раунде Билл Гейтс обошёл Виталика Бутерина, а Никлаус Вирт победил Сатоши Накамото.
Сегодня в сражении сойдутся:
Стив Возняк, сооснователь Apple, против Энди Рубина, создателя Android, и Линус Торвальдс, создатель Linux, против ChatGPT — языковой модели от OpenAI.
Голосуйте за того, кого вы считаете лучшим, невзирая на популярность и рейтинги. Возможность открыта до 29 июля 11:00 по московскому времени.
#баттлпрограммистов
Коллекция extensions для Swift
Откройте для себя SwifterSwift — коллекцию из более чем 500 нативных extensions Swift.
Этот репозиторий поможет вам улучшить производительность и упростить код. Посмотрите Examples.playground для более наглядного примера!
#ios #swift
Хочу в iOS-разработку
В статье вы узнаете, как проходят собеседования в IT-компаниях, на что обращают внимание и какие бывают подводные камни.
Автор делится своим опытом собеседований и даёт советы, как подготовиться к интервью в продуктовую команду.
#ios
Android-разработка для новичков
Этот материал предоставит вам более 20 ресурсов для старта в карьере мобильного разработчика.
Вы узнаете о Java и Kotlin, а также о специализированных темах по разработке для Android.
#android #начинающим
Оптимизация сборки
Статья рассказывает, как с помощью нового инструмента Baseline Profiles от Google можно на 20% ускорить первый запуск вашего приложения после установки.
Вы узнаете, как сгенерировать профиль для предварительной компиляции кода, протестировать его работу и добавить в сборку.
#android
Улучшение сборки с помощью CI/CD
Вы устали от обновлений своего приложения в маркетах? Хотите автоматизировать процесс и сэкономить сотни часов в год?
В этой статье автор подробно расскажет, как настроить CI/CD для автоматической сборки и публикации в Google Play. Прочитав статью, вы раз и навсегда решите вопрос с релизами.
#android
Настройка Java-проектов в Gradle
Хотите разобраться, как работают sourceCompatibility
, targetCompatibility
и JVM toolchains
в Gradle? Эта статья объясняет сложные, но важные концепции.
Вы узнаете, для чего нужны JVM toolchains
и как с их помощью заставить Gradle использовать нужную версию JDK. Это поможет поддерживать проекты в актуальном состоянии и избегать ошибок при обновлении инструментов.
#android
Как работают mergeable libraries
Вы сталкивались с выбором между статическими и динамическими библиотеками в проектах?
Первые увеличивают размер приложения, а Вторые — время запуска. Новый тип библиотек — mergeable
, объединяет преимущества обоих типов. Они оптимизированы по скорости сборки и запуска.
В этой статье автор покажет, как перейти на mergeable в Xcode, избавиться от зависимостей и получить отличный бинарник.
#ios #swift #xcode
Курс «Английский для разработчиков» Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
Митапы. Сможете понимать на слух доклады и выступать сами.
Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Реклама АНО ДПО «Образовательные технологии Яндекса»
Подготовка к Java интервью
Хотите узнать о тонкостях работы с классами-оболочками и получить +100500 к знанию языка? Тогда эта статья для вас!
Автор подробно разбирает пример кода с Integer, Boolean и объясняет их поведение. Вы узнаете про разницу между == и equals, автоупаковку, преимущества фабричных методов перед конструкторами.
Полезно для подготовки к сертификации и повышению мастерства в Java. Читайте и становитесь асом объектно-ориентированного программирования!
#android #java
Какого цвета Ripple
Вы наверняка видели, как появляются круги, при нажатии на кнопку? В статье речь пойдёт об этих «кружках» — это называется Ripple эффектом.
Вы рассмотрите примеры дизайна с Ripple и научитесь создавать такой эффект самостоятельно. В общем, если вы хотите сделать красивые анимированные кнопки в своём приложении — эта статья для вас!
#android #ux
Официальный дизайн-кит в Figma от Apple
После пятилетнего ожидания Apple наконец выпустила официальный набор инструментов для создания реалистичных и привлекательных интерфейсов.
От текстовых стилей и цветовых схем до компонентов и макетов — всё под рукой. Этот дизайн-кит обещает стать незаменимым инструментом для дизайнеров.
#ios #figma
Главные обновления SwiftUI
SwiftUI продолжает эволюционировать с новым фреймворком Observation, добавлением обработчиков завершения для анимаций, и новыми жестами.
Обязательно читайте обзор, чтобы быть в курсе всех новшеств и создавать приложения на новом уровне!
#ios #swiftui
Что нового в Swift 5.9
Лаконичные выражения вместо громоздких конструкций, новые способы работы с асинхронным кодом, улучшенная производительность за счёт отказа от копирования объектов — это лишь малая часть того, что ждёт вас в обновлении.
Читайте обзор о новых возможностях языка, чтобы разобраться во всех новшествах и начать использовать их в своих проектах.
#swift #ios
Интеграция ChatGPT и Xcode
Разработчик выпустил расширение для Xcode, интегрирующее ChatGPT в среду разработки iOS-приложений.
Искусственный интеллект теперь может автоматизировать рутинные задачи: комментирование, генерацию кода по описанию, рефакторинг и многое другое.
Представьте, что ChatGPT создаёт в Xcode скелет SwiftUI-приложения по вашей инструкции! Расширение пока в альфа-версии, но уже демонстрирует огромный потенциал для ускорения разработки.
#ios #xcode #chatgpt
Спад в игровой индустрии
Внимание, геймдевы! По данным свежего исследования, спрос на разработчиков игр в России снизился на 38% в первом полугодии 2023 года.
Ситуация особенно остро отразилась на вакансиях геймдизайнеров. Что это означает для индустрии и какие перспективы ожидают российских разработчиков? Давайте разберёмся вместе.
#геймдев #рынок