Мобильная разработка
4.18K subscribers
169 photos
23 videos
1 file
234 links
@haarrp - admin

@itchannels_telegram - 🔥лучшие ит-каналы

@javascriptv - продвинутый javascript

@JavaScript_testit- js тесты

@programming_books_it - бесплатные it книги

@ai_machinelearning_big_data - ml
Download Telegram
🍏 Пишите код на Swift так, как это делает Apple.

Для языка программирования Swift существует множество правил. Например, компания AirBnB предлагает следующую кодовую конвенцию:

— Для именования типов и протоколов используется PascalCase, а для всего остального — lowerCamelCase.
— Булевым значениям даются имена вроде isSpaceShip или hasSpacesuit, чтобы было ясно, что это именно булевы значения, а не какие-то другие.

Но лучший подход для разработки на Swift — это стиль самой компании Apple. Вот несколько полезных советов, которые помогут улучшить читаемость вашего кода:

— Имена переменных должны быть короткими и осмысленными.
— Использование префиксов для идентификации значений внутри массивов.
— Оставляйте комментарии только там, где они действительно необходимы.
— Применяйте методы расширения, когда это уместно.
— Старайтесь писать максимально лаконичный и понятный код.

🔗 Оригинал статьи
🔗 Перевод

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
Media is too big
VIEW IN TELEGRAM
⚡️ Используем шаблон Builder в Kotlin

Шаблон проектирования Builder помогает строить сложные объекты поэтапно. Насколько он подходит для Kotlin?

Автор ролика рассматривает классический вариант этого шаблона и показывает, как его можно усовершенствовать с помощью особенностей Kotlin и библиотек.

00:00 — Начало
00:18 — Пример кода
02:01 — Классическая версия шаблона
05:02 — Обновление шаблона в Kotlin
09:15 — Заключение

🔗 Источник
👍31🔥1
👩‍💻 MusicRecognizer — это открытый проект для распознавания музыки, разработанный на языке Kotlin для Android! Приложение использует сервисы AudD и ACRCloud для идентификации музыкальных треков и Odesli для получения ссылок на треки на различных музыкальных платформах

🔍 Основные функции:

🌟 Распознавание музыки с возможностью сохранения записи при отсутствии интернета

🌟 Фоновое использование через панель уведомлений или виджеты

🌟 Отображение информации о треке, включая текст, обложку, ссылки на популярные сервисы

🌟 Библиотека распознанных треков с возможностью фильтрации и поиска

💡 Приложение построено на архитектуре MVVM, использует Jetpack Compose для UI и Kotlin Coroutines для асинхронной обработки данных

🔐 Лицензия: GPL-3.0

🖥 Github

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
Forwarded from Machinelearning
🌟 PocketPal AI: локальный запуск LLM на IOS и Android.

PocketPal AI - проект Ai-ассистента на базе SLM, которые запускаются локально на iOS и Android без необходимости подключения к Интернету:

🟢PocketPal AI для iOS в App Store

🟢PocketPal AI для Android в Google Play

Приложения на обеих платформах позволяет выбирать модели, настраивать параметры инференса (системный промпт, температура, шаблоны чата и BOS), следить за показателями производительности в реальном времени и имеют функцию автоматической выгрузки моделей из памяти устройства, когда приложение в фоновом режиме.

Список моделей в приложении (загружаются вручную из меню):

🟠H2O Danube 2 and 3;
🟠Microsoft Phi;
🟠Google Gemma 2;
🟠Qwen.

Помимо этих моделей, можно загрузить любую модель в формате GGUF через опцию "Add Local Model" в меню моделей приложения на устройстве.

В планах проекта расширение списка поддерживаемых моделей, улучшение функций пользовательского интерфейса и поддержка большего количества версий Android/

⚠️ Требования для локальная разработки проекта PocketPal:

🟢Xcode для iOS или Android Studio;
🟢Node.js версии 18 или выше;
🟢Yarn;
🟢React Native CLI.

▶️ Локальная установка и запуск для самостоятельной разработки :

# Clone repository
git clone https://github.com/a-ghorbani/pocketpal-ai
cd pocketpal-ai

# Install dependencies
yarn install

# Install dependencies iOS only
cd ios
pod install
cd ..

# Run App via iOS Simulator
yarn ios

# Run App via Android Simulator
yarn android


📌Лицензирование: MIT License.


🖥GitHub

@ai_machinelearning_big_data

#AI #ML #SLM #iOS #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2👍1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Создавайте ПОЛНОЦЕННЫЕ ПРИЛОЖЕНИЯ всего по текстовому запросу — и это займёт всего лишь полминуты!

С помощью сервиса Bolt вы можете собрать веб-приложение, даже если совсем не разбираетесь в программировании.

Всё просто: достаточно описать свою идею, например, «создай аналог Дискорда», и всё будет сделано автоматически. Приложение можно сразу протестировать в песочнице, поручить ИИ внести дополнительные изменения и доработать код.

После этого остаётся нажать кнопку «Deploy», и ваше приложение станет доступно всем пользователям. Более того, использовать сервис можно совершенно БЕСПЛАТНО.

Забираем имбу тут.
👍3🤯1
👩‍💻 Эта статья вводит в основы эксплуатации Android-приложений и описывает задачи из HackTheBox, которые фокусируются на уязвимостях Android. Она охватывает инструменты и методы для анализа приложений, выявления слабых мест, таких как уязвимости в конфигурации и хранении данных, а также демонстрирует практики для исследования безопасности мобильных приложений на Android.

🔗 Ссылка: *клик*

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
🥷 WhatsApp Spy — это приложение для захвата переписок жертвы и логирования времени, когда она открывает WhatsApp / Whatsapp Business. Оно также поддерживает Instagram и Facebook Messenger, отправку журналов в Discord или Telegram без переадресации портов.

🖥 Github

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1
Курс Начинающий iOS разработчик - Beginner iOS Developer

1. Как создавать приложения для iOS?
2. Xcode 10 Основы работы, симулятор iPhone
3. Основные элементы Storyboard Xcode 10
4. Основы ООП, классы, переменные и константы в Swift 4
5. Создание экранов, Navigation Controller, Segue
6. Auto layout, Constraints Xcode - Верстка экрана iOS Приложения
7. TabBar Controller + Как добавить шрифты в проект iOS
8. UICollectionView - Как создать фотогалерею iOS
9. UICollectionView - Часть 2 - FullScreen & Zooming
10. UITableView - Часть 1 - Таблица с настройками, UserDefaults

#video #mobile #swift

https://www.youtube.com/watch?v=Nd8t60o7tIg&list=PLRJuPW6BGThvPVkbTua6i2TKomig76b2K&ab_channel=iCodeSchool
👍42
🖥 Rush — это Android-приложение для поиска, сохранения и обмена текстами песен, аналогично функции отображения текстов в Spotify! Оно предназначено для пользователей, которым важно иметь доступ к текстам песен и возможность их делиться, несмотря на ограничения бесплатной версии Spotify, где эта функция отсутствует.

🔍 Возможности:

⭐️ Поиск текстов песен с автозаполнением, если песня уже играет на устройстве.

⭐️ Сохранение и синхронизация текстов.

⭐️ Функции для загрузки, обмена и настройки интерфейса отображения текстов песен.

🔐 Лицензия: GPL-3.0

🖥 GitHub

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
🖥 ComposeChangelog — библиотека для создания и управления файлами истории изменений (changelog) в Android-приложениях на базе Jetpack Compose!

⭐️ Основное назначение этой библиотеки — упрощение интеграции журналов изменений в приложения, что позволяет автоматизировать управление их обновлениями и предоставлять пользователям список новых функций или исправлений после каждого обновления.

🔐 Лицензия: Apache-2.0

🖥 GitHub

@mobdevelop
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2❤‍🔥1
⚡️ Как создавать мобильные приложения, которые приносят $3,000 в день

Четыре года назад я принял решение начать свой стартап и занялся разработкой мобильных приложений. К 20 сентября прошлого года мои приложения стали приносить свыше $3,000 ежедневно, причем большая часть дохода приходилась на iOS. Но буквально на следующий день Apple удалила все мои приложения из App Store и заблокировала мой аккаунт.

Я пытался оспорить это решение, подавал апелляции, предоставлял доказательства, скриншоты и даже направил досудебную претензию, однако ответа практически не последовало. Теперь я подал иск против Apple, и доступ к рынку iOS для меня сейчас закрыт.

Не хочу жаловаться, скорее, хочу поделиться своим опытом о том, как простые идеи помогли мне достичь значительного успеха. Надеюсь, кто-то найдет эту информацию полезной и сможет избежать тех ошибок, которые допустил я.

📌 Читать тред

@mobdevelop
🤮4🔥2💩21👍1🤡1
🔥 Почему UGC-креативы — лучший выбор для продвижения приложений 🔥

UGC-креативы — те самые ролики, где вместо дорогих продакшн-сцен юзер видит реальную жизнь, а вы получаете больше дешевых триалов и реальный прирост установок. Отличный способ масштабировать user acquisition и попасть в сердечко аудитории!

🔥 В JOY ADS мы создаем UGC-креативы для мобильных апок — от гейминга до финтеха — в 25+ странах, успешно работая с YanGo, inDrive и Axlebolt и другими топ брендами.

Мы берем на себя все: от подбора креаторов до монтажа, от сценариев до ресайзов для разных платформ.
Наши кейсы тут

Почему бы не добавить UGC-креативы в вашу кампанию в TikTok, Meta, Google Ads, VK или РСЯ?

🎁Пиши @LeonelaJoy и забирай бесплатную консультацию по вашей вертикали + 10% скидку на первый UGC-запуск 🎏

Перешли этот пост своему UA-менеджеру — и в новом году тебя будут ждать низкий CPA, высокий ROAS и бесконечный поток инсталов!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🍏 fileprivate vs private

🔹 Свойство fileprivate может быть прочитано в любом месте того же файла Swift, но не за его пределами.

🔹 Свойство private можно прочитать только внутри типа, в котором оно было объявлено (а также в расширениях этого типа в том же файле).

Подробнее о private и fileprivate здесь.
#Swift #iOS
👍1
Sword — инъекция зависимостей во время компиляции

Это библиотека для инъекции зависимостей во время компиляции для Swift, вдохновленная Dagger.

Когда вы объявляете зависимости и указываете, как их удовлетворить, используя Swift Macros, Sword автоматически генерирует код инъекции зависимостей во время компиляции. Sword просматривает ваш код и проверяет графы зависимостей, гарантируя, что все зависимости объекта могут быть удовлетворены, что исключает ошибки в рантайме.

https://github.com/rockname/sword
1
В бета-версии iOS 18.2 появилась опция менять дефолтные приложения. Можно устанавливать свой мессенджер, приложение для звонков, почту и менеджер паролей.

Пока iPhone видит только альтернативные клиенты почты. Мы заменили на Gmail — теперь если в любом приложении нажать на чей-то электронный адрес, открывается именно он.

В теории это значит, что Siri с Apple Intelligence будет полезной в поиске данных из сторонних приложений, а не только из iCloud. Но узнаем мы это только после релиза операционки.
👍2🤯1
🌟 GitHubVerge — мощная библиотека для управления состоянием

Verge представляет собой высокоэффективную и масштабируемую библиотеку для управления состоянием приложений на Swift. Разработана с акцентом на реальные сценарии использования, она обеспечивает удобный и интуитивный подход к управлению состоянием приложения, избегая сложностей, связанных с действиями и редукторами. Verge совместим как с UIKit, так и со SwiftUI.

📌 Github

#ios #mobile
🔥3👍21🥰1
Forwarded from Machinelearning
🍏 MobileCLIP: Fast Image-Text Models through Multi-Modal Reinforced Training

Apple выпустила невероятно быстрые модели Core ML и приложение для iOS, позволяющее запускать их на iPhone!

Эти модели можно подключить к демо приложению, представленному в официальном репозитории MobileCLIP.

> S0 соответствует ViT-B/ 16 от OpenAI, но в 4,8 раза быстрее и в 2,8 раза меньше размером.

> S2 превосходит ViT-B/16 от SigLIP в 2,3 раза, при этом в 2,1 раза меньше по размеру, при этом используется для обучения в 3 раза меньше данных.

> MobileCLIP-B(LT) достигает 77,2%-ную точность обработки изображений, превосходя DFN, SigLIP и даже ViT-L/14@336 от OpenAI

conda create -n clipenv python=3.10
conda activate clipenv
pip install -e .


Пример использования:

Python
import torch
from PIL import Image
import mobileclip

model, _, preprocess = mobileclip.create_model_and_transforms('mobileclip_s0', pretrained='/path/to/mobileclip_s0.pt')
tokenizer = mobileclip.get_tokenizer('mobileclip_s0')

image = preprocess(Image.open("docs/fig_accuracy_latency.png").convert('RGB')).unsqueeze(0)
text = tokenizer(["a diagram", "a dog", "a cat"])

with torch.no_grad(), torch.cuda.amp.autocast():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
image_features /= image_features.norm(dim=-1, keepdim=True)
text_features /= text_features.norm(dim=-1, keepdim=True)

text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)

print("Label probs:", text_probs)



HF
Github
Результаты модели

@ai_machinelearning_big_data

#apple #coreml #mobile
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥1