Как Coinbase перешел на React Native
С января 2021 года приложения Coinbase для iOS и Android перешло от нативной разработки к React Native, и все мобильные инженеры теперь совместно работают в единой кодовой базе. Переход от натива к React Native не произошел в одночасье, и в интересах помощи тем, кто обдумывает такое решение, мы хотим рассказать историю того, как мы пришли к этому. В частности, мы хотим поделиться нашим осознанным и методичным процессом тестирования и наблюдения за результатами, а затем повышения ставок с помощью все более эффективных испытаний, поскольку этот подход был критически важным для успеха миграции.
Статья на русском: https://is.gd/lQCoWs
Статья на английском: https://is.gd/yBLCnH
👋: 3.1К
С января 2021 года приложения Coinbase для iOS и Android перешло от нативной разработки к React Native, и все мобильные инженеры теперь совместно работают в единой кодовой базе. Переход от натива к React Native не произошел в одночасье, и в интересах помощи тем, кто обдумывает такое решение, мы хотим рассказать историю того, как мы пришли к этому. В частности, мы хотим поделиться нашим осознанным и методичным процессом тестирования и наблюдения за результатами, а затем повышения ставок с помощью все более эффективных испытаний, поскольку этот подход был критически важным для успеха миграции.
Статья на русском: https://is.gd/lQCoWs
Статья на английском: https://is.gd/yBLCnH
👋: 3.1К
ScrollingContentViewController позволяет легко создать представления с прокручиваемым содержимым или преобразовать существующий статический контроллер в скроллируемый. Кроме того, библиотека заботится о нескольких сложных недокументированных пограничных случаях, связанных с клавиатурой, контроллерами навигации и поворотами устройства.
GitHub: https://github.com/drewolbrich/ScrollingContentViewController
Платформа: iOS
⭐️: 45
GitHub: https://github.com/drewolbrich/ScrollingContentViewController
Платформа: iOS
⭐️: 45
Carousel Recyclerview - карусель на основе RecyclerView. Можно делать бесконечную прокрутку, плоский или 3D вид, добавлять отражения элементам.
GitHub: https://github.com/sparrow007/CarouselRecyclerview
Платформа: Android
⭐️: 193
GitHub: https://github.com/sparrow007/CarouselRecyclerview
Платформа: Android
⭐️: 193
Media is too big
VIEW IN TELEGRAM
Еще одна библиотека от нашего читателя. SPIndicator - мимикрейт под индикатор Apple, который, например, появляется при включении/выключении беззвучного режима. Есть два анимированных пресета done и error. Можно подставлять свои картинки и показывать сверху, по центру, снизу.
GitHub: https://github.com/ivanvorobei/SPIndicator
Платформа: iOS
⭐️: 69
GitHub: https://github.com/ivanvorobei/SPIndicator
Платформа: iOS
⭐️: 69
Что не так с Flutter?
Прекрасно, когда вы делаете небольшой проект с 5–10 зависимостями. Не без проблем, но все же можно поддерживать проект с 10–15 зависимостями. Когда больше 15, становится очень сложно.
Библиотеки зависят друг от друга. И от самой версии Flutter. В большинстве проектов используется некоторое количество основных библиотек - например http, intl, sprintf, provider и другие. Но разные другие библиотеки зависят от некоторых конкретных версий этих библиотек или, чаще, от диапазонов версий. Скажем, библиотека A зависит от версии 0.17.0 библиотеки intl (или выше), библиотека B зависит от версий 0.16.0, 0.16.1 и любой другой совместимой с ней версии до 0.17.0, но не включая ее. Это типичная проблема зависимостей.
Статья на русском: https://apptractor.ru/info/articles/chto-ne-tak-s-flutter.html
Платформа: Flutter
Прекрасно, когда вы делаете небольшой проект с 5–10 зависимостями. Не без проблем, но все же можно поддерживать проект с 10–15 зависимостями. Когда больше 15, становится очень сложно.
Библиотеки зависят друг от друга. И от самой версии Flutter. В большинстве проектов используется некоторое количество основных библиотек - например http, intl, sprintf, provider и другие. Но разные другие библиотеки зависят от некоторых конкретных версий этих библиотек или, чаще, от диапазонов версий. Скажем, библиотека A зависит от версии 0.17.0 библиотеки intl (или выше), библиотека B зависит от версий 0.16.0, 0.16.1 и любой другой совместимой с ней версии до 0.17.0, но не включая ее. Это типичная проблема зависимостей.
Статья на русском: https://apptractor.ru/info/articles/chto-ne-tak-s-flutter.html
Платформа: Flutter
Forwarded from Mobile Development by AppTractor
Долгожданный анонс нового сезона от команды Podlodka - интенсив iOS Crew!
Что ты получишь? 📣
Двухнедельный интенсив с крутейшими экспертами.
Будем общаться по Zoom, чатиться в Slack и не просто делиться экспертизой, а лампово проводить это время.
Когда ты это получишь? 📣
Здесь и сейчас.
Мы уже запустили конференцию! Встречаемся дважды в день: утром и вечером.
Наша главная цель: драйвово и интересно поделиться экспертизой 🔥
В этот раз обсуждаем Базы Данных и Нетипичный iOS. Каждой из тем уделим полноценную неделю.
Тема первой недели - "Базы данных". Разберёмся в устройстве и архитектуре баз данных. Поделимся тем, как же правильно выбрать БД под свой проект, а на десерт обсудим в каких случаях лучше и вовсе обойтись без баз.
Во время второй недели погрузимся в нетипичный iOS. Предстоит глубоко копнуть! Послушаем экспертов с редким опытом в слабодокументированных областях.
Научимся лайфхакам в работе с AVFoundation, CoreAudio, Metal. И это только основное, по факту разберём куда больше
Уже поймал волну новых знаний? Тогда скорее смотри подробности и успевай на борт!
Что ты получишь? 📣
Двухнедельный интенсив с крутейшими экспертами.
Будем общаться по Zoom, чатиться в Slack и не просто делиться экспертизой, а лампово проводить это время.
Когда ты это получишь? 📣
Здесь и сейчас.
Мы уже запустили конференцию! Встречаемся дважды в день: утром и вечером.
Наша главная цель: драйвово и интересно поделиться экспертизой 🔥
В этот раз обсуждаем Базы Данных и Нетипичный iOS. Каждой из тем уделим полноценную неделю.
Тема первой недели - "Базы данных". Разберёмся в устройстве и архитектуре баз данных. Поделимся тем, как же правильно выбрать БД под свой проект, а на десерт обсудим в каких случаях лучше и вовсе обойтись без баз.
Во время второй недели погрузимся в нетипичный iOS. Предстоит глубоко копнуть! Послушаем экспертов с редким опытом в слабодокументированных областях.
Научимся лайфхакам в работе с AVFoundation, CoreAudio, Metal. И это только основное, по факту разберём куда больше
Уже поймал волну новых знаний? Тогда скорее смотри подробности и успевай на борт!
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #16
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
This media is not supported in your browser
VIEW IN TELEGRAM
“Не будет ни театра, ни кино, ни книг - один сплошной Jetpack Compose” (С) Alien Invasion для десктопаов на Jetpack Compose и Canvas API.
GitHub: https://github.com/ch8n/Compose-SpaceWars
Платформа: Android/Desktop
⭐️: 37
GitHub: https://github.com/ch8n/Compose-SpaceWars
Платформа: Android/Desktop
⭐️: 37
Мои приложения для разработчиков вышли в топ iOS и Mac App Store: сколько это принесло?
Казалось бы, для iOS и на mac разрабатывают миллионы людей. Выгодно ли делать инструменты для разработчиков?
От трех инструментов (2 mac, 1 iOS), один из которых стал №1 в категории “Инструменты разработчика”, автор получил около 60 долларов.
Статья на русском: https://apptractor.ru/info/articles/moi-prilozheniya-dlya-razrabotchikov-vyshli-v-top-ios-i-mac-app-store-skolko-eto-prineslo.html
Платформа: разработка
Казалось бы, для iOS и на mac разрабатывают миллионы людей. Выгодно ли делать инструменты для разработчиков?
От трех инструментов (2 mac, 1 iOS), один из которых стал №1 в категории “Инструменты разработчика”, автор получил около 60 долларов.
Статья на русском: https://apptractor.ru/info/articles/moi-prilozheniya-dlya-razrabotchikov-vyshli-v-top-ios-i-mac-app-store-skolko-eto-prineslo.html
Платформа: разработка
Design to Code - множество небольших примеров, в которых автор берет случайные примеры дизайна или прототипы и превращает их в код (SwiftUI или UIKit). Сейчас у него около 40 таких проектов - от редизайна Instagram до боковых меню, от анимации сплешскрина до приложения для путешественников.
GitHub: https://github.com/dheerajghub/design_to_code
Платформа: iOS
⭐️: 376
GitHub: https://github.com/dheerajghub/design_to_code
Платформа: iOS
⭐️: 376
CheckboxQuestions - это библиотека, которая предоставляет различные формы для вопросов. Пока есть Да/Нет и Вопросы с многочисленным выбором. В этих вопросах используются чекбоксы, чтобы создать элегантный интерфейс, который легко впишется в приложение. Возможно вертикальное размещение ответов, горизонтальное или в несколько столбцов.
GitHub: https://github.com/Cyber-cp/Checkbox-Questions
Платформа: Android
⭐️: 9
GitHub: https://github.com/Cyber-cp/Checkbox-Questions
Платформа: Android
⭐️: 9
SimpleAnalytics - это альтернатива сторонним аналитическим инструментам, которая передает весь контроль над данными в ваши руки. Она состоит из библиотеки на Swift для сбора событий, серверного кода на PHP (163 строчки) и десктопного приложения для Mac, которое позволяет просматривать и анализировать данные.
Swift Package Index: https://swiftpackageindex.com/dennisbirch/simple-analytics
Платформа: iOS
⭐️: 49
Swift Package Index: https://swiftpackageindex.com/dennisbirch/simple-analytics
Платформа: iOS
⭐️: 49
Проекты в Gradle 7: как не зависеть от зависимостей
Ксения Кайшева из 65apps рассказывает о новой возможности, которая позволяет централизованно описывать зависимости на проектах с системой сборки Gradle.
Статья на русском: https://habr.com/ru/post/560868/
Платформа: Android
⬆️: +6
Ксения Кайшева из 65apps рассказывает о новой возможности, которая позволяет централизованно описывать зависимости на проектах с системой сборки Gradle.
Статья на русском: https://habr.com/ru/post/560868/
Платформа: Android
⬆️: +6
TimeRangePicker - настраиваемая и простая в использовании библиотека, реализующая выбор диапазона, похожий на range picker у Apple или в приложении Samsung.
GitHub: https://github.com/Droppers/TimeRangePicker
Платформа: Android
⭐️: 58
GitHub: https://github.com/Droppers/TimeRangePicker
Платформа: Android
⭐️: 58
“Дырявим” вьюхи на Swift
Условимся, что дыркой будем называть часть UIView, которая будет вырезана для того, чтобы можно было смотреть как бы “сквозь” UIView.
Статья на русском: https://apptractor.ru/info/articles/dyryavim-vyuhi-na-swift.html
Платформа: iOS
Условимся, что дыркой будем называть часть UIView, которая будет вырезана для того, чтобы можно было смотреть как бы “сквозь” UIView.
Статья на русском: https://apptractor.ru/info/articles/dyryavim-vyuhi-na-swift.html
Платформа: iOS
Platforms State of the Union - ключевой доклад WWDC 2021 для разработчиков (есть русские субтитры). Узнайте больше о новых инструментах, технологиях и решениях Apple, которые помогут вам создавать лучшие приложения.
Видео: https://developer.apple.com/videos/play/wwdc2021/102/
Сессии: https://developer.apple.com/news/?id=eyolx84y
Платформа: iOS
Видео: https://developer.apple.com/videos/play/wwdc2021/102/
Сессии: https://developer.apple.com/news/?id=eyolx84y
Платформа: iOS
Навигация в Jetpack Compose
Навигация - основа основ в разработке мобильных приложений. Однако сделать правильную навигацию непросто, так как необходимо решить сразу множество задач. Обработка обратного стека, жизненные циклы, сохранение и восстановление состояний и переход по глубоким ссылкам - лишь некоторые из них. В этой статье рассматривается компонент Navigation из Jetpack Compose и разбираются его тонкости.
Статья на английском: https://jossiwolf.medium.com/navigating-in-jetpack-compose-78c78d365c6a
Платформа: Android
👋: 243
Навигация - основа основ в разработке мобильных приложений. Однако сделать правильную навигацию непросто, так как необходимо решить сразу множество задач. Обработка обратного стека, жизненные циклы, сохранение и восстановление состояний и переход по глубоким ссылкам - лишь некоторые из них. В этой статье рассматривается компонент Navigation из Jetpack Compose и разбираются его тонкости.
Статья на английском: https://jossiwolf.medium.com/navigating-in-jetpack-compose-78c78d365c6a
Платформа: Android
👋: 243
This media is not supported in your browser
VIEW IN TELEGRAM
Indicate - еще одна библиотека, показывающая попапы (“тосты”) в стиле подключения AirPods.
GitHub: https://github.com/pkluz/Indicate
Платформа: iOS
⭐️: 28
GitHub: https://github.com/pkluz/Indicate
Платформа: iOS
⭐️: 28
iOS 4 появилась почти 10 лет назад как первая мобильная операционная система Apple, отказавшаяся от имени iPhone OS. 18-летний разработчик с любовью воссоздал iOS 4 как приложение для iPhone, и это прекрасный “взрыв из прошлого”. Если у вас никогда не было возможности использовать iOS 4 или вы поклонник iPhone 3G, OldOS почти безупречно воспроизводит опыт использования iPhone десятилетней давности.
OldOS «максимально приближена к оригиналу», - говорит Зейн, разработчик приложения. Все сделано с использованием SwiftUI - есть плавные анимации и даже кнопка «Домой» старого iPhone, которая вибрирует с тактильной обратной связью, создавая ощущение настоящей кнопки.
В приложении также воссозданы встроенные приложения Apple для iOS 4, и это настоящее воспоминание о первых скевоморфных днях iPhone.
GitHub: https://github.com/zzanehip/The-OldOS-Project
Платформа: iOS
⭐️: 575
OldOS «максимально приближена к оригиналу», - говорит Зейн, разработчик приложения. Все сделано с использованием SwiftUI - есть плавные анимации и даже кнопка «Домой» старого iPhone, которая вибрирует с тактильной обратной связью, создавая ощущение настоящей кнопки.
В приложении также воссозданы встроенные приложения Apple для iOS 4, и это настоящее воспоминание о первых скевоморфных днях iPhone.
GitHub: https://github.com/zzanehip/The-OldOS-Project
Платформа: iOS
⭐️: 575
CompleteKotlin - плагин Gradle для автодополнения и разрешения символов для всех платформ Kotlin/Native. Он позволит вам с комфортом писать код Kotlin для всех поддерживаемых таргетов.
Если раньше у вас были дополнение и разрешение символов только для собственных API-интерфейсов операционной системы хоста, на котором вы пишете код, то с CompleteKotlin вы получите автодополнение, независимо от ОС. Это означает написание и чтение кода iOS, iPadOS, watchOS, tvOS и macOS без macOS. Это также означает написание и чтение кода Linux MIPS без Linux, Windows без Windows.
GitHub: https://github.com/LouisCAD/CompleteKotlin
Платформа: Android
⭐️: 131
Если раньше у вас были дополнение и разрешение символов только для собственных API-интерфейсов операционной системы хоста, на котором вы пишете код, то с CompleteKotlin вы получите автодополнение, независимо от ОС. Это означает написание и чтение кода iOS, iPadOS, watchOS, tvOS и macOS без macOS. Это также означает написание и чтение кода Linux MIPS без Linux, Windows без Windows.
GitHub: https://github.com/LouisCAD/CompleteKotlin
Платформа: Android
⭐️: 131
17 июня, в следующий четверг в 17:00 по Москве говорим с Ричардом (@richardtop), автором библиотеки CalendarKit. Обсуждаем open source, его недостатки и преимущества, работу с сообществом и iOS-разработку в целом.
https://t.me/apptractor?voicechat=c5ff4bd7a242e4d125
https://t.me/apptractor?voicechat=c5ff4bd7a242e4d125
GitHub
GitHub - richardtop/CalendarKit: 📅 Calendar for Apple platforms in Swift
📅 Calendar for Apple platforms in Swift. Contribute to richardtop/CalendarKit development by creating an account on GitHub.