Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
(iOS) Server-Driven UI с DivKit•
(iOS) Performance в SwiftUI•
(iOS) Building Twitter using Swift 5, UIKit and Google’s Firebase•
(And) Coroutines: боль обработки ошибок•
(And) Accurately measure app performance with profileable builds•
(And) Разбор кода Pocket Casts•
(And) Modern Android Development | Android Dev Summit '22•
(Dev) Podlodka #291: продуктивность разработчикаAppTractor
Server-Driven UI с DivKit
DivKit — новый опенсорсный фреймворк для server-driven UI от Яндекса.
👍4🔥1🤡1
Kweb — веб-фреймворк Kotlin для бэкенд-разработчиков. Цель Kweb — устранить разделение между сервером и браузером, чтобы вы могли сосредоточиться на создании своего сайта или пользовательского интерфейса, а не на организации работы.
Kweb — это удаленный интерфейс к DOM веб-браузера, управляемый сервером. С помощью Kweb вы можете создавать элементы DOM и управлять ими с сервера, а также привязывать значения в вашей базе данных к элементам DOM, чтобы они автоматически обновлялись в реальном времени при изменении базы данных.
Общая проблема интерфейсов, управляемых сервером, заключается в том, что они могут казаться медленными. Kweb решает эту проблему, предварительно загружая инструкции в браузер, чтобы они выполнялись немедленно при событиях браузера, без необходимости обращения к серверу.
Kweb построен на платформе Ktor, который поддерживает HTTP, HTTPS и WebSocket. Вам не нужно знать Ktor, чтобы использовать Kweb, но если у вас уже есть приложение Ktor, вы можете встроить Kweb в качестве функции.
Kweb на GitHub: https://github.com/kwebio/kweb-core
Платформа: веб
⭐️:729
Kweb — это удаленный интерфейс к DOM веб-браузера, управляемый сервером. С помощью Kweb вы можете создавать элементы DOM и управлять ими с сервера, а также привязывать значения в вашей базе данных к элементам DOM, чтобы они автоматически обновлялись в реальном времени при изменении базы данных.
Общая проблема интерфейсов, управляемых сервером, заключается в том, что они могут казаться медленными. Kweb решает эту проблему, предварительно загружая инструкции в браузер, чтобы они выполнялись немедленно при событиях браузера, без необходимости обращения к серверу.
Kweb построен на платформе Ktor, который поддерживает HTTP, HTTPS и WebSocket. Вам не нужно знать Ktor, чтобы использовать Kweb, но если у вас уже есть приложение Ktor, вы можете встроить Kweb в качестве функции.
Kweb на GitHub: https://github.com/kwebio/kweb-core
Платформа: веб
⭐️:729
GitHub
GitHub - kwebio/kweb-core: A Kotlin web framework
A Kotlin web framework. Contribute to kwebio/kweb-core development by creating an account on GitHub.
YCharts - легковесная библиотека построения разных графиков для Jetpack Compose. Есть линейные графики, столбчатые, групповые столбчатые, круговые, пончиковые, комбинированные диаграммы.
YCharts на GitHub: https://github.com/yml-org/YCharts
Платформа: Android
⭐️: 14
YCharts на GitHub: https://github.com/yml-org/YCharts
Платформа: Android
⭐️: 14
Более быстрое железо — плохое [первое] решение для медленного ПО
Время разработчика стоит дорого, и переход на более мощное оборудование часто рассматривается как дешевое первое решение для медленного ПО. Но есть долгосрочные затраты, которые сразу не видны. Если ваше первое решение любой проблемы с производительностью заключается в том, чтобы потратить больше денег на оборудование, вы можете в конечном итоге получить программное обеспечение, которое излишне медленное, трудно ускоряемое и чрезвычайно дорогое.
Так как же решить, является ли более быстрое оборудование правильным решением проблем с производительностью программного обеспечения? В этой статье мы обсудим:
• Что можно купить за деньги с точки зрения железа.
• Почему оно не всегда помогает.
• Почему более быстрое железо не всегда должно быть вашим первым решением, даже если оно помогает.
• Изменение компромисса путем создания эффективного софта с самого начала.
Статья: https://apptractor.ru/hard1
Платформа: разработка
Время разработчика стоит дорого, и переход на более мощное оборудование часто рассматривается как дешевое первое решение для медленного ПО. Но есть долгосрочные затраты, которые сразу не видны. Если ваше первое решение любой проблемы с производительностью заключается в том, чтобы потратить больше денег на оборудование, вы можете в конечном итоге получить программное обеспечение, которое излишне медленное, трудно ускоряемое и чрезвычайно дорогое.
Так как же решить, является ли более быстрое оборудование правильным решением проблем с производительностью программного обеспечения? В этой статье мы обсудим:
• Что можно купить за деньги с точки зрения железа.
• Почему оно не всегда помогает.
• Почему более быстрое железо не всегда должно быть вашим первым решением, даже если оно помогает.
• Изменение компромисса путем создания эффективного софта с самого начала.
Статья: https://apptractor.ru/hard1
Платформа: разработка
👍1👎1
Code App - полноформатный редактор кода для iPad. Есть встроенная поддержка Node.js, Python, C, C++ и PHP, поддержка Git, поддержка пактов, встроенный эмулятор терминала и поддержка подключения к удаленному.
Code App на GitHub: https://github.com/thebaselab/codeapp
Платформа: iOS
⭐️: 4.7К
Code App на GitHub: https://github.com/thebaselab/codeapp
Платформа: iOS
⭐️: 4.7К
Forwarded from Mobile Development by AppTractor
Чемпионат по программированию Yandex Cup 2022
Чемпионат стартует уже сегодня и пройдет в два этапа — квалификация и финал. Победители разделят 6,2 млн рублей,
а лучшие студенты в каждом направлении получат еще по 100 000 рублей.
Попробовать свои силы можно в одном из шести треков:
• мобильная разработка,
• фронтенд,
• бэкенд,
• аналитика,
• алгоритмы,
• машинное обучение.
В финале участникам трека мобильной разработки нужно будет реализовать несколько мини-приложений для одной из платформ (iOS, Android либо Flutter).
Принять участие в квалификации можно до 7 ноября, присоединяйтесь!
Чемпионат стартует уже сегодня и пройдет в два этапа — квалификация и финал. Победители разделят 6,2 млн рублей,
а лучшие студенты в каждом направлении получат еще по 100 000 рублей.
Попробовать свои силы можно в одном из шести треков:
• мобильная разработка,
• фронтенд,
• бэкенд,
• аналитика,
• алгоритмы,
• машинное обучение.
В финале участникам трека мобильной разработки нужно будет реализовать несколько мини-приложений для одной из платформ (iOS, Android либо Flutter).
Принять участие в квалификации можно до 7 ноября, присоединяйтесь!
Мокирование (от английского mock, “заглушка”, “имитация”) — это метод, позволяющий сделать тестирование кода читабельным и удобным для сопровождения. Mockk - библиотека с открытым исходным кодом, ориентированная на то, чтобы сделать мокирование в Kotlin великолепными.
Mockk на GitHub: https://github.com/mockk/mockk
Платформа: Android
⭐️: 4.7K
Mockk на GitHub: https://github.com/mockk/mockk
Платформа: Android
⭐️: 4.7K
10 открытых проектов Jetpack Compose, которые вас вдохновят
Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. Jetpack Compose - новейший член семьи и один из самых важных. Сегодня мы увидим мощь Jetpack Compose.
Статья: https://apptractor.ru/compose10
Платформа: Android
Проекты с открытым исходным кодом - лучшие друзья разработчика. Я считаю, что после документации, проекты с открытым исходным кодом являются отличным источником обучения. Jetpack Compose - новейший член семьи и один из самых важных. Сегодня мы увидим мощь Jetpack Compose.
Статья: https://apptractor.ru/compose10
Платформа: Android
👍2
DevOps Roadmap 2022 - пошаговое руководство о том, как стать DevOps-инженером, со ссылками на соответствующие учебные ресурсы.
DevOps Roadmap 2022 на GitHub: https://github.com/milanm/DevOps-Roadmap
Платформа: DevOps
⭐️: 826
DevOps Roadmap 2022 на GitHub: https://github.com/milanm/DevOps-Roadmap
Платформа: DevOps
⭐️: 826
RIBs — это фреймворк кроссплатформенной архитектуры, лежащий в основе многих мобильных приложений Uber. Название RIBs является сокращением от Router, Interactor и Builder, которые являются основными компонентами этой архитектуры. Этот фреймворк разработан для мобильных приложений с большим количеством инженеров и вложенных состояний.
Преимущества архитектуры RIBs:
• Общая архитектура для iOS и Android. Создавайте кроссплатформенные приложения с похожей архитектурой, что позволяет командам iOS и Android выполнять перекрестную проверку кода бизнес-логики.
• Тестируемость и изоляция. Классы должны легко тестироваться и анализироваться изолированно. Отдельные классы RIB имеют разные обязанности, такие как: маршрутизация, бизнес, логика экрана, создание. Кроме того, большая часть логики RIB отделена от дочерней логики RIB. Это позволяет легко тестировать классы RIB и анализировать их независимо друг от друга.
• Инструменты для повышения производительности труда разработчиков. RIBs поставляется с инструментами IDE для создания кода, обнаружения утечек памяти, статического анализа и интеграции среды выполнения — все это повышает производительность разработчиков как в больших, так и в малых командах.
• Масштабируемая архитектура. Эта архитектура доказала свою способность масштабироваться для сотен инженеров, работающих над одной кодовой базой и приложениями с сотнями RIBs.
RIBs на GitHub: https://github.com/uber/RIBs
Платформа: архитектура/iOS/Android
⭐️: 7.1 K
Преимущества архитектуры RIBs:
• Общая архитектура для iOS и Android. Создавайте кроссплатформенные приложения с похожей архитектурой, что позволяет командам iOS и Android выполнять перекрестную проверку кода бизнес-логики.
• Тестируемость и изоляция. Классы должны легко тестироваться и анализироваться изолированно. Отдельные классы RIB имеют разные обязанности, такие как: маршрутизация, бизнес, логика экрана, создание. Кроме того, большая часть логики RIB отделена от дочерней логики RIB. Это позволяет легко тестировать классы RIB и анализировать их независимо друг от друга.
• Инструменты для повышения производительности труда разработчиков. RIBs поставляется с инструментами IDE для создания кода, обнаружения утечек памяти, статического анализа и интеграции среды выполнения — все это повышает производительность разработчиков как в больших, так и в малых командах.
• Масштабируемая архитектура. Эта архитектура доказала свою способность масштабироваться для сотен инженеров, работающих над одной кодовой базой и приложениями с сотнями RIBs.
RIBs на GitHub: https://github.com/uber/RIBs
Платформа: архитектура/iOS/Android
⭐️: 7.1 K
Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
(iOS) SwiftUI – Face Loading Animation Tutorial•
(iOS) Swift Closures Explained•
(And) Кастомный тулбар на Compose•
(And) Full Guide to Jetpack Compose Animations•
(And) Kotlin Coroutines in practice•
(Dev) Взгляд разработчика на качество продукта•
(Dev) Podlodka #292: распознавание речи•
(Dev) Машинное обучение с нуля — практический курс AssemblyAI👍1
Mastodon — крупнейшая децентрализованная социальная сеть в Интернете. Вместо одного веб-сайта это сеть миллионов пользователей в независимых сообществах, которые могут беспрепятственно взаимодействовать друг с другом. В этом репозитории - код iOS и Android приложений Mastodon.
Mastodon на GitHub: https://github.com/mastodon/
Платформа: iOS/Android
⭐️: 554
Mastodon на GitHub: https://github.com/mastodon/
Платформа: iOS/Android
⭐️: 554
🤔2
Как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами
Сегодня мы поговорим о том, как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами. В 2016 году WhatsApp охватил более миллиарда пользователей и имел следующую статистику нагрузки:
• 42 миллиарда сообщений отправляются ежедневно
• 1.6 миллиарда изображений отправляются ежедневно
• 250 миллионов видео отправляются ежедневно
Им удалось обслуживать этот масштаб всего с 50 инженерами. Вот описание инженерной культуры и технологического стека, благодаря которым это стало возможным.
Статья: https://apptractor.ru/wapps1
Платформа: разработка
Сегодня мы поговорим о том, как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами. В 2016 году WhatsApp охватил более миллиарда пользователей и имел следующую статистику нагрузки:
• 42 миллиарда сообщений отправляются ежедневно
• 1.6 миллиарда изображений отправляются ежедневно
• 250 миллионов видео отправляются ежедневно
Им удалось обслуживать этот масштаб всего с 50 инженерами. Вот описание инженерной культуры и технологического стека, благодаря которым это стало возможным.
Статья: https://apptractor.ru/wapps1
Платформа: разработка
AppTractor
Как WhatsApp вырос до 1 миллиарда пользователей всего с 50 инженерами
Вот описание инженерной культуры и технологического стека, благодаря которым это стало возможным.
Compose Navigation Reimagined - небольшая и простая в использовании, но полноценная и настраиваемая навигационная библиотека для Jetpack Compose. Полность типобезопасна, есть встроенное восстановление состояния, вложенная навигация с независимыми обратными стеками, собственный Lifecycle, ViewModelStore и SavedStateRegistry для каждой записи в бэкстеке, анимированные переходы, возможность определять scope для простого совместного использования ViewModel. И никаких компоновщиков, никаких обязательных суперклассов для ваших composable.
Compose Navigation Reimagined на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 261
Compose Navigation Reimagined на GitHub: https://github.com/olshevski/compose-navigation-reimagined
Платформа: Android
⭐️: 261
Iron - современный трекер тренировок с весами для iOS, написанный на SwiftUI.
Iron на GitHub: https://github.com/kabouzeid/Iron
Платформа: iOS
⭐️: 55
Iron на GitHub: https://github.com/kabouzeid/Iron
Платформа: iOS
⭐️: 55
👍2🌚1
Compose Multiplatform - порт UI-фреймворка для настольных платформ (macOS, Linux, Windows) и веба. Компоненты разработаны JetBrains и находятся вне основного репозитория Compose.
Compose Multiplatform на GitHub: https://github.com/JetBrains/compose-jb
Платформа: кроссплатформа
⭐️: 9.7K
Compose Multiplatform на GitHub: https://github.com/JetBrains/compose-jb
Платформа: кроссплатформа
⭐️: 9.7K
Как стать устойчивым и растущим инди-разработчиком
Создавать игры сложно, и есть много предубеждений, связанных с выживанием разработчиков игр. У каждого свои обстоятельства. Тем не менее, я считаю, что есть способы минимизировать риски и максимизировать свои шансы на успех и стать устойчивым. Я Крис Антони, основатель инди-студии по разработке и издательству игр Toge Productions из Индонезии, и это мой опыт инди-разработки.
Урок 1: Начните с малого
Урок 2: Повторное использование и переработка
Урок 3: Быстро терпите неудачу и делайте выводы
Урок 4: Знайте свою аудиторию
Урок 5: Знайте свои пределы
Урок 6: Превратите свои вехи в ступеньки
Урок 6: Будьте милы, заводите друзей
Статья: https://apptractor.ru/indiedev
Платформа: игры
Создавать игры сложно, и есть много предубеждений, связанных с выживанием разработчиков игр. У каждого свои обстоятельства. Тем не менее, я считаю, что есть способы минимизировать риски и максимизировать свои шансы на успех и стать устойчивым. Я Крис Антони, основатель инди-студии по разработке и издательству игр Toge Productions из Индонезии, и это мой опыт инди-разработки.
Урок 1: Начните с малого
Урок 2: Повторное использование и переработка
Урок 3: Быстро терпите неудачу и делайте выводы
Урок 4: Знайте свою аудиторию
Урок 5: Знайте свои пределы
Урок 6: Превратите свои вехи в ступеньки
Урок 6: Будьте милы, заводите друзей
Статья: https://apptractor.ru/indiedev
Платформа: игры
Библиотека нашего читателя. Pin - небольшая библиотека для работы с AutoLayout через “чейнабл" синтаксис.
Pin на GitHub: https://github.com/mezhevikin/Pin
Платформа: iOS
⭐️: 4
Pin на GitHub: https://github.com/mezhevikin/Pin
Платформа: iOS
⭐️: 4
🕊2
Weekend Mobile Offer — уже 19-20 ноября
Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.
Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.
Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами. Удачи!
Как получить офер в Яндекс за 2 дня? Участвовать в Weekend Mobile Offer. Ближайший — 19-20 ноября.
Если вы, или тот, кого вы знаете, имеете опыт разработки не менее трех лет на iOS, Android или Flutter, смело жмите на кнопку и регистрируйтесь.
Онлайн-отбор закончится 16 ноября. 20 ноября тех, кто его пройдёт, пригласят на технические собеседования и встречи с нанимающими командами. Удачи!
👍3🤮2
Видео и аудио за неделю
•
•
•
•
•
•
•
•
•
•
(iOS) Незнание стандартов не освобождает от ответственности: Юникод, Swift, Строки•
(iOS) Create iOS Calendar app in Swift with CalendarKit•
(iOS) Responsive and smooth UIs•
(And) История большого переезда одного Android-приложения•
(And) Form Factors: Android Dev Summit ’22•
(And) Easy SharedPreferences with Delegated Properties in Kotlin•
(Dev) Декларативный UI: Flutter vs SwiftUI vs Jetpack Compose•
(Dev) Quality Gates: Мне нужны твоя одежда, сапоги и мотоцикл•
(Psy) Podlodka #293: как продавать свои идеиAppTractor
Незнание стандартов не освобождает от ответственности: Юникод, Swift, Строки
Строки — это сложно: графемы, кодпоинты, нормализация, сегментация. В этом докладе пойдет речь о том, как это получилось и как с этим работать.
❤2👍2
Compose Progress Indicators - настраиваемые индикаторы прогресса, как в iOS или mac, написанные на Jetpack Compose.
Compose Progress Indicators на GitHub: https://github.com/SmartToolFactory/Compose-ProgressIndicator
Платформа: Android
⭐️: 17
Compose Progress Indicators на GitHub: https://github.com/SmartToolFactory/Compose-ProgressIndicator
Платформа: Android
⭐️: 17