Избегайте «when» — используйте полиморфизм
Операторы When часто считаются признаком плохого кода, и их следует избегать. Разберем пример.
Перевод: https://apptractor.ru/whenpol
Платформа: Kotlin/Android
👏: 523
Операторы When часто считаются признаком плохого кода, и их следует избегать. Разберем пример.
Перевод: https://apptractor.ru/whenpol
Платформа: Kotlin/Android
👏: 523
👎1
VFont — библиотека, упрощающая работу с вариативными шрифтами в iOS-проектах. Вариативный шрифт состоит только из одного файла, который содержит все существующие стили для этого шрифта.
VFont на GitHub: https://github.com/dufflink/vfont
Платформа: iOS
⭐️: 17
VFont на GitHub: https://github.com/dufflink/vfont
Платформа: iOS
⭐️: 17
Conferences4Hall - реальный проект Kotlin Multiplatform с приложением iOS, разработанным на Swift с помощью SwiftUI, приложением для Android, разработанным на Kotlin с помощью Jetpack Compose, и бэкендом на Kotlin, размещенным на AppEngine.
Conferences4Hall на GitHub: https://github.com/GerardPaligot/conferences4hall
Платформа: Kotlin Multiplatform/кроссплатформа
⭐️: 49
Conferences4Hall на GitHub: https://github.com/GerardPaligot/conferences4hall
Платформа: Kotlin Multiplatform/кроссплатформа
⭐️: 49
GitHub
GitHub - GerardPaligot/conferences4hall: Real life Kotlin Multiplatform project with an iOS application developed in Swift with…
Real life Kotlin Multiplatform project with an iOS application developed in Swift with SwiftUI, an Android application developed in Kotlin with Jetpack Compose and a backed in Kotlin hosted on AppE...
👍1
NotificationBanner — полностью настраиваемая и легкая библиотека, которая упрощает задачу отображения баннеров уведомлений и предупреждений в iOS-приложениях. Поддерживает iPhone, iPhoneX и iPad, смену ориентации, появление снизу или сверху, тактильный отклик, очередь уведомлений, настраиваемые цвета и заголовки с текстом, функции доступности.
NotificationBanner на GitHub: https://github.com/Daltron/NotificationBanner
Платформа: iOS
⭐️: 4.4K
NotificationBanner на GitHub: https://github.com/Daltron/NotificationBanner
Платформа: iOS
⭐️: 4.4K
Forwarded from Mobile Development by AppTractor
Вот что к текущему моменту есть по новинкам WWDC. Если будет что-то новое - буду обновлять.
• Новые API для разработчиков с WWDC 2022
• Улучшения для Swift и SwiftUI
• Xcode 14
• Xcode Cloud теперь доступен для всех
• Apple представила процессор M2
• Apple открывает WeatherKit API
• Новые API для разработчиков с WWDC 2022
• Улучшения для Swift и SwiftUI
• Xcode 14
• Xcode Cloud теперь доступен для всех
• Apple представила процессор M2
• Apple открывает WeatherKit API
ViMusic - Android-приложение для стриминга музыки из YouTube Music. Сделано с использованием Jetpack Compose. Играет в фоне, кеширует, ищет, показывает слова песен, создает плейлисты, есть светлая и темная темы.
ViMusic на GitHub: https://github.com/vfsfitvnm/ViMusic
Платформа: Android
⭐️: 138
ViMusic на GitHub: https://github.com/vfsfitvnm/ViMusic
Платформа: Android
⭐️: 138
👍2
Food Truck - мультиплатформенное приложение на SwiftUI от Apple с WWDC2022. Главная фишка - единая кодовая база и приложение сразу для Mac, iPad и iPhone. Кроме динамических макетов используется WeatherKit для показа погоды в нужном месте.
* Картинка не от приложения, для красоты.
Food Truck на GitHub: https://github.com/apple/sample-food-truck
Платформа: iOS
⭐️: 609
* Картинка не от приложения, для красоты.
Food Truck на GitHub: https://github.com/apple/sample-food-truck
Платформа: iOS
⭐️: 609
Начинаем работу с WeatherKit
Простая статья о том, как начать работу с новым API от Apple.
Перевод: https://apptractor.ru/wthrkt
Платформа: iOS
Простая статья о том, как начать работу с новым API от Apple.
Перевод: https://apptractor.ru/wthrkt
Платформа: iOS
Проект на выходные :) RustDesk - удаленный рабочий стол, написанный на Rust. Альтернатива TeamViewer с открытым исходным кодом. Работает с Android (клиент написан на Flutter), Windows и Linux. Работает “из коробки”, настройки не требует.
RustDesk на GitHub: https://github.com/rustdesk/rustdesk
Платформа: удаленный рабочий стол
⭐️: 21.5K
RustDesk на GitHub: https://github.com/rustdesk/rustdesk
Платформа: удаленный рабочий стол
⭐️: 21.5K
Archives - пользовательский интерфейс для книжного приложения в стиле необрутализма с использованием Jetpack Compose и Kotlin.
Archives на GitHub: https://github.com/unaisulhadi/Archives
Платформа: Android
⭐️: 24
Archives на GitHub: https://github.com/unaisulhadi/Archives
Платформа: Android
⭐️: 24
Курс «Паттерны и практики написания кода»
Этот курс от AvitoTech посвящен практикам и паттернам написания кода. Он будет полезен как начинающим, так и middle-разработчикам. Эти 12 видеороликов являются частью большого курса, созданного специально для студентов МАИ и успешно проведены в учебном заведении.
Видео: https://apptractor.ru/cdptrn
Платформа: программирование
Этот курс от AvitoTech посвящен практикам и паттернам написания кода. Он будет полезен как начинающим, так и middle-разработчикам. Эти 12 видеороликов являются частью большого курса, созданного специально для студентов МАИ и успешно проведены в учебном заведении.
Видео: https://apptractor.ru/cdptrn
Платформа: программирование
👍1
Clean Architecture for SwiftUI - демо-проект приложения на SwiftUI + Combine с чистой архитектурой. Пример работы с персистентностью CoreData, сетью, внедрением зависимостей, полным покрытием модульными тестами и т.д. Есть MVVM-версия. В целом приложение использует REST API restcountries.com для отображения списка стран и сведений о них.
Clean Architecture на GitHub: https://github.com/nalexn/clean-architecture-swiftui
Платформа: iOS
⭐️: 3.5K
Clean Architecture на GitHub: https://github.com/nalexn/clean-architecture-swiftui
Платформа: iOS
⭐️: 3.5K
Swift Collections - новый пакет с открытым исходным кодом, ориентированный на расширение набора доступных структур данных в Swift. Это еще одно дополнение к языку от авторов Swift наряду с Swift Algorithms и Swift Numerics. Пока в библиотеке есть три структуры - Deque (аналог массива, поддерживающий эффективную вставку и удаление с обоих концов), OrderedSet (помесь массива и множества) и OrderedDictionary (упорядоченный словарь). Планируется еще десяток структур, но пока работа над ними только ведется.
Swift Collections на GitHub: https://github.com/apple/swift-collections
Платформа: iOS/Swift
⭐️: 2.3K
Swift Collections на GitHub: https://github.com/apple/swift-collections
Платформа: iOS/Swift
⭐️: 2.3K
Начинаем работу над модуляризацией iOS-приложения
Есть много причин, по которым разработчики хотят, чтобы приложение было модульным: более быстрые инкрементальные сборки, разделение задач, изменения кода влияют на прозрачность и т.д. Но, к сожалению, нет конкретного способа сделать приложение модульным, и разработчики остаются наедине с площадкой для импровизации и кусочками головоломки странной формы, которые не обязательно подходят друг другу так, как ожидалось.
Перевод: https://apptractor.ru/iosmodl
Платформа: iOS
👏: 149
Есть много причин, по которым разработчики хотят, чтобы приложение было модульным: более быстрые инкрементальные сборки, разделение задач, изменения кода влияют на прозрачность и т.д. Но, к сожалению, нет конкретного способа сделать приложение модульным, и разработчики остаются наедине с площадкой для импровизации и кусочками головоломки странной формы, которые не обязательно подходят друг другу так, как ожидалось.
Перевод: https://apptractor.ru/iosmodl
Платформа: iOS
👏: 149
AppTractor
Начинаем работу над модуляризацией iOS-приложения
Я попытался изложить свои мысли, рассуждения и советы, которые могли бы помочь другим разработчикам на этом пути.
👍1
Just Listen - музыкальный плеер на основе Audius API. Снаружи все стандартные функции - поиск и создание плейлистов, прослушивание в фоне, избранное, темы и т.п. Внутри Kotlin Multiplatform Mobile, SQLDelight, Ktor, Jetpack Compose и Hilt.
Just Listen на GitHub: https://github.com/RLD-JL/Just-Listen
Платформа: Android
⭐️: 44
Just Listen на GitHub: https://github.com/RLD-JL/Just-Listen
Платформа: Android
⭐️: 44
Рефакторинг приложения с десятилетним легаси за три месяца. Опыт Яндекс Музыки
Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.
Статья: https://habr.com/ru/company/yandex/blog/671236/
Платформа: Android
⬆️: +29
Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.
Статья: https://habr.com/ru/company/yandex/blog/671236/
Платформа: Android
⬆️: +29
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Проект на выходные - Koi Farm, кроссплатформенная игра (HTML, CSS и Javascript, издано в Steam, Itch.io и App Store) про выращивание парчовых карпов.
Статья про рендеринг рыб: https://jobtalle.com/digital_koi_breeding.html
Koi Farm на GitHub: https://github.com/jobtalle/koi
Платформа: кроссплатформа
⭐️: 310
Статья про рендеринг рыб: https://jobtalle.com/digital_koi_breeding.html
Koi Farm на GitHub: https://github.com/jobtalle/koi
Платформа: кроссплатформа
⭐️: 310
SwiftNIO — это кроссплатформенный асинхронный event-driven сетевой фреймворк для быстрой разработки высокопроизводительных протокольных серверов и клиентов. Это как Netty, но для Swift.
SwiftNIO, по сути, низкоуровневый инструмент для создания высокопроизводительных сетевых приложений на Swift. Он особенно эффективен там, где использование модели параллелизма «поток на соединение» неэффективно или неприемлемо. Это распространенное ограничение при создании серверов, использующих большое количество соединений с относительно низким уровнем использования, таких как HTTP-серверы. SwiftNIO широко использует «неблокирующий ввод-вывод» - отсюда и название. Приложение не ожидает отправки или получения данных из сети, вместо этого SwiftNIO просит ядро уведомлять его, когда операции ввода-вывода могут выполняться без ожидания.
SwiftNIO на GitHub: https://github.com/apple/swift-nio
Платформа: iOS/Swift
⭐️: 7K
SwiftNIO, по сути, низкоуровневый инструмент для создания высокопроизводительных сетевых приложений на Swift. Он особенно эффективен там, где использование модели параллелизма «поток на соединение» неэффективно или неприемлемо. Это распространенное ограничение при создании серверов, использующих большое количество соединений с относительно низким уровнем использования, таких как HTTP-серверы. SwiftNIO широко использует «неблокирующий ввод-вывод» - отсюда и название. Приложение не ожидает отправки или получения данных из сети, вместо этого SwiftNIO просит ядро уведомлять его, когда операции ввода-вывода могут выполняться без ожидания.
SwiftNIO на GitHub: https://github.com/apple/swift-nio
Платформа: iOS/Swift
⭐️: 7K
Lemuroid - открытый проект эмуляторов для Android. Поддерживает эмуляцию множества старых систем, от Atari 2600 через Game Boy и Sega Megadrive до PlayStation и Nintendo 3DS. Работает с Android TV, поддерживает геймпады, локальный мультиплеер, облачные сохранения и т.п.
Lemuroid на GitHub: https://github.com/Swordfish90/Lemuroid
Платформа: Android
⭐️: 710
Lemuroid на GitHub: https://github.com/Swordfish90/Lemuroid
Платформа: Android
⭐️: 710
Почему я бросил Android-разработку после 10 лет и чем планирую заниматься сейчас
В этой статье я расскажу о том, почему я навсегда ушел из Android-разработки, проработав в этой отрасли почти десять лет.
Перевод: https://apptractor.ru/android10
Платформа: Android
👏: 770
В этой статье я расскажу о том, почему я навсегда ушел из Android-разработки, проработав в этой отрасли почти десять лет.
Перевод: https://apptractor.ru/android10
Платформа: Android
👏: 770
👍2🔥2👎1😁1