Local AI Stack - этот репозиторий содержит стартовый набор для создания ИИ-приложений, работающих локально. С его помощью любой желающий может бесплатно создать простое ИИ-приложение для работы с вопросами и ответами на основе собственных документов. В наборе используются Ollama для создания модели, LangChain для оркестровки LLM и Next.js для логики приложения.
Local AI Stack на GitHub: https://github.com/ykhli/local-ai-stack
Платформа: разработка/ИИ
⭐️: 220
Local AI Stack на GitHub: https://github.com/ykhli/local-ai-stack
Платформа: разработка/ИИ
⭐️: 220
This media is not supported in your browser
VIEW IN TELEGRAM
ComposeNumericRoller демонстрирует динамическую анимацию цифр в Android-приложении с помощью Jetpack Compose. Легко анимируйте меняющиеся цифры, прокручивая их вверх или вниз, чтобы обеспечить красивое взаимодействие с пользователем.
ComposeNumericRoller на GitHub: https://github.com/HadiDortaj/ComposeNumericRoller
Платформа: Android
⭐️: 7
ComposeNumericRoller на GitHub: https://github.com/HadiDortaj/ComposeNumericRoller
Платформа: Android
⭐️: 7
Байт-код — это просто! Как сделать DI по-настоящему быстрым
Два года назад мы в Яндекс Маркетае начали разрабатывать свой легковесный DI-фреймворк Scout, который предоставляет выразительный Kotlin DSL. Он не генерирует код, а делает всю работу в рантайме.
Недавний переход с compile-time-библиотеки Dagger 2 на нашу привёл к замедлению старта приложения.
В этой статье мы будем подробно рассматривать то, как применение байт-кода помогло сохранить скорость на том же уровне и спасти проект по миграции на Scout.
Статья: https://habr.com/ru/companies/yandex/articles/770800/
Платформа: Android
Два года назад мы в Яндекс Маркетае начали разрабатывать свой легковесный DI-фреймворк Scout, который предоставляет выразительный Kotlin DSL. Он не генерирует код, а делает всю работу в рантайме.
Недавний переход с compile-time-библиотеки Dagger 2 на нашу привёл к замедлению старта приложения.
В этой статье мы будем подробно рассматривать то, как применение байт-кода помогло сохранить скорость на том же уровне и спасти проект по миграции на Scout.
Статья: https://habr.com/ru/companies/yandex/articles/770800/
Платформа: Android
❤1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
touchHLE - это высокоуровневый эмулятор приложений для iPhone OS. Он работает на современных настольных операционных системах и Android и написан на языке Rust.
Подход touchHLE к высокоуровневой эмуляции (HLE) отличается от низкоуровневой эмуляции (LLE) тем, что он не имитирует непосредственно аппаратное обеспечение iPhone/iPod touch. Вместо того чтобы запускать iPhone OS внутри эмуляции, touchHLE сам занимает место iPhone OS и предоставляет собственные реализации системных фреймворков (Foundation, UIKit, OpenGL ES, OpenAL и др.). Единственный код, который выполняет эмулируемый процессор, - это бинарный файл приложения и несколько библиотек.
Цель проекта - запуск игр, появившихся на заре iOS. В настоящее время работают приложения для iPhone и iPod touch для iPhone OS 2.x. Далее ожидается поддержка iPhone OS 3.0. В долгосрочной перспективе iPhone OS 3.1, приложения для iPad (iPhone OS 3.2), iOS 4.x.
Поддержка приложений, которые не являются играми, не является приоритетной - это сложнее и менее интересно.
touchHLE на GitHub: https://github.com/hikari-no-yume/touchHLE
Платформа: iOS
⭐️: 2K
Подход touchHLE к высокоуровневой эмуляции (HLE) отличается от низкоуровневой эмуляции (LLE) тем, что он не имитирует непосредственно аппаратное обеспечение iPhone/iPod touch. Вместо того чтобы запускать iPhone OS внутри эмуляции, touchHLE сам занимает место iPhone OS и предоставляет собственные реализации системных фреймворков (Foundation, UIKit, OpenGL ES, OpenAL и др.). Единственный код, который выполняет эмулируемый процессор, - это бинарный файл приложения и несколько библиотек.
Цель проекта - запуск игр, появившихся на заре iOS. В настоящее время работают приложения для iPhone и iPod touch для iPhone OS 2.x. Далее ожидается поддержка iPhone OS 3.0. В долгосрочной перспективе iPhone OS 3.1, приложения для iPad (iPhone OS 3.2), iOS 4.x.
Поддержка приложений, которые не являются играми, не является приоритетной - это сложнее и менее интересно.
touchHLE на GitHub: https://github.com/hikari-no-yume/touchHLE
Платформа: iOS
⭐️: 2K
Skip - это технология для создания двухплатформенных мобильных приложений на языке Swift. Сердцем Skip является интеллектуальный транспилятор языка Swift в Kotlin. Для анализа исходного текста Swift в Skip используется собственная библиотека Apple SwiftSyntax - та же самая, что используется в макросах Swift. Затем она преобразует код в понятный для восприятия Kotlin, сохраняя даже комментарии. Благодаря схожести языков, результат часто не отличается от Kotlin, который вы написали бы вручную (заметным исключением является перенос SwiftUI в Compose. Тот факт, что SwiftUI является объектно-ориентированным, а Compose - функциональным, требует некоторых неуклюжих преобразований исходного кода). Вместе с транспилятором Skip поставляет конвертер проектов Swift Package Manager (SPM) в Android Gradle. Skip объединяет эти инструменты в плагин для сборки Xcode. Этот набор инструментов Skip называется SkipStone. В этом репозитории как раз он и размещен. Здесь также размещены форумы Skip для общих обсуждений, а также для обсуждения конкретных проблем и сообщений об ошибках.
Skip на GItHub: https://github.com/skiptools/skip
Платформа: iOS/кроссплатформа
⭐️: 426
Skip на GItHub: https://github.com/skiptools/skip
Платформа: iOS/кроссплатформа
⭐️: 426
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
•
(iOS Ru)
Кнопки красить — это вам не деревья вертеть•
(iOS En)
New SwiftUI Photo Picker - Single & Multiple Selection•
(iOS En)
SwiftData CRUD Operations•
(iOS En)
How to solve nested Observable Objects issue•
(iOS En)
Swift Connection 2023 Videos•
(iOS En)
Cleaner, Safer Code with Swift KeyPaths•
(iOS En)
A Tour of Xcode Cloud•
(iOS En)
An Easier Dev Life with Kaleidoscope•
(And Ru)
Собеседование с Михаилом Левченко•
(And Ru)
Управление сложностью состояния•
(And En)
Now in Android: 94 - #TheAndroidShow, Jetpack Glance, Google Play policy updates, and more•
(And En)
AndroidX, Gradle and Metalava - Android Developers Backstage•
(And En)
When Should You Migrate to Jetpack Compose?•
(And En)
3 Clean Code Hacks I Bet You Didn't Know•
(And En)
What's new in Kotlin 1.9.20•
(And En)
Making Threads for Android•
(And En)
Kotlin & Android Development Course: Build a Quiz Application•
(Crs En)
A Complete Guide on “Login with WhatsApp” in Flutter Apps (w/ backend)•
(Dev Ru)
Backend Driven… Аналитика!•
(Dev Ru)
Podlodka #341: рендеринг текста проклятПоставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
AppTractor
Кнопки красить — это вам не деревья вертеть
На примере обычной кнопки Евгений расскажет, почему верстка интерфейса не так проста, как кажется на первый взгляд, и почему объяснить процесс создания UI-элемента порой сложнее, чем рассказать об алгоритмах работы с деревьями.
👍2
Tabman - мощный Page View Controller с интерактивными индикаторными полосами. Несколько вариантов представления, расширяемый, легко настраиваемый.
Tabman на GitHub: https://github.com/uias/Tabman
Платформа: iOS
⭐️: 2.7K
Tabman на GitHub: https://github.com/uias/Tabman
Платформа: iOS
⭐️: 2.7K
👍1
Разбор задачи A отборочного этапа Yandex Cup 2023 — iOS
Недавно закончился отборочный этап Yandex Cup для разработчиков по различным направлениям, одним из которых была мобильная разработка под iOS. Как раз про нее и поговорим, а точнее про задания, которые были там представлены. Стоит отметить, что их сложность выше среднего, по этой причине, думаю, каждый подчеркнет для себя что-нибудь новое. Хотелось бы сразу сказать о том, что некоторые используемые конструкции/инструменты языка/фреймворков были для меня не новы, но в жизни встречался с ними редко, поэтому приходилось читать и на практике воспроизводить код из условия, экспериментируя с ним. Правильных ответов у меня не было, и решал я уже после окончания отборочного этапа. Если заметите какие-либо неточности в формулировках, в размышлениях, в ответах, буду рад обсудить это в комментариях.
Статья: https://habr.com/ru/articles/771948/
Платформа: iOS
Недавно закончился отборочный этап Yandex Cup для разработчиков по различным направлениям, одним из которых была мобильная разработка под iOS. Как раз про нее и поговорим, а точнее про задания, которые были там представлены. Стоит отметить, что их сложность выше среднего, по этой причине, думаю, каждый подчеркнет для себя что-нибудь новое. Хотелось бы сразу сказать о том, что некоторые используемые конструкции/инструменты языка/фреймворков были для меня не новы, но в жизни встречался с ними редко, поэтому приходилось читать и на практике воспроизводить код из условия, экспериментируя с ним. Правильных ответов у меня не было, и решал я уже после окончания отборочного этапа. Если заметите какие-либо неточности в формулировках, в размышлениях, в ответах, буду рад обсудить это в комментариях.
Статья: https://habr.com/ru/articles/771948/
Платформа: iOS
👍1
Как сделать тесты на Espresso более читабельными и стабильными
Если вы писали тесты на Espresso — тестовом фреймворке от Google с открытым исходным кодом, — то вы знаете, что они не всегда стабильны и легко читаемы. Меня зовут Ксения Никитина, я являюсь Android-разработчиком в мобильной команде «Лаборатории Касперского». В этой статье я предложу вам способ, как сделать так, чтобы ваши автотесты отвечали всем ключевым качествам: были хорошо читаемы, стабильны, логируемы, давали возможность делать скриншоты, работали с AndroidOS и, наконец, имели продуманную и понятную архитектуру.
Статья: https://habr.com/ru/companies/kaspersky/articles/770108/
Платформа: Android/тестирование
Если вы писали тесты на Espresso — тестовом фреймворке от Google с открытым исходным кодом, — то вы знаете, что они не всегда стабильны и легко читаемы. Меня зовут Ксения Никитина, я являюсь Android-разработчиком в мобильной команде «Лаборатории Касперского». В этой статье я предложу вам способ, как сделать так, чтобы ваши автотесты отвечали всем ключевым качествам: были хорошо читаемы, стабильны, логируемы, давали возможность делать скриншоты, работали с AndroidOS и, наконец, имели продуманную и понятную архитектуру.
Статья: https://habr.com/ru/companies/kaspersky/articles/770108/
Платформа: Android/тестирование
👍1
Корутины против потоков: тест потребления памяти
Корутины Kotlin часто называют облегченными потоками. Причина в том, что теоретически корутина может потреблять меньше памяти, чем поток. К сожалению, официальных цифр в этом контексте я не встречал, поэтому решил создать бенчмарк для количественной оценки разницы в потреблении памяти потоками и корутинами в приложениях для Android. В этой заметке я расскажу об основных идеях и проблемах, лежащих в основе этого бенчмарка, а также поделюсь его результатами.
Статья: https://apptractor.ru/info/articles/kotlin-coroutines-vs-threads-memory-benchmark.html
Платформа: Android
Корутины Kotlin часто называют облегченными потоками. Причина в том, что теоретически корутина может потреблять меньше памяти, чем поток. К сожалению, официальных цифр в этом контексте я не встречал, поэтому решил создать бенчмарк для количественной оценки разницы в потреблении памяти потоками и корутинами в приложениях для Android. В этой заметке я расскажу об основных идеях и проблемах, лежащих в основе этого бенчмарка, а также поделюсь его результатами.
Статья: https://apptractor.ru/info/articles/kotlin-coroutines-vs-threads-memory-benchmark.html
Платформа: Android
👍2
BeepBeep - это платформа для доставки еды и заказа такси, призванная продемонстрировать возможности Kotlin. В ней есть мобильные приложение для пользователей, приложения для управления рестораном, приложения для водителей, для доставщиков - все это для iOS и Android на Compose Multiplatform. Есть приложение с дашбордами на нем же для Mac, Linux и Windows, приложение для поддержки. Есть несколько микросервисов на Kotlin с Ktor для поддержки всего этого.
BeepBeep на GitHub: https://github.com/TheChance101/beep-beep
Платформа: Android/кроссплатформа
⭐️: 413
BeepBeep на GitHub: https://github.com/TheChance101/beep-beep
Платформа: Android/кроссплатформа
⭐️: 413
👍1🔥1
Делаем первый App Shortcut
Одна из моих любимых особенностей создания действий приложения с помощью AppIntents - простота создания прототипов. Я могу пройти путь от идеи до работающего действия менее чем за час. В этом руководстве я расскажу вам о том, как создать первое действие для приложения Shortcuts.
Статья: https://apptractor.ru/info/articles/delaem-pervyy-app-shortcut.html
Платформа: iOS
Одна из моих любимых особенностей создания действий приложения с помощью AppIntents - простота создания прототипов. Я могу пройти путь от идеи до работающего действия менее чем за час. В этом руководстве я расскажу вам о том, как создать первое действие для приложения Shortcuts.
Статья: https://apptractor.ru/info/articles/delaem-pervyy-app-shortcut.html
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
inshellisense предоставляет автозаполнение в стиле IDE для терминала. Это нативный рантайм с автодополнением, поддерживающий 600+ операторов командной строки. Поддерживает Windows, Linux и MacOS.
inshellisense на GitHub: https://github.com/microsoft/inshellisense
Платформа: разработка
⭐️: 1.7K
inshellisense на GitHub: https://github.com/microsoft/inshellisense
Платформа: разработка
⭐️: 1.7K
Chat - UI-фреймворк для чата с полностью настраиваемыми ячейками сообщений и встроенным медиа-пикером. Отображает сообщения с прокруткой, позволяет создавать и "отправлять" новые сообщения (под отправкой понимается вызов замыкания), позволяет передавать кастомный конструктор представлений для сообщений и ввода, имеет встроенную библиотеку выбора фотографий и видео, есть отображение полноэкранного меню при длительном нажатии на ячейку сообщения, есть поддержка функции "ответить на сообщение" через меню, поддержка записи голоса, видео/фото и текста.
Chat на GitHub: https://github.com/exyte/Chat
Платформа: iOS
⭐️: 334
Chat на GitHub: https://github.com/exyte/Chat
Платформа: iOS
⭐️: 334
👍3
BabaBASIC - интерпретатор QuickBASIC 4.5 для платформы Android.
BabaBASIC на GitHub: https://github.com/ianatha/bababasic/
Платформа: Android
⭐️: 55
BabaBASIC на GitHub: https://github.com/ianatha/bababasic/
Платформа: Android
⭐️: 55
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
•
(iOS Ru)
Паттерн Координатор для навигация в iOS-приложении•
(iOS En)
Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!•
(iOS En)
SwiftData Containers and Preview Data•
(iOS En)
Using SwiftUI and ReplayKit: Build an iOS Screen-Sharing App•
(iOS En)
Building Scrollable Tab View With New iOS 17 APIs•
(iOS En)
Building Complex Scroll Animations With New iOS 17 APIs•
(iOS En)
NSSpain XI Videos•
(And Ru)
Ошибки при проектировании публичного API наших библиотек, и как мы их решали•
(And En)
Practical magic with animations in Jetpack Compose•
(And En)
Compression Streams support on all browsers, Android’s New Credential Manager, and more dev news!•
(And En)
Are One-Time Events an Anti-Pattern? - Why Almost Every Android Dev Does It Wrong!•
(And En)
The Ultimate Guide to Android Splash Screen Animations – Splash API•
(Crs En)
KMPizza with Lena Stepanova•
(Dev Ru)
Podlodka #342: пишем язык внутри языка•
(Dev En)
Arduino Course for Everybody•
(Mrk Ru)
Как определить топ USP при запуске нового продуктаПоставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
AppTractor
Паттерн Координатор для навигация в iOS-приложении
В тестовых заданиях на позицию iOS Junior все чаще можно увидеть требование реализации навигации при помощью паттерна Координатор. О реализация и предотвращение возможных проблем рассказал в спринте «Координатор».
👍2
GitHub
GitHub - apple/swift-protobuf: Plugin and runtime library for using protobuf with Swift
Plugin and runtime library for using protobuf with Swift - apple/swift-protobuf
Язык программирования Swift компании Apple прекрасно дополняется технологией сериализации Protocol Buffer ("protobuf") компании Google. Они оба ориентированы на высокую производительность и безопасность программирования. В данном проекте Swift Protobuf представлена как утилита командной строки, добавляющая генерацию Swift-кода к Google protoc, так и рантайм библиотека, необходимая для использования сгенерированного кода.
Swift Protobuf на GitHub: https://github.com/apple/swift-protobuf
Платформа: iOS
⭐️: 4.3K
Swift Protobuf на GitHub: https://github.com/apple/swift-protobuf
Платформа: iOS
⭐️: 4.3K
👍1
10 быстрых советов по повышению качества iOS-кода: часть 1
1. Используйте паттерн расширения для группировки фрагментов кода
2. Определите максимальное количество строк в файле
3. Создавайте переменные и функции с описательными именами
4. Используйте преимуществ typealias
5. Позаботьтесь о «неправильном пути».
6. Опишите принудительное разворачивание и индексы
7. Правильно работайте с конфиденциальной информацией
8. Избегайте дублирования кода
10. Используйте преимущества встроенных функций
Статья: https://apptractor.ru/develop/coding/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-1.html
Платформа: iOS
1. Используйте паттерн расширения для группировки фрагментов кода
2. Определите максимальное количество строк в файле
3. Создавайте переменные и функции с описательными именами
4. Используйте преимуществ typealias
5. Позаботьтесь о «неправильном пути».
6. Опишите принудительное разворачивание и индексы
7. Правильно работайте с конфиденциальной информацией
8. Избегайте дублирования кода
10. Используйте преимущества встроенных функций
Статья: https://apptractor.ru/develop/coding/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-1.html
Платформа: iOS
AppTractor
10 быстрых советов по повышению качества iOS-кода: часть 1
Если вы хотите постоянно улучшать качество кода, вот несколько небольших советов, которые помогут вам на этом пути.
Вопросы с собеседований: зачем нужен класс nothing в Kotlin
Использование
Сниппет: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-zachem-nuzhen-klass-nothing-v-kotlin.html
Платформа: Android
Использование
Nothing
помогает улучшить безопасность типов в Kotlin, так как компилятор может обнаружить, если вы пытаетесь использовать значение из функции, которая должна завершиться исключением или бесконечным циклом.Сниппет: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-zachem-nuzhen-klass-nothing-v-kotlin.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Orbital - библиотека анимации Jetpack Compose, позволяющая реализовать Движение, Трансформацию и Переход между общими элементами. Эта библиотека поддерживает и Kotlin Multiplatform (Android, iOS, Desktop, macOS и js).
Orbital на GitHub: https://github.com/skydoves/Orbital
Платформа: Android
⭐️: 791
Orbital на GitHub: https://github.com/skydoves/Orbital
Платформа: Android
⭐️: 791